標籤:linux許可權
權限物件:
屬主:u
屬組:g
其他人: o
所有人:a
Linux基本許可權
讀:read 標識為:r 八進位標識為:4
寫:write 標識為:w 八進位標識:2
執行:execution 標識為:x 八進位標識:1
特殊許可權
setuid:僅對檔案(可執行檔二進位程式)有效,以檔案的所有者身份執行 八進位表現為:4
[[email protected] tmp]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 Feb 22 2012 /usr/bin/passwd
passwd命令,普通使用者沒有許可權執行,但每個使用者都可以使用passwd修改自己的密碼,因為passwd命令上有setuid,passwd命令的所有者是root,所以普通使用者在執行passwd命令時,使用root的身份執行改命令。
setgid:僅對目錄有效 八進位表現為:2
任何使用者在某個目錄下建立的檔案,檔案的屬組都屬於該目錄建立者所屬的組
sticky(粘滯位):該許可權可以理解成防刪除許可權 八進位表現為:1
如果某個檔案或目錄不想讓許可權刪除的使用者刪除,設定許可權,就算使用者有777許可權,也無法刪除該檔案或目錄
##################################################################
如果想設定setuid、setgid 、sticky(粘滯位)這些特殊許可權,在原有3組8進位數字最前面再添加一組八進位
如4644,2755,1700就可以對目錄或檔案設定相關特殊許可權
##############################################################
此段為轉載:原文地址:http://www.cnblogs.com/qlwy/archive/2011/06/26/2121919.html
設定完這些標誌後, 可以用 ls -l 來查看. 如果有這些標誌, 則會在原來的執行標誌位置上顯示. 如
rwsrw-r-- 表示有setuid標誌
rwxrwsrw- 表示有setgid標誌
rwxrw-rwt 表示有sticky標誌
那麼原來的執行標誌x到哪裡去了呢? 系統是這樣規定的, 如果本來在該位上有x, 則這些特殊標誌顯示為小寫字母 (s, s, t). 否則, 顯示為大寫字母 (S, S, T)
################################################################
基本許可權對目錄和檔案的影響
檔案
讀:可以查看檔案的內容
寫:可以變更檔的內容或刪除檔案(刪除檔案除了對檔案有寫的許可權,還需要對檔案所在的目錄有寫的許可權)
執行:可以將該檔案發起成一個進程(Linux系統預設,檔案都沒有執行許可權,)
目錄
讀:可以查看目錄內的檔案清單,如ls 該目錄,但不能使用ls -l選項
寫:在目錄內建立檔案,可以刪除目錄本身(刪除目錄裡面的檔案,需要看檔案的具體許可權)
執行:可以進入該目錄,如ls -l 或cd進去
######################################################################################
UGO傳統許可權(rwx):只能一個使用者,一個組和其他人
ACL: UGO許可權的擴充
概許可權可以自由控制每一個使用者對同一個檔案或目錄的許可權。
如:text組裡有tom和jak兩使用者,/tmp目錄下有一個叫aa的檔案,屬主屬組都屬於root,其他人預設沒有任何許可權,需求是:tom對該檔案有讀寫權限,jak對該檔案只有讀許可權,而傳統的UGO許可權無法做到。
######################################################################################
[[email protected] ~]# getfacl aa
# file: aa
# owner: root
# group: root
user::rw-
group::r--
other::r--
#########################################
以下是需求實現過程
[[email protected] ~]# setfacl -m u:tom:rw aa
[[email protected] ~]# setfacl -m u:jak:r aa
[[email protected] ~]# getfacl aa
# file: aa
# owner: root
# group: root
user::rw-
user:tom:rw-
user:jak:r--
group::r--
mask::rw-
other::r--
############################################
[[email protected] tmp]$ echo tom >> aa
[[email protected] tmp]$ cat aa
tom
[[email protected] tmp]$ echo jak >> aa
-bash: aa: Permission denied
[[email protected] tmp]$ cat aa
tom
############################################
setfacl 設定ACL許可權位
getfacl 查看ACL許可權位
命令具體其他使用方法及其他相關解釋,請man或者Google
本文出自 “懸劍” 部落格,請務必保留此出處http://sublime.blog.51cto.com/8856101/1434127