查找由特定用户创建的文件


15

如何查找特定用户创建的所有文件并将其显示在屏幕上?

我已经启动了一个脚本,该脚本提示当前用户输入他们想要查看其所有文件的用户名。考虑到我想包括错误检查,我已经考虑过使用if语句。

echo -e "Option 11: Display all the Files a Particular User Has Created\n\n"
echo -e "Enter Username below\n"
read username

6
find有一个-user选项可以搜索特定用户拥有的文件。不过,不知道如何确定其他人。所有权会发生变化,所以我不知道这是否是您真正想要的。
布拉奇利

2
我看到执行此操作的唯一方法是通过对文件系统进行审核。
BitsOfNix

Answers:


22

您无法在通常的Linux文件系统上执行此操作,因为它无法跟踪creator文件的所有权,而不会跟踪文件的所有者。创建者和所有者通常相同,但不一定相同。

如果要查找文件的所有者,可以按照Bratchley的说明使用

find / -type f -user user_name

查找这些文件并显示名称。

要显示文件,您需要一些程序来显示您可能会发现的任何文件类型的内容。如果您有一个show_file使用单个file_name作为参数的实用程序,则可以执行以下操作:

find / -type f -user user_name -exec show_file {} \;

0

用途find

find / -type f -user “<SHORTUSERNAME>" -print 2>/dev/null

因此,在您的脚本中:

echo “Enter Username:”;  
while read -e;do find / -type f -user $REPLY -print 2>/dev/null;done
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.