2.17 隐藏权限lsattr_chattr
chattr命令用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
-
a:让文件或目录仅供附加用途;
-
b:不更新文件或目录的最后存取时间;
-
c:将文件或目录压缩后存放;
-
d:将文件或目录排除在倾倒操作之外;
-
i:不得任意更动文件或目录;
-
s:保密性删除文件或目录;
-
S:即时更新文件或目录;
-
u:预防意外删除。
-
-
chattr(选项)
-
-R:递归处理,将指令目录下的所有文件及子目录一并处理;
-
-v<版本编号>:设置文件或目录版本;
-
-V:显示指令执行过程;
-
+<属性>:开启文件或目录的该项属性;
-
-<属性>:关闭文件或目录的该项属性;
-
=<属性>:指定文件或目录的该项属性。
lsattr命令用于查看文件的第二扩展文件系统属性
listtr 【选项】
-E:可显示设备属性的当前值,但这个当前值是从用户设备数据库中获得的,而不是从设备直接获得的。
-D:显示属性的名称,属性的默认值,描述和用户是否可以修改属性值的标志。
-R:递归的操作方式;
-V:显示指令的版本信息;
-a:列出目录中的所有文件,包括隐藏文件。
lasstr -R 111
可以将 111下的222子目录和文件一并显示
2.18 set_uid
setuid,setuid的作用是让执行该命令的用户以该命令拥有者的权限去执行,比如普通用户执行passwd时会拥有root的权限,这样就可以修改/etc/passwd这个文件了。它的标志为:s,会出现在x的地方,例:-rwsr-xr-x 。而setgid的意思和它是一样的,即让执行文件的用户以该文件所属组的权限去执行。
设置set_uid 时文件必须是可执行的二进制文件
set_uid是保证普通用户执带有set_uid权限命令时临时赋予命令所有者的身份
SUID:置于 u 的 x 位,原位置有执行权限,就置为 s,没有了为 S .
chmod u+s xxx # 设置setuid权限
chmod 4551 file // 权限: r-sr-x—x
2.19 特殊权限set_gid
例如: ls 属组为root,给ls赋予一个sgid权限,那么执行ls的普通用户就临时以root的身份去列文件或目录了。
SGID:置于 g 的 x 位,原位置有执行权限,就置为 s,没有了为 S .
chmod g+s xxx # 设置setgid权限
chmod 2551 file // 权限: r-xr-s--x
设置gid 后 在这个目录下创建文件或子目录,文件或子目录的所属组会跟着父级目录保持一致
总结:set_gid 的作用不仅仅作用于文件上也可以作用在目录上,当作用于文件上作用于set_uid相似,让所属组临时拥有的身份 ,作用于目录时当创建文件和子目录时 文件和子目录的所属组与目录保持一致
2.20 特殊权限stick_bit
我们知道/tmp是系统的临时文件目录,所有的用户在该目录下拥有所有的权限,也就是说在该目录下可以任意创建、修改、删除文件,那如果用户A在该目录下创建了一个文件,用户B将该文件删除了,这种情况我们是不能允许的。为了达到该目的,就出现了stick bit(粘滞位)的概念。它是针对目录来说的,如果该目录设置了stick bit(粘滞位),则该目录下的文件除了该文件的创建者和root用户可以删除和修改/tmp目录下的stuff,别的用户均不能动别人的,这就是粘滞位的作用。
STICKY:粘滞位,置于 o 的 x 位,原位置有执行权限,就置为 t ,否则为T .
chmod o+t xxx # 设置stick bit权限,针对目录
chmod 1551 file // 权限: r-xr-x--t
作用 :防止别人删除文件
2.21 软链接文件
软连接相当于WINDOWS的快捷方式
真正的文件在 -> usr/bin 这里
蓝色字的是软连接 绿色的是真正的文件
创建文件软链接
创建目录软链接
创建软链接时尽量使用绝对路径
删除软链接 不会影响真正的文件 ,但文件删除后软链接会失效
2.22 硬链接文件
目录不可以做硬链接
硬链接 不会占用空间 因为只有一个iNode,真正记数据的是iNode 它记录文件数据和属性 记录数据在哪个分区磁盘哪个块、时间、 权限
硬链接不可以跨分区做硬链接