Localiza arquivos criados por um usuário em particular

11

Como eu iria descobrir todos os arquivos criados por um usuário em particular e exibi-los na tela?

Eu iniciei um script que solicita ao usuário atual que digite o nome de usuário de quem deseja visualizar todos os arquivos. Pensei em usar uma instrução if considerando que gostaria de incluir a verificação de erros.

echo -e "Option 11: Display all the Files a Particular User Has Created\n\n"
echo -e "Enter Username below\n"
read username
    
por Nathan Rampado 06.05.2015 / 05:20

2 respostas

19

Você não pode fazer isso nos sistemas de arquivos usuais do Linux, pois ele não controla o creator do arquivo, apenas do proprietário do arquivo. O criador e o proprietário geralmente são, mas não necessariamente iguais.

Se você quiser encontrar o proprietário do arquivo, você pode, como Bratchley indicou, usar

find / -type f -user user_name

para encontrar esses arquivos e exibir os nomes.

Para exibir os arquivos, você precisará de algum programa que mostre o conteúdo para qualquer tipo de arquivo que possa encontrar dessa maneira. Se você tem um utilitário show_file que usa um único nome de arquivo como argumento, você pode fazer:

find / -type f -user user_name -exec show_file {} \;
    
por 06.05.2015 / 06:35
0

Use find :

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

Então, no seu script:

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