Linux命令列出其他人可读的所有文件

Linux命令列出其他人可读的所有文件

我需要列出任何目录中公众可读的所有文件。例如权限为777、444、604等的文件,该怎么办呢?

答案1

考虑目录的权限也很重要。系统可能具有全世界可读的文件,但除所有者和/或组之外的任何人都无法读取或遍历该目录,这仍然会使文件实际上不可读。

如果这并不重要,并且您知道每个人都有权读取和遍历该目录:

find /path/to/directory -type f -perm -o=r

这也将递归到子目录中。如果只想要第一层目录:

find /path/to/directory -maxdepth 1 -type f -perm -o=r

您可以调整后面的数字-maxdepth来确定您想要移动的距离。

答案2

搜索某人(其所有者、其组或其他任何人)可读的文件

find . -type f -perm /u=r,g=r,o=r

如果你想找到可读的文件其他的在目录中/var

~] find /var -type f  -perm /o=r -ls
   131113      4 -rw-r--r--   1 root     root         2329 Nov  9 23:32 /var/spool/postfix/etc/localtime
   131150      4 -rw-r--r--   1 root     root           66 Nov 18 13:45 /var/spool/postfix/etc/resolv.conf
   131084     16 -rw-r--r--   1 root     root        12813 Nov  9 23:32 /var/spool/postfix/etc/services
   131151      4 -rw-r--r--   1 root     root          251 Nov  9 23:32 /var/spool/postfix/etc/hosts
   131111      4 -rw-r--r--   1 root     root          510 Nov  9 23:32 /var/spool/postfix/etc/nsswitch.conf
   131110      4 -rw-r--r--   1 root     root            9 Nov  9 23:32 /var/spool/postfix/etc/host.conf
   132498    196 -rw-r--r--   1 root     root       197624 Nov  9 23:24 /var/spool/postfix/etc/ssl/certs/ca-certificates.crt
   131169     52 -rw-r--r--   1 root     root        51736 Feb  6  2019 /var/spool/postfix/lib/x86_64-linux-gnu/libnss_nisplus-2.24.so
   131125     20 -rw-r--r--   1 root     root        18880 Feb  6  2019 /var/spool/postfix/lib/x86_64-linux-gnu/libnss_hesiod-2.24.so
   131124     28 -rw-r--r--   1 root     root        26960 May  1  2019 /var/spool/postfix/lib/x86_64-linux-gnu/libnss_dns-2.28.so
   131167     28 -rw-r--r--   1 root     root        26952 Oct  2 14:47 /var/spool/postfix/lib/x86_64-linux-gnu/libnss_dns-2.31.so
.
.
.
  • ls- 在标准输出上以 ls -dils 格式列出当前文件

相关内容