12_文件查找详解和特殊权限

文件查找:
locate:
  非实时,模糊匹配,查找是根据全文件系统数据库进行的
  #updatedb,手动生成文件数据库
  速度快

find:
  实时
  精确地
  支持众多的查找标准
  遍历指定目录中的所有文件完成查找,速度慢


find 查找路径 查找标准 查找到以后的处理运作
查找路径:默认为当前目录
查找标准:默认为指定领下的所有文件
处理运作:默认为显示

匹配标准:
  -name 'FILENAME';对文件名作精确匹配
    文件名通配:
      *
      ?
      []
      ...
  -iname 'FILENAME':文件名匹配不区分大小写
  -regex PATTERN:基于正则表达式进行文件名匹配
  -user USERNAME:根据属主查找
  -group
  -uid
  -gid
  一但某个用户被删,此前所有属于这个用户的文件的属主就是这个用户此前的ID号
  -nouser:查找目录下没有属主的用户,定期执行这个命令,把没有属主的文件赋给管理员,避免通过权限出错。
  -nogroup
  -type:根据文件类型来查找
    f:普通文件
    d:目录
    c:字符
    b:块设备
    l:链接设备
    p:管道
    s:套接
  -size

组合条件查找:默认是与逻辑
  -a:与
  -o:或
  -not:非

/tmp目录下,不是目录,并且还不能套接字类型的文件
find /tmp -not -type d -a -not -type s

/tmp/test目录下,属主不是user1,也不是user2的文件
find ./ -not -user -user1 -a -not -user -user2
find ./ -not ( -user -user1 -o -user -user2 )


根据文件的时间戳查找
  -mtime:修改(天)
  -ctime:改变
  -atime:访问
    [+|-]#
  -mmin(分钟)
  -cmin
  -amin
    [+|-]#

根据权限找
  -perm MODE:精确匹配
  -perm -MODE:文件权限完全能包含次MODE时才能显示,就像755包含644,750对644就不可以
  -perm /MODE:只要有一位权限匹配到即可

运作:
  -print:显示
  -ls:类似ls -l 的形式显示每一个文件的详细
  -ok COMMAND {}  :  每一次操作都需要用户确认
  -exec COMMAND {} ;  每一次操作不需要用户确认

find在查找到文件以后需要执行额外命令的时候除了执行-exec 和-ok以外,有时候还要根据-xergs结合


————————
特殊权限
 passwd:s
SUID:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者
  chmod u+s FILE
  chmod u-s FILE
    如果file本身原来就有执行权限,则SUID显示为s,否则显示为s
    轻易不要赋予s权限
SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动着所属的基本组
Sticky:在一个公共目录,每个人都可以创建文件,删除自己的文件,但不能删除别人的文件
  chmod o+t FILE
  chmod o-t FILE

#
000
...
111
suid:4000
guid:2000
sticky:1000

chmod 1755 /backup/test :表示755的目录权限,1表示Sticky 001
chmod 3755 /backup/test:sgid
chmod 5755 /backup/test:suid和Sticky

原文地址:https://www.cnblogs.com/xian-luo/p/10651349.html