今天我们来学习Linux中用于在文件系统上查找文件的命令:find & locate !
首先,了解一下locate:
locate:非实时查找(数据库查找),依赖于是事先建立的索引;索引的构建是在系统空闲时自动进行(周期性任务),也可使用命令updatedb手动更新数据库;索引构建过程需要遍历整个根文件系统,非常消耗系统资源。
特点:查找速度快;模糊查找;非实时查找;
用法:~]# locate KEYWORD
了解了locate,现在,我们可以揭开find的神秘面纱了!
find:实时查找;通过遍历指定路径下的文件系统完整文件查找。
特点:查找速度略慢;精确查找;实时查找;
用法:~]# find [option]… [查找路径] [查找条件] [处理动作]
查找路径:指定目标具体路径,默认为当前目录;
查找条件:指定的查找标准,可以为文件名、大小、类型、权限等标准,默认为指定路径下的所有文件;
处理动作:对符合条件的文件进行的操作,默认输出至屏幕;
在find的参数中,查找条件和处理动作是相对较为复杂的,因此,我们着重来了解一下:
- 查找条件
(1)根据文件名查找
-name “文件名称”
支持文件名通配,即*、?、[ ]、[^]等;
-regex “PATTERN”
以PATTERN匹配整个文件路径中的字符串,而不仅仅是文件名;
示例:
[root@localhost tmp]# find /etc -name "passwd"
/etc/pam.d/passwd
/etc/passwd
[root@localhost tmp]# find /etc -name "passwd*"
/etc/pam.d/passwd
/etc/passwd
/etc/passwd-
[root@localhost tmp]# find /etc -name "*passwd*"
/etc/pam.d/passwd
/etc/passwd
/etc/passwd-
/etc/security/opasswd
/etc/.passwd.swo
(2)根据文件属主、属组查找
-user USERNAME
查找属主为USESRNAME的文件;
-group GROUPNAME
查找属组为GROUPNAME的文件;
示例:
查找属主为Jeffrey的文件:
[root@localhost tmp]# find /tmp -user jeffrey
/tmp/.ICE-unix/2697
/tmp/.ICE-unix/20146
/tmp/.ICE-unix/1648
/tmp/.ICE-unix/2600
/tmp/.ICE-unix/1629
......
查找属组为Jeffrey的文件:
[root@localhost tmp]# find /tmp -group jeffrey
/tmp/.ICE-unix/2697
/tmp/.ICE-unix/20146
/tmp/.ICE-unix/1648
/tmp/.ICE-unix/2600
/tmp/.ICE-unix/1629
验证:
[root@localhost tmp]# ls -l /tmp/.ICE-unix/{2697,20146,1648,2600,1629}
srwxrwxrwx. 1 jeffrey jeffrey 0 Sep 23 07:56 /tmp/.ICE-unix/1629
srwxrwxrwx. 1 jeffrey jeffrey 0 Sep 22 10:13 /tmp/.ICE-unix/1648
srwxrwxrwx. 1 jeffrey jeffrey 0 Sep 20 08:58 /tmp/.ICE-unix/20146
srwxrwxrwx. 1 jeffrey jeffrey 0 Sep 23 07:53 /tmp/.ICE-unix/2600
srwxrwxrwx. 1 jeffrey jeffrey 0 Sep 17 02:55 /tmp/.ICE-unix/2697
如果用户被删除,那么以该用户为属主/组的文件则只有UID和GID,而没有其属主/属组名。
因此,我们可以根据UID和GID来查找文件:
-uid UID
-gid GID
示例:
查找UID为1003的用户:
[root@localhost /]# cat /etc/passwd | cut -d: -f1,3 | grep "1003"
user:1003
查找GID为1003的用户:
[root@localhost /]# cat /etc/passwd | cut -d: -f1,4 | grep "1003"
user:1003
harry:1003
查看属主UID为1003的文件:
[root@localhost /]# find /home -uid 1003 -ls
17665138 0 drwx------ 3 karry darry 78 Sep 11 18:37 /home/user
37304322 0 drwxr-xr-x 4 karry darry 39 Aug 26 19:03 /home/user/.mozilla
52088176 0 drwxr-xr-x 2 karry darry 6 Jun 9 2014 /home/user/.mozilla/extensions
1916354 0 drwxr-xr-x 2 karry darry 6 Jun 9 2014 /home/user/.mozilla/plugins
17665141 4 -rw-r--r-- 1 karry darry 18 Aug 2 2016 /home/user/.bash_logout
17665143 4 -rw-r--r-- 1 karry darry 193 Aug 2 2016 /home/user/.bash_profile
17665144 4 -rw-r--r-- 1 karry darry 231 Aug 2 2016 /home/user/.bashrc
50549361 0 drwx------ 3 karry karry 78 Sep 24 11:34 /home/karry
查找GID为1004的文件:
[root@localhost /]# find /home -gid 1004 -ls
17665138 0 drwx------ 3 karry darry 78 Sep 11 18:37 /home/user
37304322 0 drwxr-xr-x 4 karry darry 39 Aug 26 19:03 /home/user/.mozilla
52088176 0 drwxr-xr-x 2 karry darry 6 Jun 9 2014 /home/user/.mozilla/extensions
1916354 0 drwxr-xr-x 2 karry darry 6 Jun 9 2014 /home/user/.mozilla/plugins
17665141 4 -rw-r--r-- 1 karry darry 18 Aug 2 2016 /home/user/.bash_logout
17665143 4 -rw-r--r-- 1 karry darry 193 Aug 2 2016 /home/user/.bash_profile
17665144 4 -rw-r--r-- 1 karry darry 231 Aug 2 2016 /home/user/.bashrc
删除用户karry和组darry:
[root@localhost /]# userdel karry
[root@localhost /]# groupdel darry
再次查看UID为1003的文件:
[root@localhost /]# find /home -uid 1003 -ls
17665138 0 drwx------ 3 1003 1004 78 Sep 11 18:37 /home/user
37304322 0 drwxr-xr-x 4 1003 1004 39 Aug 26 19:03 /home/user/.mozilla
52088176 0 drwxr-xr-x 2 1003 1004 6 Jun 9 2014 /home/user/.mozilla/extensions
1916354 0 drwxr-xr-x 2 1003 1004 6 Jun 9 2014 /home/user/.mozilla/plugins
17665141 4 -rw-r--r-- 1 1003 1004 18 Aug 2 2016 /home/user/.bash_logout
17665143 4 -rw-r--r-- 1 1003 1004 193 Aug 2 2016 /home/user/.bash_profile
17665144 4 -rw-r--r-- 1 1003 1004 231 Aug 2 2016 /home/user/.bashrc
50549361 0 drwx------ 3 1003 1009 78 Sep 24 11:34 /home/karry
再次查看GID为1004的文件:
[root@localhost /]# find /home -gid 1004 -ls
17665138 0 drwx------ 3 1003 1004 78 Sep 11 18:37 /home/user
37304322 0 drwxr-xr-x 4 1003 1004 39 Aug 26 19:03 /home/user/.mozilla
52088176 0 drwxr-xr-x 2 1003 1004 6 Jun 9 2014 /home/user/.mozilla/extensions
1916354 0 drwxr-xr-x 2 1003 1004 6 Jun 9 2014 /home/user/.mozilla/plugins
17665141 4 -rw-r--r-- 1 1003 1004 18 Aug 2 2016 /home/user/.bash_logout
17665143 4 -rw-r--r-- 1 1003 1004 193 Aug 2 2016 /home/user/.bash_profile
17665144 4 -rw-r--r-- 1 1003 1004 231 Aug 2 2016 /home/user/.bashrc
当然,我们也可以找到无属主、属组的文件:
-nouser
-nogroup
示例:
查找无属主的文件:
[root@localhost /]# find /home -nouser -ls
1943406 0 drwx------ 3 1002 user 78 Sep 11 11:41 /home/user1
17665130 0 drwxr-xr-x 4 1002 user 39 Aug 26 19:03 /home/user1/.mozilla
37304342 0 drwxr-xr-x 2 1002 user 6 Jun 9 2014 /home/user1/.mozilla/extensions
52088142 0 drwxr-xr-x 2 1002 user 6 Jun 9 2014 /home/user1/.mozilla/plugins
1943419 4 -rw-r--r-- 1 1002 user 18 Aug 2 2016 /home/user1/.bash_logout
1943420 4 -rw-r--r-- 1 1002 user 193 Aug 2 2016 /home/user1/.bash_profile
1943421 4 -rw-r--r-- 1 1002 user 231 Aug 2 2016 /home/user1/.bashrc
17665138 0 drwx------ 3 1003 1004 78 Sep 11 18:37 /home/user
查找无属组的文件:
[root@localhost /]# find /home -nogroup -ls
17665138 0 drwx------ 3 1003 1004 78 Sep 11 18:37 /home/user
37304322 0 drwxr-xr-x 4 1003 1004 39 Aug 26 19:03 /home/user/.mozilla
52088176 0 drwxr-xr-x 2 1003 1004 6 Jun 9 2014 /home/user/.mozilla/extensions
1916354 0 drwxr-xr-x 2 1003 1004 6 Jun 9 2014 /home/user/.mozilla/plugins
17665141 4 -rw-r--r-- 1 1003 1004 18 Aug 2 2016 /home/user/.bash_logout
17665143 4 -rw-r--r-- 1 1003 1004 193 Aug 2 2016 /home/user/.bash_profile
17665144 4 -rw-r--r-- 1 1003 1004 231 Aug 2 2016 /home/user/.bashrc
50549361 0 drwx------ 3 1003 1009 78 Sep 24 11:34 /home/karry
(3)根据文件类型查找
-type TYPE
TYPE取值情况如下:
f : 普通文件
d : 目录文件
l : 符号链接文件
s : 套接字文件
b : 块设备文件
c : 字符设备文件
p :管道文件
示例:
[root@localhost /]# find /tmp -type s -ls
835795 0 srwxrwxrwx 1 root root 0 Sep 23 07:56 /tmp/.X11-unix/X0
17260312 0 srwxrwxrwx 1 jeffrey jeffrey 0 Sep 17 02:55 /tmp/.ICE-unix/2697
17665155 0 srwxrwxrwx 1 gdm gdm 0 Sep 19 08:01 /tmp/.ICE-unix/1334
17665048 0 srwxrwxrwx 1 jeffrey jeffrey 0 Sep 20 08:58 /tmp/.ICE-unix/20146
17665148 0 srwxrwxrwx 1 gdm gdm 0 Sep 22 10:13 /tmp/.ICE-unix/1331
17665149 0 srwxrwxrwx 1 jeffrey jeffrey 0 Sep 22 10:13 /tmp/.ICE-unix/1648
17665153 0 srwxrwxrwx 1 gdm gdm 0 Sep 22 10:21 /tmp/.ICE-unix/1333
17665041 0 srwxrwxrwx 1 jeffrey jeffrey 0 Sep 23 07:53 /tmp/.ICE-unix/2600
17665145 0 srwxrwxrwx 1 gdm gdm 0 Sep 23 07:56 /tmp/.ICE-unix/1322
17665151 0 srwxrwxrwx 1 jeffrey jeffrey 0 Sep 23 07:56 /tmp/.ICE-unix/1629
........
(4)根据文件大小查找
-size [+|-]#UNIT
UNIT常用单位为k、M、G;
详解:
-size -#UNIT 查找大小在区间[0,#-1]内的文件;
-size #UNIT 查找大小在区间(#-1,#]内的的文件;
-size +#UNIT 查找大小在区间(#,oo]内的文件;
示例:
[root@localhost /]# find /var -size 3k -ls
52143184 4 -rw-r--r-- 1 root root 2391 Aug 26 19:22 /var/lib/authconfig/last/libuser.conf
50877184 4 -rw-r--r-- 1 root root 2363 Sep 23 07:56 /var/lib/plymouth/boot-duration
1929365 4 -rw------- 1 root lp 2628 Sep 9 05:43 /var/log/cups/access_log-20180909
1943400 4 -rw------- 1 root lp 2322 Sep 17 02:55 /var/log/cups/access_log-20180917
1916372 4 -rw------- 1 root lp 2610 Sep 23 07:56 /var/log/cups/access_log-20180923
1728477 4 -rw------- 1 root root 2209 Sep 3 10:07 /var/log/maillog-20180904
835776 4 -rw------- 1 root utmp 2304 Sep 3 11:02 /var/log/btmp-20180904
(5)根据时间戳查找
以“天”为单位:
-atime [+|-]#
-mtime [+|-]#
-ctime [+|-]#
以“分钟”为单位:
-amin [+|-]#
-mmin [+|-]#
-cmin [+|-]#
其中,+#,#,-#所表示区间与“按文件大小查找”的意义相同;
示例:
查找/etc目录下最近三天内修改过的文件:
[root@localhost /]# find /etc -mtime -3 -ls
16777281 16 drwxr-xr-x 153 root root 12288 Sep 24 11:35 /etc
17665059 4 -rw-r--r-- 1 root root 73 Sep 24 09:03 /etc/resolv.conf
18455501 4 -rw-r--r-- 1 root root 1093 Sep 24 11:35 /etc/group
18455497 4 ---------- 1 root root 880 Sep 24 11:35 /etc/gshadow
18438985 4 -rw-r--r-- 1 root root 2583 Sep 24 11:34 /etc/passwd
18438986 4 ---------- 1 root root 1309 Sep 24 11:34 /etc/shadow
17208561 4 -rw-r--r-- 1 root root 1107 Sep 24 11:34 /etc/group-
16777338 4 ---------- 1 root root 890 Sep 24 11:34 /etc/gshadow-
(6)根据文件权限查找
-perm [/|-]MODE
详解:
-perm MODE 进行精确权限匹配;
-perm /MODE 任何一类(u、g、o)对象的权限中,只要有一类匹配即可;
-perm -MODE 每一类对象都必须拥有为其指定的权限标准;
注:对于/MODE和-MODE而言,只要对象拥有MODE中不为0的权限即可,为0的权限可有可无,并不考虑;比如,-perm 600 ,也就是权限位为rw-------;-MODE要求文件属主必须拥有读(r)和写(w)权限,执行权限(x)可有可无,并且属组和其他用户权限也没有要求,因此也是可有可无的;/MODE要求文件的属主、属组、其他用户三类中只要有一类用户满足对应所要求的权限即可;
示例:
精确查找/etc目录下权限为rw-r-----(640)的文件:
[root@localhost /]# find /etc -perm 640 -ls
1894672 4 -rw-r----- 1 root ssh_keys 1679 Aug 26 19:23 /etc/ssh/ssh_host_rsa_key
1894674 4 -rw-r----- 1 root ssh_keys 227 Aug 26 19:23 /etc/ssh/ssh_host_ecdsa_key
1894676 4 -rw-r----- 1 root ssh_keys 387 Aug 26 19:23 /etc/ssh/ssh_host_ed25519_key
17360551 4 -rw-r----- 1 root root 506 Apr 10 21:21 /etc/sysconfig/sshd
18765958 4 -rw-r----- 1 root root 191 Oct 12 2017 /etc/libaudit.conf
......
查找属主、属组和其他用户中,至少一类用户有写权限的文件:
[root@localhost /]# find -perm /222 -ls
......
20963 0 crw-rw---- 1 root tty 7, 2 Sep 23 07:55 ./dev/vcs2
20584 0 crw------- 1 root root 10, 56 Sep 23 07:55 ./dev/vsock
15944 0 crw-rw---- 1 root audio 14, 9 Sep 23 07:55 ./dev/dmmidi
15943 0 crw-rw---- 1 root audio 14, 2 Sep 23 07:55 ./dev/midi
15877 0 lrwxrwxrwx 1 root root 3 Sep 23 07:55 ./dev/cdrom -> sr0
15851 0 crw-rw-r-- 1 root root 10, 57 Sep 23 07:55 ./dev/rfkill
15840 0 crw-rw---- 1 root cdrom 21, 1 Sep 23 07:55 ./dev/sg1
15838 0 crw-rw---- 1 root disk 21, 0 Sep 23 07:55 ./dev/sg0
......
(7)组合查找
逻辑关系:
-a 与
-o 或
-not 或者 ! 非
示例:
1,查找没有属主或没有属组的文件
[root@localhost /]# find /etc \( -nouser -o -nogroup \) -ls
52088163 0 drwx------ 3 2223 2223 78 Sep 9 23:55 /etc/Sarry
1943408 0 drwxr-xr-x 4 2223 2223 39 Aug 26 19:03 /etc/Sarry/.mozilla
17666792 0 drwxr-xr-x 2 2223 2223 6 Jun 9 2014 /etc/Sarry/.mozilla/extensions
34815083 0 drwxr-xr-x 2 2223 2223 6 Jun 9 2014 /etc/Sarry/.mozilla/plugins
52088164 4 -rw-r--r-- 1 2223 2223 18 Aug 2 2016 /etc/Sarry/.bash_logout
52088165 4 -rw-r--r-- 1 2223 2223 193 Aug 2 2016 /etc/Sarry/.bash_profile
52088166 4 -rw-r--r-- 1 2223 2223 231 Aug 2 2016 /etc/Sarry/.bashrc
2,查找/etc目录下属主不为root且文件名不为fstab的文件;
[root@localhost /]# find /etc -not -user root -a -not -name "fstab" -ls
835788 0 drwx------ 2 polkitd root 65 Sep 19 07:40 /etc/polkit-1/rules.d
17614932 8 -rw------- 1 tss tss 7046 Aug 3 2017 /etc/tcsd.conf
51092427 0 drwx--x--x 3 sssd sssd 20 Jun 27 10:57 /etc/sssd
1084629 0 drwx--x--x 2 sssd sssd 6 Jun 27 10:57 /etc/sssd/conf.d
52088163 0 drwx------ 3 2223 2223 78 Sep 9 23:55 /etc/Sarry
1943408 0 drwxr-xr-x 4 2223 2223 39 Aug 26 19:03 /etc/Sarry/.mozilla
17666792 0 drwxr-xr-x 2 2223 2223 6 Jun 9 2014 /etc/Sarry/.mozilla/extensions
34815083 0 drwxr-xr-x 2 2223 2223 6 Jun 9 2014 /etc/Sarry/.mozilla/plugins
52088164 4 -rw-r--r-- 1 2223 2223 18 Aug 2 2016 /etc/Sarry/.bash_logout
52088165 4 -rw-r--r-- 1 2223 2223 193 Aug 2 2016 /etc/Sarry/.bash_profile
52088166 4 -rw-r--r-- 1 2223 2223 231 Aug 2 2016 /etc/Sarry/.bashrc
[root@localhost /]# find /etc -not \( -user root -o -name "fstab" \) -ls
835788 0 drwx------ 2 polkitd root 65 Sep 19 07:40 /etc/polkit-1/rules.d
17614932 8 -rw------- 1 tss tss 7046 Aug 3 2017 /etc/tcsd.conf
51092427 0 drwx--x--x 3 sssd sssd 20 Jun 27 10:57 /etc/sssd
1084629 0 drwx--x--x 2 sssd sssd 6 Jun 27 10:57 /etc/sssd/conf.d
52088163 0 drwx------ 3 2223 2223 78 Sep 9 23:55 /etc/Sarry
1943408 0 drwxr-xr-x 4 2223 2223 39 Aug 26 19:03 /etc/Sarry/.mozilla
17666792 0 drwxr-xr-x 2 2223 2223 6 Jun 9 2014 /etc/Sarry/.mozilla/extensions
34815083 0 drwxr-xr-x 2 2223 2223 6 Jun 9 2014 /etc/Sarry/.mozilla/plugins
52088164 4 -rw-r--r-- 1 2223 2223 18 Aug 2 2016 /etc/Sarry/.bash_logout
52088165 4 -rw-r--r-- 1 2223 2223 193 Aug 2 2016 /etc/Sarry/.bash_profile
52088166 4 -rw-r--r-- 1 2223 2223 231 Aug 2 2016 /etc/Sarry/.bashrc
- 处理动作
-print 默认的处理动作:显示至屏幕;
-ls 类似于ls -l命令;
-delete 删除文件;
-fls /path/to/somefile 查找到的文件的长格式的信息保存至指定文件;
-ok COMMAND {} \; 对查找到的每一个文件都执行COMMADN命令,执行之前会交互式的询问用户;
-exec COMMAND {} \; 对查找到的每个文件执行COMMAND命令,不进行询问;
{} : 用于引用每一个查找到的文件名本身;
注意:find传递查找到的文件至后面指定的命令时,查找到的所有符合条件的文件一次性传递给后面的命令;但有些命令不能接受过多参数,此时命令执行可能会失败;使用另一方式可以规避这一问题:
~]# find …… | xargs COMMAND
关于xargs的功能、用法等,请参阅我的博客:命令参数过滤器xargs
示例:
1,查找无属主的文件:
[root@localhost jeffrey]# find /etc -nouser
/etc/Sarry
/etc/Sarry/.mozilla
/etc/Sarry/.mozilla/extensions
/etc/Sarry/.mozilla/plugins
/etc/Sarry/.bash_logout
/etc/Sarry/.bash_profile
/etc/Sarry/.bashrc
将无属主文件的属主修改为root:
[root@localhost jeffrey]# find /etc -nouser -ok chown root {} \;
< chown ... /etc/Sarry > ? y
< chown ... /etc/Sarry/.mozilla > ? y
< chown ... /etc/Sarry/.mozilla/extensions > ? y
< chown ... /etc/Sarry/.mozilla/plugins > ? y
< chown ... /etc/Sarry/.bash_logout > ? y
< chown ... /etc/Sarry/.bash_profile > ? y
< chown ... /etc/Sarry/.bashrc > ? y
2,找到无属组的文件
[root@localhost jeffrey]# find /etc -nogroup
/etc/Sarry
/etc/Sarry/.mozilla
/etc/Sarry/.mozilla/extensions
/etc/Sarry/.mozilla/plugins
/etc/Sarry/.bash_logout
/etc/Sarry/.bash_profile
/etc/Sarry/.bashrc
将无属组的文件属组修改为root;
[root@localhost jeffrey]# find /etc -nogroup -exec chgrp root {}\;
find: missing argument to `-exec'
[root@localhost jeffrey]# find /etc -nogroup -exec chgrp root {} \;
至此,我们关于find命令查找文件和处理操作的了解就告一段落了。
下面我们通过一下练习来检验、巩固我们的学习效果:
1,查找/var目录下,属主为root,属组为mail的所有文件和目录;
[root@localhost jeffrey]# find /var -user root -group mail -ls
33730376 0 drwxrwxr-x 2 root mail 215 Sep 24 11:34 /var/spool/mail
33698546 300 -rw------- 1 root mail 303953 Sep 17 05:46 /var/spool/mail/root
2,查找/usr目录下,属主不为root、bin或hadoo的文件或目录;
[root@localhost jeffrey]# find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls
50824314 0 drwx------ 2 polkitd root 218 Sep 19 07:48 /usr/share/polkit-1/rules.d
50955528 16 -rwsr-sr-x 1 abrt abrt 15432 Apr 27 07:53 /usr/libexec/abrt-action-install-debuginfo-to-abrt
3,查看/etc目录下,最近一周内内容修改过,同时属主不为root也不为Hadoop的文件或目录;
[root@localhost jeffrey]# find /etc -mtime -7 -a -not \( -user root -o -user hadoop \)
/etc/polkit-1/rules.d
[root@localhost jeffrey]# stat `find /etc -mtime -7 -a -not \( -user root -o -user hadoop \)`
File: ‘/etc/polkit-1/rules.d’
Size: 65 Blocks: 0 IO Block: 4096 directory
Device: 803h/2051d Inode: 835788 Links: 2
Access: (0700/drwx------) Uid: ( 998/ polkitd) Gid: ( 0/ root)
Context: system_u:object_r:etc_t:s0
Access: 2018-09-24 10:50:14.786830173 -0700
Modify: 2018-09-19 07:40:57.366982169 -0700
Change: 2018-09-19 07:40:57.366982169 -0700
Birth: -
5,查找当前/etc目录下,大于1M且类型为普通文件的所有文件或目录;
[root@localhost jeffrey]# find /etc -size +1M -type f -ls
51105017 1376 -rw-r--r-- 1 root root 1405733 Sep 19 07:51 /etc/selinux/targeted/contexts/files/file_contexts.bin
35157250 3640 -rw-r--r-- 1 root root 3726660 Sep 19 07:51 /etc/selinux/targeted/policy/policy.31
1524305 3640 -rw------- 1 root root 3726660 Sep 19 07:51 /etc/selinux/targeted/active/policy.kern
1524310 3640 -rw------- 1 root root 3726660 Sep 19 07:51 /etc/selinux/targeted/active/policy.linked
34507111 7732 -r--r--r-- 1 root root 7916435 Sep 19 08:01 /etc/udev/hwdb.bin
17626259 1336 -rw-r--r-- 1 root root 1367395 Apr 10 18:32 /etc/brltty/zh-tw.ctb
6,查找/etc目录下,所有用户都没有写权限的文件;
[root@localhost jeffrey]# find /etc -not -perm /222 -ls
290862 200 -r--r--r-- 1 root root 204020 Sep 19 07:38 /etc/pki/ca-trust/extracted/java/cacerts
18063062 372 -r--r--r-- 1 root root 379021 Sep 19 07:38 /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
34012028 276 -r--r--r-- 1 root root 279807 Sep 19 07:38 /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
34012029 228 -r--r--r-- 1 root root 232152 Sep 19 07:38 /etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem
34012030 60 -r--r--r-- 1 root root 57883 Sep 19 07:38 /etc/pki/ca-trust/extracted/pem/objsign-ca-bundle.pem
34936898 4 -r--r--r-- 1 root root 146 Apr 10 22:03 /etc/pam.d/cups
......
7,查找/etc目录下,至少有一类用户没有执行权限的文件;
[root@localhost jeffrey]# find /etc -not -perm -111 -ls
16777282 4 -rw-r--r-- 1 root root 501 Aug 26 19:02 /etc/fstab
16777283 0 -rw------- 1 root root 0 Aug 26 19:02 /etc/crypttab
17665059 4 -rw-r--r-- 1 root root 73 Sep 24 13:20 /etc/resolv.conf
16960636 4 -rw-r--r-- 1 root root 1160 Feb 23 2017 /etc/fonts/conf.d/25-no-bitmap-fedora.conf
16960649 4 -rw-r--r-- 1 root root 978 Aug 30 2013 /etc/fonts/conf.d/README
......
8,查找/etc/init.d目录下,所有用户都有执行权限,且其他用户有权限的文件;
[root@localhost jeffrey]# find /etc/init.d -perm -113 -ls
18765956 0 lrwxrwxrwx 1 root root 11 Sep 19 07:38 /etc/init.d -> rc.d/init.d