继续探讨linux文件权限的问题以及find指令的选项

linux权限问题

上次说到linux文件权限中的r,w,x权限分别是文件的读权限,写权限和执行权限,rwx中都没有提到删除权限(文件可以被删除),也就是说我们不需要特意设置文件的删除权限,他也是是可以被删除的。那么问题来了,如果这个文件不属于我们,我们能把它删除吗?
验证一下
这里写图片描述
如果文件就属于我,我把它删除了显然是没有问题的。

那么如何保证文件不属于我,我一定不能删除它呢?

于是我搜索了文件的相关知识,发现文件还有t权限,想要文件不能被其他人删除需要设置t权限。

这里就有必要说一下t权限和s权限了
SUID 表示在这个文件被执行时,执行者会有拥有者(user)的特权。
SGID 表示在这个文件被执行时,执行者会拥有所属组(group)的特权。
sticky-bit可以理解为防止删除位,设置了这个位可以保证文件拒绝被其他不属于他的用户删除。

设置时 可以使用 chmod u+s(g+s) 文件名的格式设置(如果文件拥有者(所属组)没有可执行权限,则会在对应的权限位上显示S,如果有则会显示s)。

这里写图片描述

也可以使用chmod 6774(4位八进制数) 文件名 的格式来进行设置。第一位设置s和t权限,SUID(4),,SGID(2),sticky-bit(1)。

这里写图片描述

当我们给每个文件的其他用户设置了t权限后,就可以防止其他用户删除了不属于自己的文件了。

这里写图片描述

find指令的选项

在linux终端下有很多指令功能很强大,其中find就是其中一条指令。
find指令可以添加很多选项

1.find 目录名

这条命令作用是找到该目录下的所有文件。

这里写图片描述

2.find -name (*)

find -name mytest 表示找出当前路径下的文件名为mytest的文件

这里写图片描述

find -name *.c 表示找出当前路径下的文件后缀名为.c的文件

这里写图片描述

3.find -user(-group)

find - user root表示找出拥有者(所属组)为root 的文件
这里写图片描述

4.find -perm

find-perm 664 找出文件权限为644的文件
这里写图片描述

5.find -(a|c|m)time

find -(a|c|m)time -1(+1)表示找出 a(c|m)time在 1天以内(以外)的文件

这里写图片描述

6.find -type

find -type d表示查找文件类型为目录的文件

这里写图片描述
p 管道文件
b 块设备文件
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。

7.find -nouser(-nogroup)

find -nouser 表示查找无有效拥有者的文件

8.find -newer

find -newer code 表示查找更改时间比code新的文件

这里写图片描述

find !-newer 表示查找比。。旧的文件

9.find -prune

find -prune -o -name *.c 表示查找名字后缀不是.c的文件
prune 有除去的意思
这里写图片描述

10.find -depth

表示在当前目录查找后 ,再在其子目录下查找
以上是常用的find选项,find选项远不止这些,如果以后还用到一些可以继续补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值