權限管理番外(1)
1、chmod(change the permissions mode of a file)改變文件或目錄權限
- chmod [{ugo}{+-=}{rwx}] [文件或目錄]
- chmod [mode=421] [文件或目錄]番外(2)
- chmod u+x file **增加權限
- chmod g-r file **減少權限
- chmod o=rw file **授權,不管之前是什麼權限,現在就是rw
- chmod 754 file
2、chown(change file ownership) 改變文件或目錄的所有者
- chown [用戶] [文件或目錄]
- chown nobody file
3、chgrp(change file group ownership)改變文件或目錄的所屬組
- chgrp [用戶組] [文件或目錄]
- chgrp adm file
4、umask 顯示、設置文件的缺省權限番外(3)
- umask -S 以rwx形式顯示新建文件或目錄缺省權限
- umask
- umask -S
番外
**(1)文件和目錄的權限具體指的是什麼(或者說不同的權限代表我們可以做什麼樣的操作)?
- | r 讀權限 | w 寫權限 | x 執行權限 |
---|---|---|---|
文件 | cat、more、head、tail | echo、vi 只代表可修改,並不包括創建刪除 | 執行命令、腳本等 |
目錄 | ls | touch、mkdir、rm 可以在目錄裏創建刪除文件 | cd |
思考:目錄 dir 的權限爲 drwxr-xr-x,文件 file 的權限爲 -rwxrwxrwx,那麼所屬組 g 是否可以刪除文件 file?
答案:不能,不知道爲什麼的話就好好琢磨一下上面的表格吧
(2)chmod 754 file
- 一個數字代表一個角色
- r=4;w=2;x=1,計算機的思維
(3)umask
- 創建目錄的默認權限 0022
- 0-特殊權限位番外(4)
- 022-用戶權限位,權限掩碼值(也就是umask是從權限中“拿走”相應的位)
權限掩碼值計算:
777 - 022 = 755
- 創建文件的默認權限 0022
- 0-特殊權限位
- 022-用戶權限位,權限掩碼值
權限掩碼值計算:
666 - 022 = 644
- 爲什麼掩碼值相同權限不同?
- linux權限規則:
缺省創建的文件不能授予可執行x權限,可屏蔽木馬病毒等 - 常用umask值與權限
- linux權限規則:
umask值 | 文件 | 目錄 |
---|---|---|
022 | 644 | 755 |
027 | 640 | 750 |
002 | 664 | 775 |
006 | 660 | 771 |
007 | 660 | 770 |
(4)特殊權限位
有以下幾種權限:
解析 | SetUID | SetGID | 黏着位t |
---|---|---|---|
使用 | u+s | g+s | o+t |
代表數值 | 4 | 2 | 1 |
含義 | 若一個可執行程序具有SetUID權限,用戶執行這個程序時,將以這個程序所有者的身份(root)執行 | 所屬組 | 如果一個權限爲777的目錄設置了黏着位,每個用戶都可以在這個目錄下創建文件,但是只可以刪除自己是所有者的文件 |