Um comando para listar todos os usuários? E como adicionar, excluir, modificar usuários?

659

Eu preciso de um comando para listar todos os usuários no terminal. E como adicionar, excluir, modificar usuários do terminal.

Isso pode ajudar a administrar suas contas facilmente por terminal.

    
por nux 02.07.2014 / 20:10

8 respostas

878

Para listar todos os usuários locais , você pode usar:

cut -d: -f1 /etc/passwd

Para listar todos os usuários capazes de autenticar (de alguma forma), incluindo os não locais, veja esta resposta: link

Alguns comandos mais úteis de gerenciamento de usuários (também limitados a usuários locais ):

Para adicionar um novo usuário, você pode usar:

sudo adduser new_username

ou:

sudo useradd new_username

Veja também: Qual é a diferença entre adduser e useradd?

Para remover / excluir um usuário, primeiro você pode usar:

sudo userdel username

Você pode querer excluir o diretório pessoal da conta de usuário excluída:

sudo rm -r /home/username

(Por favor, use com cuidado o comando acima!)

Para modificar o nome de usuário de um usuário:

usermod -l new_username old_username

Para alterar a senha de um usuário:

sudo passwd username

Para alterar o shell de um usuário:

sudo chsh username

Para alterar os detalhes de um usuário (por exemplo, nome real):

sudo chfn username

E, claro, veja também: man adduser , man useradd , man userdel ... e assim por diante.

    
por Radu Rădeanu 24.01.2014 / 21:23
70

Basta pressionar Ctrl + Alt + T no seu teclado para abrir o Terminal. Quando se abre, execute o (s) comando (s) abaixo:

cat /etc/passwd

OR

less /etc/passwd
more /etc/passwd

Você também pode usar o awk: awk

awk -F':' '{ print }' /etc/passwd
    
por Mitch 24.01.2014 / 20:28
49

A maneira mais fácil de obter esse tipo de informação é getent - consulte manpage para o comando getent . Embora esse comando forneça a mesma saída que cat /etc/passwd , é útil lembrar, porque ele fornecerá listas de vários elementos no sistema operacional.

Para obter uma lista de todos os usuários que você digita (como os usuários estão listados em /etc/passwd )

getent passwd

Para adicionar um usuário newuser ao sistema, digite

sudo adduser newuser

para criar um usuário que tenha todas as configurações padrão aplicadas.

Bônus: Para adicionar qualquer usuário (por exemplo, anyuser ) a um grupo (por exemplo, cdrom ) digite

sudo adduser anyuser cdrom

Você exclui um usuário (por exemplo, obsoleto ) com

sudo deluser obsolete

Se você quiser excluir o diretório pessoal / e-mails, digite

sudo deluser --remove-home obsolete

e

sudo deluser --remove-all-files obsolete

removerá o usuário e todos os arquivos pertencentes a esse usuário em todo o sistema.

    
por user1721265 02.02.2014 / 19:50
17

Isso deve ficar, na maioria das situações normais , todos os usuários normais (não-sistema, não estranhos, etc.):

awk -F'[/:]' '{if ( >= 1000 &&  != 65534) print }' /etc/passwd

Isso funciona por:

  • lendo em /etc/passwd
  • usando : como um delimitador
  • se o terceiro campo (o número de ID do usuário) for maior que 1000 e não 65534, o primeiro campo (o nome de usuário do usuário) será impresso.

Isso ocorre porque em muitos sistemas Linux, nomes de usuários acima de 1000 são reservados para usuários sem privilégios (você poderia dizer normal). Algumas informações sobre este aqui :

  

Um ID do usuário (UID) é um inteiro positivo exclusivo atribuído por um Unix-like   sistema operacional para cada usuário. Cada usuário é identificado para o sistema   por seu UID, e os nomes de usuários geralmente são usados apenas como uma interface para   humanos.

     

UIDs são armazenados, juntamente com seus nomes de usuário e outros   informações específicas do usuário, no arquivo / etc / passwd ...

     

O terceiro campo contém o UID, e o quarto campo contém o   ID do grupo (GID), que por padrão é igual ao UID para todos os   usuários.

     

Nos kernels 2.4 e superiores do Linux, os UIDs são números inteiros de 32 bits não assinados   que podem representar valores de zero a 4.294.967.296. No entanto, é   aconselhável utilizar apenas valores até 65.534 para manter   compatibilidade com sistemas que usam kernels mais antigos ou sistemas de arquivos   acomodar apenas UIDs de 16 bits.

     

O UID de 0 tem uma função especial: é sempre a conta raiz (por exemplo,   o usuário administrativo onipotente). Embora o nome do usuário possa ser   alterado nesta conta e contas adicionais podem ser criadas com   o mesmo UID, nenhuma ação é sábia do ponto de vista de segurança.

     

O UID 65534 é comumente reservado para ninguém, um usuário sem sistema   privilégios, em oposição a um usuário comum (ou seja, não privilegiado).   Este UID é frequentemente usado para indivíduos que acessam o sistema remotamente   via FTP (protocolo de transferência de arquivos) ou HTTP (transferência de hipertexto   protocolo).

     

Os UIDs 1 a 99 são tradicionalmente reservados para usuários especiais do sistema   (às vezes chamado de pseudo-usuários), como roda, daemon, lp, operador,   notícias, e-mail, etc. Esses usuários são administradores que não precisam do total   root poderes, mas que realizam algumas tarefas administrativas e, portanto, precisam   mais privilégios do que aqueles dados a usuários comuns.

     

Algumas distribuições Linux (por exemplo, versões) começam UIDs para   usuários não privilegiados em 100. Outros, como a Red Hat, iniciam-nos em   500, e ainda outros, como o Debian, inicie-os em 1000. Por causa do   diferenças entre distribuições, a intervenção manual pode ser necessária   se várias distribuições são usadas em uma rede em uma organização.

     

Além disso, pode ser conveniente reservar um bloco de UIDs para usuários locais,   como 1000 a 9999 e outro bloco para usuários remotos (por exemplo,   usuários em outros locais da rede), como 10000 a 65534. O importante   coisa é decidir sobre um esquema e aderir a ele.

     

Entre as vantagens dessa prática de reservar blocos de números   para determinados tipos de usuários é que isso torna mais conveniente   pesquisar nos logs do sistema por atividade suspeita do usuário.

     

Ao contrário da crença popular, não é necessário que cada entrada no   O campo UID é exclusivo. No entanto, UIDs não exclusivos podem causar segurança   problemas e, portanto, os UIDs devem ser mantidos únicos em todo o   organização. Da mesma forma, a reciclagem de UIDs de antigos usuários deve ser   evitado pelo maior tempo possível.

    
por Wilf 08.06.2015 / 22:09
16

Você também pode usar compgen integrado:

compgen -u

Lista todos os usuários.

    
por Ravexina 14.06.2017 / 14:51
12

lista de todos os usuários que podem fazer login (nenhum usuário do sistema como: bin, deamon, mail, sys, etc.)

awk -F':' ' ~ "$" {print }' /etc/shadow

adicione novo usuário

sudo adduser new_username

ou

sudo useradd new_username

delete / remove username

sudo userdel username

Se você deseja excluir o diretório inicial (padrão, o diretório / home / username)

sudo deluser --remove-home username

ou

sudo rm -r /path/to/user_home_dir

Se você quiser excluir todos os arquivos do sistema deste usuário (não apenas o diretório base)

sudo deluser --remove-all-files
    
por Donovan Vesters 25.09.2014 / 17:47
7

Ok, aqui está um truque que irá ajudá-lo a resolver isso. O terminal tem preenchimento automático se você digitar o usuário e apertar a tecla Tab duas vezes, ele listará todos os comandos que existem com o usuário como os primeiros 4 caracteres.

user (tab tab)

me dá como opções possíveis     useradd userdel usermod usuários users-admin
se você quiser saber mais sobre um comando google ou digite man     man useradd dá     useradd - cria um novo usuário ou atualiza as informações do novo usuário padrão     ...     ...

para listar os usuários, você deve seguir o que o Mitch disse.

Espero que ajude eu amo conclusão de tabulação no bash me salva de lembrar as coisas.

    
por user239243 24.01.2014 / 20:38
3

Para descobrir os usuários que possuem diretórios home na pasta / home da máquina, execute os seguintes comandos

cd /home
ls 

Você pode então ver os usuários que têm autorização para efetuar login no servidor. Se quisermos analisar os arquivos de qualquer usuário, você deve ser o usuário root.

    
por anvesh 24.07.2016 / 16:45