文件的權限
修改文件的屬主和屬組
chown
功能:更改屬主命令,同時也能更改屬組
用法:
-
chown 選項 [屬主名][:屬組名] 文件名 (分隔符改成.也行)
-
chown 選項 參考的文件=要更改的文件
-
chown [OPTION]… –reference=RFILE FILE…
-
-R或–recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
注意:
chown 用戶名 文件名———————表示設置文件的所屬主吧
chown 用戶名: 文件名——————-表示設置文件的所屬主和跟所屬主相同的所屬組
chown 用戶名:組名 文件名 —————表示設置文件的屬主屬組
chown :組名 文件名 ———————-表示設置文件的屬組
chgrp
功能:修改文件的屬組
用法:
chgrp [選項] 文件名
chgrp [選項]… –reference=參考文件名 要修改的文件名…
-R 遞歸
文件的權限:
文件:
r: 可使用文件查看類工具獲取其內容
w: 可修改其內容
x: 可以把此文件提請內核啟動為一個進程
目錄:
r: 可以使用ls查看此目錄中文件列表
w: 可在此目錄中創建文件,也可刪除此目錄中的文件
x: 可以使用ls -l查看此目錄中文件列表,可以cd進入此目錄
X:只給目錄x權限,不給文件x權限
umask
功能說明:指定在建立文件時預設的權限掩碼。
用法:
umask #: 設定
補充:umask是補碼模式
新建FILE權限: 666-umask
如果所得結果某位存在執行(奇數)權限,則將其權限+1
新建DIR權限: 777-umask
這種只對當前shell有效
全局設置: /etc/bashrc 用戶設置:~/.bashrc
chmod
功能說明:變更文件或目錄的權限。
語 法:chmod
[-cfRv][–help][–version][<權限范圍>+/-/=<權限設置…>][文件或目錄…] 或
chmod [-cfRv][–help][–version][數字代號][文件或目錄…] 或 chmod
[-cfRv][–help][–reference=<參考文件或目錄>][–version][文件或目錄…]
權限范圍:
u:User,即文件或目錄的擁有者。
g:Group,即文件或目錄的所屬群組。
o:Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬于這個范圍。
a:All,即全部的用戶,包含擁有者,所屬群組以及其他用戶。
選項:
-c或–changes 效果類似"-v"參數,但僅回報更改的部分。
-f或–quiet或–silent 不顯示錯誤信息。
-R或–recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
-v或–verbose 顯示指令執行過程。
–reference=<參考文件或目錄> 把指定文件或目錄的權限全部設成和參考文件或目錄的權限相同<權限范圍>+<權限設置> 開啟權限范圍的文件或目錄的該項權限設置。
<權限范圍>-<權限設置> 關閉權限范圍的文件或目錄的該項權限設置。
<權限范圍>=<權限設置> 指定權限范圍的文件或目錄的該項權限設置。
用法:
設置文件權限方法1 [root@qzx ~]# ll user.txt -rw-r--r--. 1 root root 80 Aug 1 16:54 user.txt [root@qzx ~]# chmod g-r user.txt You have new mail in /var/spool/mail/root [root@qzx ~]# ll user.txt -rw----r--. 1 root root 80 Aug 1 16:54 user.txt
設置文件權限方法2 [root@qzx ~]# chmod 777 user.txt [root@qzx ~]# ll user.txt -rwxrwxrwx. 1 root root 80 Aug 1 16:54 user.txt
以參考文件設置目標文件 [root@qzx ~]# ll passwd.txt -rw-r--r--. 1 root root 26 Aug 1 16:56 passwd.txt [root@qzx ~]# chmod --reference=passwd.txt user.txt [root@qzx ~]# ll user.txt -rw-r--r--. 1 root root 80 Aug 1 16:54 user.txt
linux文件系統上的特殊權限
基礎介紹:
1、 SUID, SGID, Sticky
2、 三種常用權限:r, w, x user, group, other
3、 安全上下文
4、 前提:進程有屬主和屬組;文件有屬主和屬組
(1) 任何一個可執行程序文件能不能啟動為進程:取決發起者
對程序文件是否擁有執行權限
(2) 啟動為進程之后,其進程的屬主為發起者;進程的屬組為
發起者所屬的組
(3) 進程訪問文件時的權限,取決于進程的發起者
(a) 進程的發起者,同文件的屬主:則應用文件屬主權限
(b) 進程的發起者,屬于文件屬組;則應用文件屬組權限
(c) 應用文件“其它”權限
SUID權限
可執行文件上SUID權限
1、 任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限
2、 啟動為進程之后,其進程的屬主為原程序文件的屬主
3、 SUID只對二進制可執行程序有效
4、 SUID設置在目錄上無意義
5、 權限設定:
chmod u+s FILE…
chmod u-s FILE..
chmod 4xxx FILE…
SGID權限
可執行文件上SGID權限
1、 任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限
2、 啟動為進程之后,其進程的屬組為原程序文件的屬組
3、 權限設定:
chmod g+s FILE…
chmod g-s FILE…
chmod 2xxx FILE…
2、目錄上的SGID權限
1、 默認情況下,用戶創建文件時,其屬組為此用戶所屬的主組
2、 一旦某目錄被設定了SGID,則對此目錄有權限的組用戶在此目錄中創建的文件所屬的組為此目錄的屬組
3、 通常用于創建一個協作目錄
4、 權限設定:
chmod g+s DIR…
chmod g-s DIR…
chmod 2xxx FILE…
用處:可以創建一個SGID的組,給組設置權限后組中所有成員在此目錄創建的文件的屬組都將屬于SGID的組
[qzx@localhost 2770]$ ll -d ../2770/ drwxrws---. 2 xiaoming xiaoming 27 8月 4 12:11 ../2770/ [root@localhost qiuzhaoxian]# su qzx qzx@localhost 2770]$ touch qzcx [qzx@localhost 2770]$ mkdir qiun [qzx@localhost 2770]$ ll 總用量 0 drwxrwsr-x. 2 qzx xiaoming 6 8月 4 12:14 qiun -rw-rw-r--. 1 xiaoming xiaoming 0 8月 4 12:10 qww -rw-rw-r--. 1 qzx xiaoming 0 8月 4 12:11 qzcx
t權限
Sticky 位
1、 具有寫權限的目錄通常用戶可以刪除該目錄中的任何文件,無論該文件的權限或擁有權
2、 在目錄設置Sticky 位,只有文件的所有者或root可以刪除該目錄內的文件
3、 sticky 設置在文件上無意義
4、 權限設定:
chmod o+t DIR…
chmod o-t DIR…
chmod 1xxx FILE…
例如:
[qzx@localhost 2770]$ ll -d /tmp drwxr-xr-t. 19 root root 4096 8月 4 12:05 /tmp
權限位映射
1、 SUID: user,占據屬主的執行權限位
s: 屬主擁有x權限
S:屬主沒有x權限
2、 SGID: group,占據屬組的執行權限位
s: group擁有x權限
S:group沒有x權限
3、 Sticky: other,占據other的執行權限位
t: other擁有x權限
T:other沒有x權限
提示:如果出現大寫字母就是故障狀態
其他
設定文件特定屬性
1、 chattr +i 不能刪除,改名,更改
2、 chattr +a 只能增加
3、 lsattr 顯示特定屬性
1、用chattr +i防止系統中某個關鍵文件被修改添加或刪除
[root@VM_18_121_centos ~]# chattr -R +i qin [root@VM_18_121_centos ~]# lsattr qin/ ----i----------- qin/qzx ----i----------- qin/qzxa [root@VM_18_121_centos ~]# echo qweqwww > qin/qzx -bash: qin/qzx: Permission denied [root@VM_18_121_centos ~]# touch qin/qwer touch: cannot touch 'qin/qwer': Permission denied [root@VM_18_121_centos ~]# rm -rf qin/* rm: cannot remove 'qin/qzx': Permission denied rm: cannot remove 'qin/qzxa': Permission denied
2、讓某個文件只能往里面追加數據,但不能刪除,適用于各種日志文件:
[root@VM_18_121_centos ~]# chattr -R +a qin [root@VM_18_121_centos ~]# lsattr qin/ -----a---------- qin/qzx -----a---------- qin/qzxa [root@VM_18_121_centos ~]# echo eawdqwdq > qin/qzx -bash: qin/qzx: Operation not permitted [root@VM_18_121_centos ~]# echo eawdqwdq >> qin/qzx [root@VM_18_121_centos ~]# rm -rf qin/qzx rm: cannot remove 'qin/qzx': Operation not permitted
原創文章,作者:qzx,如若轉載,請注明出處:http://www.www58058.com/28777
總結的很好,排版也很精美。再接再勵