權限是爲了確定某一職責的有效履行,在操作系統中的權限是爲了確保操作系統的安全和存儲數據的完整性;文件權限的設定是爲了確定哪些用戶可以訪問那些文件,如果可以訪問以何種身份對文件進行訪問,訪問文件時可以執行那些權限等.
下面詳細說一下用戶和文件各自的權限及這些權限的使用方法:
一、文件的權限:
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選項,將目錄下的所有文件全部更改。