Linux文件的權限
一、文件屬性的查看
用前面介紹的ls –l可以查看文件的屬性信息,ls –ld可以查看目錄的屬性信息
1、文件類型
- #普通文件
d #目錄
c #字符設備
s #套接字
p #管道
b #塊設備
l #連接
2、擁有者、所屬組、其他用戶的權限
- #代表對改文件或者目錄缺失的權限
r #對改文件有讀的權限
#對改目錄有讀的權限
w #對改文件有寫的權限
#對目錄是有增加刪除的權限
X #對文件有執行其文件內描述的動作的執行權利
#對目錄有進入的權利
3、”1”的意思
對文件:文件內容被記錄的次數
對目錄:目錄中文件屬性的字節數
4、第一個root的意思
對該文件的擁有者
5、第二個root的意思
改文件被擁有的組
6、10的意思
該文件內容的大小
7、Jul 18 20:56
文件最後一次被修改的時間
8、feitian
文件的名稱
二、對文件所有人、所屬組的管理
1、chown 命令
1》他可以修改用戶的擁有者
2》他可以同時修改用戶的所屬的組和其擁有者
3》他可以只修改組
所以基本用不到chgrp命令
1、chmod命令
1》用字符的修改方式
chmod u+r|w|x|file #表示給文件的擁有者增加讀或者寫或者執行file的權限
chmod u-r|w|x| file #表示刪除文件擁有者讀或者寫或者執行的file權限
chmod g+r|w|x /file #表示給文件所屬的組增加讀或者增加刪除或者進入file目錄的權限
chmod g-r|w|x /file #表示刪除文件所屬的組讀或者刪除增加阿或者進入file目錄的權限
chmod u+rw,g+rwfile #表示給文件的擁有者增加讀寫權限,給文件所屬的組
2》用數字的方式修改文件的權限
x #等價於x,它的值為1
w #等價於write,它的值為2
r #等價與read,他的值為4
rwx------>7
rw ------>6
rx ------>5
r ------>4
w ------>2
x ------>1
chmod 777 file #表示修改文件的擁有者,所屬的組,其他用戶對該文件有讀寫和執行的權限
chmod 777 /file #表示修改該目錄的擁有者,所屬的組,其他用戶對該目錄有讀增加刪除和進入的權限
用grep 過濾掉顯示的文件總數total,方便查看
1、chgrp命令
chgrp linux file #將文件的所屬的組修改為linux
三、修改系統默認創建的目錄和文件的權限
1、 文件和目錄默認的權限確定
1》文件的默認權限
666 減去umask 的值 #註意:如果umask的值大於666,該位置的權限就是0
2》目錄文件的默認權限
777減去umask的值
2、修改umask值
1》臨時修改umask值
umask+ 想要修改的umask值
2》永久修該umask值
修改/etc/profile中umask的值
59 if [ $UID -gt 199 ] && [ "`id-gn`" = "`id -un`" ]; then
60 umask 002 ##普通用戶umask
61 else
62 umask 077 ##超級用戶的umask
修改/etc/bashrc中的umask值
59 if [ $UID -gt 199 ] && [ "`id-gn`" = "`id -un`" ]; then
60 umask 002 ##普通用戶umask
61 else
62 umask 077 ##超級用戶的umask
註意:上述兩個文件的umask值必須保持一致,如果不同可能會出現錯誤。在修改完上述文件後用 "."或者"source" 執行source file讓系統重新加載文件內容
四、文件的訪問控制
1、acl定義
acl = accesscontrol,指定特時用戶對文件有特殊權力
2、命令setfacl,getfacl
1》getfacl
gerfacl + /file 查看目錄的特殊權力列表
2》setfacl
getfacl /westos/
#file: westos/ ##文件名稱
#owner: root ##文件所有人
#group: root ##文件所有組
user::rwx ##擁有者權限
user:student:rwx ##特殊用戶權限
group::--- ##組權限
mask::rwx ##權限掩碼,文件的最大權限
other::--- ##其他人權限
註意:mask的值小於用戶ls看到的權限時,ls -l 能看到的權限是假的,最大為mask的權限。
getfacl的參數
-m #為目錄或者文件增加特殊權限列表
setfacl-m <u|g>:<usrname|groupname>:<權限> 文件或者目錄
-x #刪除目錄或者文件的特殊權限列表的一項
setfacl-x <u|g>:<usrname|groupname> 文件或者目錄
-b #關閉文件或者目錄的特殊權限列表
setfacl -b 文件或者目錄
五、特殊權限
1、suid ##冒險位
1》對目錄:只針對二進制可執行文件,文件內記錄的程序產生的進程的所有人為文件所有人和進程發起人身份無關,是其擁有者
2》對文件:執行該文件的動作時,以擁有者的身份執行
設定方式:他的值suid=4,他是umask值0422中的4
chmodu+s file
chmod4xxx file
2.sgid ##冒險為位,s權限
1》對文件:只針對二進制可執行文件,任何人運行二進制文件程序時程序產生的進程的所有組都是文件的所有組和程序發起人組的身份無關
2》對目錄:當目錄有sgid權限後,目錄中新建的所有文件的所有組
都自動歸屬到目錄的所有組之中,和文件建立者所在的組無關
設定方式:它的值sgid=2,他是umask值2000中的2
chmodg+s file|dir
chmod2xxx file|dir
3.sticky##粘制位
只針對於目錄,當一個目錄上有t權限,那麽目錄中的文件只能被文件的擁有者刪除
設定方式:它的值sticky=1,他時umask值的1000中的1
chmodo+t direcotry
chmod 1xxx direcotry
本文出自 “13122323” 博客,請務必保留此出處http://13132323.blog.51cto.com/13122323/1949078
Linux文件的權限