Basta executar tree -d
como esse usuário, usando sudo -u
ou su
.
# sudo -u grawity tree -d /run /run ├── dbus ├── dovecot ├── gdm [error opening dir] ├── httpd ...
Eu quero executar um script que mostrará todas as pastas (saída para um arquivo de texto) que o usuário em execução pode ver a partir do root, até o ponto em que ele não tem permissão para ir mais longe.
Alguém tem um script para isso?
Estou executando o RedHat 6
Basta executar tree -d
como esse usuário, usando sudo -u
ou su
.
# sudo -u grawity tree -d /run /run ├── dbus ├── dovecot ├── gdm [error opening dir] ├── httpd ...
Isso pode ser feito a partir da linha de comando usando:
tree -d / > textfile.txt 2> /dev/null
enquanto estiver conectado a essa conta. Isso forneceria uma listagem de diretórios de formato longo de forma recursiva, gravaria a saída em textfile.txt
e os erros no blackhole que é /dev/null
. Se você quiser manter os erros, remova o 2>
redirect. Se feito a partir da conta raiz, você pode adicionar sudo -u <username>
ao início do comando para executar a tarefa como outro usuário. Se ele precisa ser um script, você pode simplesmente soltar o comando em um shell script, ou se você só precisa fazer isso sozinho e deseja facilidade de acesso, você poderia criar um alias com o comando.
Edit: Agora que você adicionou que está no RHEL, conheço duas maneiras diferentes de lidar com isso. Se você não precisa realmente desenhar a estrutura em árvore, mas apenas deseja uma listagem recursiva de diretórios, você pode alternar tree -d
para find / -type d -ls
ou, se você tivesse privilégios de instalação, execute yum install tree
.