Linux文件的权限、特殊权限和隐藏属性

普通权限

普通权限使用ls -l查看,最前面显示的即是,如:

# ls -l 1.txt 
-rw-r--r-- 1 root root 8338 7月  19 20:27 1.txt

权限介绍:

-/d/l/... rwx rwx rwx

1位

-表示文件,d表示文件夹,l表示链接文件

3位

文件所属用户的读、写、执行权限

3位

文件所属用户组的读、写、执行权限

3位

其他用户的读、写、执行权限

普通权限使用chmod修改。

特殊权限

特殊权限是为了解决这样的问题:系统用户的密码都存储在/etc/shadow中,该文件非常重要不能开发权限,但其他用户又必须要能修改自己的密码,于是给可信任的passwd命令增加特殊权限,这样其他用户使用passwd时将获得与所有者(root)一样的权限,执行完毕权限自然也收回;

看看passwd的权限:

# ls -l `which passwd`
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

一个s代替了user上的x,这个即是特殊权限,有下面三种:

特殊权限            表现形式                    命令操作               说明                                                                                       
SUID s代替user上的x chmod u+s xxx 只对二进制程序有效,执行时获得程序所有者的权限,执行完毕权限失效   
SGID s代替group上的x

chmod g+s xxx

对二进制程序有效,执行时获得程序所属用户组的权限,执行完毕权限失效

对文件夹有效,文件夹内获得所属用户组的权限

SBIT t代替other上的x chmod o+t xxx 只对文件夹有效,文件夹内的文件只有其所有者或root才能删除、移动、重命名

 

 

特殊权限同样有数字权限:SUID:4,SGID:2,SBIT:1,普通数字权限之前加一位表示特殊权限,如:chmod 2755 xxx

隐藏属性

明明有权限却无法删除,甚至root都无权操作,那么八成是隐藏属性在限制;

隐藏属性使用lsattr查看,如:

# lsattr 1.txt 
-------------e-- 1.txt

可以看到只有一个e属性,,下面是一些常见的:

a        使文件只可被追加内容,只有root可设置
A 使文件被访问时atime不被修改
c 使文件在被读写时由内核进行压缩
d 使文件不会被dump备份
D 作用于文件夹,使其被修改时立即同步到磁盘上
e 表示文件以ext4 extents存储的,ext4上新建文件的默认属性,不可用chattr修改
i 使文件不能被修改、删除、重命名、链接,只有root可设置

隐藏属性使用chattr修改,man chattr可以看到该命令及所有隐藏属性的详细介绍。

over

猜你喜欢

转载自www.cnblogs.com/toSeek/p/9338133.html