一、文件属性的查看
用前面介绍的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
getfacl + /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的权限。
setfacl的参数
-m #为目录或者文件增加特殊权限列表
setfacl-m <u|g>:<usrname|groupname>:<权限> 文件或者目录
-x #删除目录或者文件的特殊权限列表的一项
setfacl-x <u|g>:<usrname|groupname> 文件或者目录
-b #关闭文件或者目录的特殊权限列表
setfacl -b 文件或者目录
五、特殊权限
1、suid
对文件:执行该文件的动作时,以拥有者的身份执行
设定方式:他的值suid=4,他是umask值0422中的4
chmod u+s file
chmod 4xxx file
2.sgid
对目录:当目录有sgid权限后,目录中新建的所有文件的所有组都自动归属到目录的所有组之中,和文件建立者所在的组无关
设定方式:它的值sgid=2,他是umask值2000中的2
chmod g+s file|dir
chmod 2xxx file|dir
3.sticky
只针对于目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除
设定方式:它的值sticky=1,他时umask值的1000中的1
chmod u+t direcotry
chmod 1xxx direcotry