權限是為了确定某一職責的有效履行,在作業系統中的權限是為了確定作業系統的安全和存儲資料的完整性;檔案權限的設定是為了确定哪些使用者可以通路那些檔案,如果可以通路以何種身份對檔案進行通路,通路檔案時可以執行那些權限等.
下面詳細說一下使用者和檔案各自的權限及這些權限的使用方法:
一、檔案的權限:
1.檔案的一般權限
-r 可讀
-w 可寫
-x 可執行
- 無任何權限
2.檔案的特殊權限:
-t 獨立管理權限;一般用在FTP伺服器中,擁有次權限的目錄下邊的檔案,隻有建立者有對這個檔案處置的權限
-s 執行檔案時具有檔案屬主、屬組的權限
SUID
SGID
3.檔案權限的表示方式:
分為四段,十個字元:
檔案類型:屬主使用者權限u:屬組使用者權限g:其他使用者權限o
檔案類型有:
- 普通檔案
d 目錄檔案
b 塊裝置檔案
c 字元裝置檔案
g 套接字檔案
l 連結字檔案
每種使用者的通路權限分别以三個字元表示:rwx或-
-rwx-rw-r--:這個普通檔案的權限表示檔案屬主擁有讀寫執行的權限,檔案屬組使用者具有讀寫權限,其他使用者隻有可讀的權限
drwx--x--x:這個目錄檔案的權限表示這個目錄隻有屬主具有所有權限,其他使用者隻有可執行的權限;一般用在伺服器中,每個普通使用者的家目錄中隻有使用者自己擁有所有權限,其他使用者無任何權限
4.檔案權限的數字表示方法:
r 2^2=4
w 2^1=2
x 2^0=1
- 0=0
t 1
s 2,4(gid)
二、檔案權限管理器:chmod
Usage:# chmod {ugoa}+-={rwx} 檔案名

# chmod u+w test
對test檔案的屬主添加可寫的權限
# chmod a-x test
将所有使用者對檔案test的可執行權限删除
# chmod ug+x test
對檔案test的屬主和屬組添加可執行權限
# chmod 644 test
将檔案test的權限更改為644,即屬主擁有讀寫權限,屬組和其他使用者隻有可讀權限;此處切記要将三種使用者的權限寫全
如果要使用數字對檔案添加特殊權限,則需要四位數字表示:
# chmod 1755 dir
将目錄dir的權限更改為755,并添加特殊權限,此目錄下的檔案隻有建立者有處置權限
# chmod u+s test OR
# chmod 4764
# ls -l test
-rwsrw-r-- 此時檔案屬主的執行權限x更改為s
對檔案test設定特殊權限suid,使得在檔案執行時可以使用檔案屬主的權限;如/etc/passwd,普通使用者在更改自己的密碼時,對次檔案就有了屬主的權限;一般不建議使用此權限,範圍太大,安全性不高,建議使用sgid對使用者添加這個特殊權限
# chmod g+s test OR
# chmod 2774 test
對檔案test設定特殊權限sgid,使得在檔案執行時可以使用檔案屬組的權限;一般用在伺服器上,設定一組使用者對某執行檔案擁有可執行權限,并給與sgid權限,以後就不用登入管理者即可完成某些任務,確定了伺服器的安全性
三、使用者權限:
超級管理者root權限,root在系統中對檔案擁有讀寫執行等一切權限,由于管理者權限太大,是以在實際工作中,不建議經常使用管理者root使用者對伺服器進行管理,而是對普通使用者進行權限下放來完成系統管理任務
普通使用者的權限:
在linux作業系統中,一切皆檔案(各種服務的配置檔案都已ASCII碼來儲存),是以普通使用者完成系統管理任務就是對檔案的通路和更改
r,w,x,t,s等等
四:檔案屬主和屬組
屬主屬組管理器:chown
Usage:# chown username filename 隻更改檔案屬主
# chown :groupname filename 隻更改檔案屬組
# chown username:groupname filename 更改檔案屬主和屬組
此時我們看到檔案12.sh的屬主和屬組都是root,我們就已12.sh為例
# chown mmm 12.sh
更改檔案12.sh的屬主為mmm
# chown :meng 12.sh
更改檔案12.sh的屬組為meng
# chown mmm:meng 12.sh
更改檔案12.sh的屬主為mmm,屬組為meng
如果更改的檔案是目錄,可以使用-R選項,将目錄下的所有檔案全部更改。