Encuentra archivos creados por un usuario en particular

15

¿Cómo haría para descubrir todos los archivos creados por un usuario en particular y mostrarlos en la pantalla?

Comencé un script que solicita al usuario actual que ingrese el nombre de usuario del que desea ver todos los archivos. He pensado en usar una declaración if teniendo en cuenta que me gustaría incluir la comprobación de errores.

echo -e "Option 11: Display all the Files a Particular User Has Created\n\n"
echo -e "Enter Username below\n"
read username
Nathan Rampado
fuente
66
findtiene una -useropción para buscar archivos propiedad de un usuario en particular. Sin embargo, no estoy seguro de cómo podría determinar quién creó un archivo más allá de eso. La propiedad puede cambiar, así que no sé si eso es lo que realmente quieres.
Bratchley
2
La única forma en que veo realizar eso es tener una auditoría del sistema de archivos en su lugar.
BitsOfNix

Respuestas:

22

No puede hacerlo en los sistemas de archivos Linux habituales, ya que no realiza un seguimiento del creatorarchivo, solo del propietario del archivo. El creador y el propietario suelen ser, pero no necesariamente lo mismo.

Si desea encontrar el propietario del archivo, puede, como indicó Bratchley, usar

find / -type f -user user_name

para encontrar esos archivos y mostrar los nombres.

Para mostrar los archivos necesitaría algún programa que pueda mostrar el contenido de cualquier tipo de archivo que pueda encontrar de esa manera. Si tiene una show_fileutilidad de este tipo que toma un solo nombre_archivo como argumento, puede hacer lo siguiente:

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

Uso find:

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

Entonces, en tu guión:

echo “Enter Username:”;  
while read -e;do find / -type f -user $REPLY -print 2>/dev/null;done
njboot
fuente