Como ver permisisons baseando-se no usuário, não em arquivos / pastas

0

Eu tenho configuração de compartilhamento de samba e permissões para arquivos e pastas são dadas através de setfacl, em seguida, uma cópia de todo o comando

setfacl -m user:*username*:rwx /mnt/working/*MainFolder*/Engineering dept/OPERATED PROPERTIES/Texas/Martin County/Test_#1_Well_File.xls

é salvo na pasta setperms.sh . Se os comandos setfacl forem executados sem serem salvos na pasta setperms.sh , não haverá registro da permissão concedida a determinados usuários.

Existe uma maneira de CLI ou GUI para ver a que um usuário tem acesso? não o RWX para arquivos e pastas através de ls -l ou getfacl <file or folders name> , mas uma maneira de digitar um nome de usuário e ver, como uma árvore, o acesso de diretório inteiro para esses usuários em particular?

    
por sogtech 11.05.2016 / 22:01

1 resposta

0

Acredito que o comando que você está procurando para encontrar todas as pastas que pertencem a um usuário específico seria:

sudo find / -type d -uid $(id -u <username>) 2>/dev/null > filename.txt

Vamos detalhar esse comando.

sudo significa executar o comando como um usuário elevado.

find é o comando real que estamos executando e, é claro, estamos procurando por algo. A execução de man find exibirá as man pages do comando find mostrando mais opções disponíveis.

/ é o ponto de partida em que find começará a procurar. find é uma aplicação recursiva que significa que irá procurar em todas as pastas.

-type d significa que queremos que ele retorne apenas diretórios. -type f significaria arquivos.

-uid $(id -u <username>) queremos o número UID do usuário do comando sub-shell de id -u <username> . Colocar o comando no $() é a sub-casca que nos permite pegar a saída do comando. Se você executou o comando por si só como id -u root , ele retornará um 0 , já que é o UID do usuário raiz. Então, a própria opção seria parecida com -uid 0 , já que o comando sub-shell retornaria.

2>/dev/null significa suprimir mensagens de erro e enviá-las para /dev/null , o que significa que você não verá a saída dos erros.

> filename.txt é para onde queremos enviar a saída em vez da tela. Isso também pode ser substituído por | tee -a filename.txt , o que permitirá que você veja a saída na tela, além de criar um filename.txt contendo o mesmo material que você viu na tela.

Espero que isso ajude!

    
por Terrance 11.05.2016 / 22:16