權限限制是針對非root用戶的
- root用戶是不受權限限制的
1. 查看文件權限的方法
ls -l [文件路徑]
- 1.類型:
-
普通文件,d
表示目錄文件,b
塊特殊文件(設備),c
字符特殊文件(終端),l
符號鏈接(快捷方式),f
命名管道(進程通信相關),s
套接字文件(進程通信相關); 文件創建之後類型就固定了不可以更改; - 權限字符:
r
:可讀;w
:可寫;x
:可執行; - 2,3,4 權限前三位: 創建文件的用戶對該文件有什麼權限
- 5,6,7 權限中間三位: 創建文件的用戶的用戶組對該文件有什麼權限
- 8,9,10 權限後三位: 其他用戶對該文件有什麼權限
r=4
,w=2
,x=1
- 目錄權限的表示方法:
x
可以進入目錄;rx
顯示目錄內的文件名;wx
修改目錄內的文件;
例圖:
2. 修改權限命令
2.1 chmod 修改文件/目錄權限
2.1.1 字符權限操作
chmod [被修改對象][操作符][權限] [文件路徑]
[被修改對象]
取值範圍(u,g,o,a) u=屬主, g=屬組, o=其他用戶, a=所有用戶[操作符]
取值範圍(+,-,=) +增加權限,-減少權限,=設置權限[權限]
取值範圍(r,w,x) 多個一起設置- 例1:
chmod u+x abcfile
abcfile的屬主新增執行權限 - 例2:
chmod u-r abcfile
abcfile的屬主減少讀取權限 - 例3:
chmod u=wx abcfile
abcfile的屬主權限設置爲 wx,r就沒有了
2.1.2 數字權限設置
chmod [數字權限] [文件路徑]
- 實際上權限就是3個3位的二進制數
111
111
111
和rwx rwx rwx
含義一樣- 那麼我們只需要直接給3個數字就可以代表賦予的權限了
- 例: 我們希望給
afile
文件rw- r-x --x
的權限 - 那麼轉化爲三個二進制數爲:
110 101 001
- 即:
6 5 1
- 那麼我們只需要執行:
chmod 651 afile
即可!
2.2 chown 更改屬主/屬組
chown [用戶名] [文件路徑]
修改文件的屬主chown :[用戶組名] [文件路徑]
修改文件的屬組
2.3 chgrp 可以單獨更改屬組,不常用
chgrp [用戶組名] [文件路徑]
修改文件的屬組
特殊權限
-
suid
用於二進制可執行文件, 執行命令時取得文件屬主權限
例:
必須以屬主的身份來執行 -
sgid
用於目錄,在該目錄下創建新的文件和目錄,權限自動改爲該目錄的屬組 -
sbit
用於目錄,該目錄下新建的文件和目錄,僅root和自己可以刪除
例:/tmp
-
修改特殊權限:
chmod 4xxx /afile
設置suid
權限
chmod 1xxx /afile
設置sbit
權限