Eu preciso de um comando para listar todos os usuários no terminal. E como adicionar, excluir, modificar usuários do terminal.
Isso poderia ajudar na administração de suas contas facilmente por terminal.
Eu preciso de um comando para listar todos os usuários no terminal. E como adicionar, excluir, modificar usuários do terminal.
Isso poderia ajudar na administração de suas contas facilmente por terminal.
sed 's/:.*//' /etc/passwd
awk -F: '{ print $1 }' /etc/passwd
Respostas:
Listar
Para listar todos os usuários locais, você pode usar:
Para listar todos os usuários capazes de se autenticar (de alguma forma), incluindo não local, consulte esta resposta .
Alguns comandos mais úteis de gerenciamento de usuários (também limitados a usuários locais ):
Adicionar
Para adicionar um novo usuário, você pode usar:
ou:
Consulte também: Qual é a diferença entre adduser e useradd?
Para remover / excluir
Para remover / excluir um usuário, primeiro você pode usar:
Em seguida, convém excluir o diretório inicial da conta de usuário excluída:
Por favor, use com cuidado o comando acima!
Para modificar
Para modificar o nome de usuário de um usuário:
Para alterar a senha de um usuário:
Para alterar o shell para um usuário:
Para alterar os detalhes de um usuário (por exemplo, nome real):
Para adicionar um usuário ao
sudo
grupo:ou
E, claro, ver também:
man adduser
,man useradd
,man userdel
... e assim por diante.fonte
sudo chfn <username>
alterações nos detalhes do usuário (por exemplo, nome real). Tentei adicionar isso como um comentário, mas recebi um erro ao me dizer que devo ter +50 de reputação para fazer isso.Basta pressionar Ctrl+ Alt+ Tno teclado para abrir o Terminal. Quando abrir, execute o (s) comando (s) abaixo:
OU
Você também pode usar o awk: awk
fonte
adduser
,useradd
deve se limitar a scripts em que o autor realmente sabe o que está fazendo.A maneira mais fácil de obter esse tipo de informação é
getent
- consulte a página de manual dogetent
comando . Embora esse comando tenha a mesma saídacat /etc/passwd
que é útil lembrar, ele fornecerá listas de vários elementos no sistema operacional.Para obter uma lista de todos os usuários digitados (conforme os usuários estão listados
/etc/passwd
)Para adicionar um usuário newuser para o sistema você deve digitar
para criar um usuário com todas as configurações padrão aplicadas.
Bônus: Para adicionar um usuário (por exemplo anyuser ) a um grupo (por exemplo, CD-ROM ) tipo
Você exclui um usuário (por exemplo, obsoleto ) com
Se você deseja excluir o diretório inicial / e-mails, digite
E
removerá o usuário e todos os arquivos pertencentes a esse usuário em todo o sistema.
fonte
getent passwd
sendo o comando certoVocê também pode usar o
compgen
GNU bash embutido :Will lista todos os usuários.
fonte
Isso deve obter, na maioria das situações normais , todos os usuários normais (não pertencentes ao sistema, não estranhos, etc.):
Isso funciona por:
/etc/passwd
:
como delimitadorIsso ocorre porque em muitos sistemas linux, nomes de usuário acima de 1000 são reservados para usuários sem privilégios (você poderia dizer normal). Algumas informações sobre isso aqui :
fonte
getent
vez de ler diretamente/etc/passwd
e procurarUID_MIN
/ emUID_MAX
vez de codificar os valores:getent passwd | awk -F: "{if (\$3 >= $(awk '/^UID_MIN/ {print $2}' /etc/login.defs) && \$3 <= $(awk '/^UID_MAX/ {print $2}' /etc/login.defs)) print \$1}"
lista de todos os usuários que podem efetuar login (nenhum usuário do sistema gosta: bin, deamon, email, sys, etc.)
adicionar novo usuário
ou
excluir / remover nome de usuário
Se você deseja excluir o diretório inicial (o diretório / home / nome de usuário)
ou
Se você deseja excluir todos os arquivos do sistema deste usuário (não é apenas o diretório inicial)
fonte
adduser
euseradd
. Também adicione osudo
prefixo-ao primeiro comando. O arquivo de sombra da senha pode ser lido apenas como raiz.awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow
me mostrou todos os usuários, incluindo bin, daemon, etc. e lançou este aviso: seqüência de escape\$' treated as plain
$' Eu encontrei este post stackoverflow.com/a/25867768/847954 e acrescentou mais uma barra invertida e funcionou muito bem:awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow
Ok, aqui está um truque que o ajudará a resolver isso. O terminal possui preenchimento automático se você digitar user e pressionar a tecla Tab duas vezes, listará todos os comandos existentes com o usuário como os 4 primeiros caracteres.
dá-me como opções possíveis useradd userdel usermod usuários users-admin
se você quiser saber mais sobre um comando google it ou digite man man useradd gives useradd - crie um novo usuário ou atualize as novas informações padrão do usuário ... ...
Para listar os usuários, você deve seguir o que Mitch disse.
Espero que ajude a adorar a conclusão de guias no bash me salve de lembrar das coisas.
fonte
Para descobrir os usuários que possuem diretórios pessoais na pasta / home na máquina, execute os seguintes comandos
Você pode ver os usuários que têm autorização para efetuar login no servidor. Se queremos examinar os arquivos de qualquer usuário, você deve ser o usuário root.
fonte
/home
. Embora o Ubuntu coloque os diretórios de usuário por padrão, ele não é de forma alguma obrigatório.ls /home
também pode conter diretórios de usuários excluídos.