普通权限
普通权限使用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