1.5
目錄的權限與文件的權限有着很大的不同
目錄權限:
r w x
可以列出該目錄中的的文件 可以在該目錄中創建和刪除文件 可以搜索或進入該目錄
如果把同組用戶或其他用戶針對某一目錄的權限設置成 --x 那麼他們將無法列出該目錄中的文件,但是如果該目錄中存在一個可執行的腳本或程序,只要用戶知道其路徑和文件名,仍然可以執行他,也就是說 用戶不具有查看權限但並不妨礙他的執行。
目錄的權限還有一個注意的地方,那就是目錄的權限將會覆蓋該目錄中文件的權限,例如:
以下爲test 目錄的權限
drwxr--r-- 2 root root 4096 05-22 11:58 test
而而其中myfile文件的權限爲
-rwxrw-rw- 1 root root 0 05-22 00:17 file
那麼root組的用戶將無法編輯該文件,因爲它所在的目錄不具有這樣的權限
1.6 suid/guid
suid意味着如果某個用戶對屬於自己的shell腳本設置了這種權限,那麼其他用戶在執行這一腳本時也會具有其屬主的相應權限,所以,如果跟用戶(root)的某一腳本設置了這樣的權限,那麼其他的普通用戶在執行它的期間也具有根(root)用戶的權限。
同樣的原則也是由於guid。
設置suid :
在權限爲之前的一位設置成爲4
設置guid
在權限爲之前的一位設置成爲2
兩者都置位:
在權限爲之前的一位設置成爲4+2
如果一旦設置了這以爲 那麼一個s將出現自x的位置上(在設置suid或guid的同時,相應的權限位必須被設置) 例如,如果希望設置guid 那麼必須讓該用戶組具有執行權限
例如:下面的hello文件需要設置suid 當前權限爲(764) -rwxrw-r-- 1 root root 0 05-22 18:58 hello
那麼在使用chmod命令是在該權限數字前加一個4 即#chmod 4764 hello
這樣該文件的權限變爲:-rwsrw-r-- 1 root root 0 05-22 18:58 hello 即屬主權限x位變爲s
把word文件設置guid 當前文件權限爲(774) -rwxrwxr-- 1 root root 0 05-22 19:01 word
那麼在使用chmod命令是在該權限數字前加一個2 即#chmod 2774 word
這樣該文件的權限變爲 :-rwxrwsr-- 1 root root 0 05-22 19:01 word 即同組用戶權限x位變爲s
可以使用符號來設置suid/guid
例如上面hello文件權限 rwxrw-r-- 1 root root 0 05-22 18:58 hello
那麼下面命令可以設置其suid
#chmod u+s hello
如果你會看到這樣的權限文件-rwSrw-r-- 1 root root 0 05-22 18:58 hello 其中S爲大寫
它表示相應的執行權限位未被設置 這是一種沒有什麼用處的suid設置 可以忽略它的存在
1.7 chown 和 chgrp
當你創建一個文件時,你就是該文件的屬主。一旦你擁有某個文件,就可以改變它的所有權,把它的所有權交給另外一個etc/passwd文件中存在的合法用戶,在改變一個問津的所有權時,相應的suid也將被清除。只是處於安全性的考慮。只要文件屬主和系統管理員可以改變文件的所有權。一旦將文件的所有權交給另外一個用戶 ,就無法再重新收回它的所有權 ,只有求助於系統管理員。
chown舉例:(# chown box hello)
# ls -l
總計 8
-rwsrw-r-- 1 root root 0 05-22 18:58 hello
# chown box hello
#ls -l
總計 8
-rwxrw-r-- 1 box root 0 05-22 18:58 hello
文件hello的所有權現在由root用戶交給了box用戶
chgrp舉例:
-rwxrw-r-- 1 box root 0 05-22 18:58 hello
#chgrp admin hello
#ls -l
-rwxrw-r-- 1 box admin 0 05-22 18:58 hello
用戶box現在把hello文件所屬的組由root變爲admin