Encontrando o diretório home de todos os usuários

3

Eu sou um desenvolvedor de software, de repente me encontrando tendo que jogar o SysAdmin.

Recentemente, recebi uma caixa anteriormente administrada por outra pessoa, e esse tipo de SysAdmin acabou de fazer o que ele queria. Meu supervisor recebe a caixa SysAdmin e parece que os diretórios pessoais dos usuários estão ocultos em todos os lugares da caixa.

Escusado será dizer que a resposta para o seu problema é "ei estagiário!"

Então, eu queria saber se havia uma maneira de encontrar todos os diretórios pessoais de todos os usuários na caixa? A caixa em que estou trabalhando é o RHEL 5.

    
por eskaife 31.07.2013 / 23:04

2 respostas

7

Supondo que todos os usuários sejam usuários locais (ou seja, não há serviço de diretório de rede como LDAP, Active Directory, NIS, etc.), os usuários locais provavelmente serão todos enumerados em /etc/passwd , que é um arquivo delimitado por dois pontos com o seguintes campos:

username:password:uid:gid:name:home directory:shell

Você pode obter apenas os nomes de usuário e diretórios pessoais, se for mais fácil, assim:

awk -F: '{print $1,$6}' /etc/passwd

Usando a sugestão da Urgoll de usar o comando getent , isso é:

getent passwd | awk -F: '{print $1,$6}'
    
por 31.07.2013 / 23:07
1

Você está com sorte! Tudo que você quer em /etc/passwd : -)

Por exemplo:

jay:x:1000:1000:Jay Shah,,,:/home/jay:/bin/bash

Onde jay é meu nome de usuário, 1000 é meu uid / gid, /home/jay é meu diretório inicial e /bin/bash é meu shell.

    
por 31.07.2013 / 23:06