Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

Preciso de um comando para listar todos os usuários, bem como comandos para adicionar, excluir e modificar usuários do terminal - quaisquer comandos que possam ajudar na administração de contas de usuário facilmente por terminal.

Lista

Para listar todos local usuários que você pode usar:

cut -d: -f1 /etc/passwd

Para listar todos os usuários capazes de autenticar (de alguma forma), incluindo Não locais, consulte esta resposta.

Alguns comandos de gerenciamento de usuário mais úteis (também limitados a local usuario):

Adicionar

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

sudo adduser new_username

ou:

sudo useradd new_username

Ver: Qual é a diferença entre adduser e useradd?

Para remover / excluir

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

sudo userdel usuario

Então você pode querer excluir o diretório inicial da conta de usuário excluída :

sudo rm-r / home/usuario

Por favor, use com cuidado o comando acima!

Modificar

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 usuario

Para alterar o shell para um usuário:

sudo chsh usuario

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

sudo chfn usuario

Para adicionar um usuário ao sudo grupo:

adduser usuario sudo

ou

usermod -aG sudo usuario

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

Premir Ctrl+Alt+T no teclado para abrir o Terminal. Quando abrir, execute o(s) Comando (S) abaixo:

cat /etc/passwd

OU

less /etc/passwdmore /etc/passwd

Você também pode usar awk:awk

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

A maneira mais fácil de obter esse tipo de informação é getent - ver manpage para o getent comando Manpage icon. Embora esse comando forneça a mesma saída que cat /etc/passwd é útil lembrar porque 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 para o sistema que você digitaria

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) para um grupo (por exemplo ROM) tipo

sudo adduser anyuser cdrom

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

sudo deluser obsolete

Se você quiser excluir seu diretório inicial / e-mails também você digita

sudo deluser --remove-home obsolete

E

sudo deluser --remove-all-files obsolete

irá remover o usuário e todos os arquivos de propriedade deste usuário em todo o sistema.

Você pode usar compgen GNU bash embutido muito:

compgen -u

Will lista todos os usuários.

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

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

Isso funciona por:

  • lendo em de /etc/passwd
  • mear : 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ário acima de 1000 são reservados para usuários não privilegiados (você poderia dizer normal). Algumas informações sobre isso aqui:

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

Os UIDs são armazenados, juntamente com seus nomes de usuário correspondentes e outras 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 comuns.

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

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

O UID 65534 é geralmente reservado para ninguém, um usuário sem privilégios de sistema, 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 (file transfer protocol) ou HTTP (hypertext transfer protocol).

Os UIDs 1 a 99 são tradicionalmente reservados para usuários especiais do sistema (às vezes chamados de pseudo-usuários), como wheel, daemon, lp, operator, news, mail, etc. Esses usuários são administradores que não precisam de poderes de root totais, mas que executam algumas tarefas administrativas e, portanto, precisam de mais privilégios do que aqueles dados a usuários comuns.

Algumas distribuições Linux (ou seja, versões) começam UIDs para usuários não privilegiados em 100. Outros, como a Red Hat, começam com 500, e outros, como o Debian, começam com 1000. Devido às diferenças entre as distribuições, a intervenção manual pode ser necessária se várias distribuições forem 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 (ou seja, usuários em outros lugares da rede), como 10000 a 65534. O importante é 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 está o fato de que torna mais conveniente pesquisar nos logs do sistema por atividades suspeitas do Usuário.

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

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

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

adicionar usuario

sudo adduser new_username

ou

sudo useradd new_username

excluir/ remover nome de usuário

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ê deseja excluir todos os arquivos do sistema deste usuário (não é apenas o diretório inicial)

sudo deluser --remove-all-files

Ok, aqui está um truque que o ajudará a resolver isso. O terminal tem conclusão automática Se você digitar o Usuário e pressione a tecla Tab duas vezes, ele listará todos os comandos que existem com o usuário como os primeiros 4 caracteres.

user (tab tab)

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

para listar usuários, você deve ir com o que Mitch disse.

Espero que ajude eu amo a conclusão da guia no bash me salva de lembrar das coisas.

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

cd /homels 

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

A primeira resposta recomenda:

cut -d: -f1 /etc/passwd

Mas usando isso e contando o número de usuários que você obtém:

$ cut -d: -f1 /etc/passwd | wc -l46

46 usuários para um laptop são muito!. Então use isso em vez disso:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1rootrickguest-atkb2qguest-u4sf2iguest-rmlbtgguest-mz53vp

Para remover contas de convidado (que não têm arquivos salvos de qualquer maneira) use:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync|guest-)' | cut -d: -f1rootrick

Alguns usuários de amostra removidos da listagem são:

systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/falsegnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncsync:x:4:65534:sync:/bin:/bin/syncguest-atkb2q:x:999:999:Guest:/tmp/guest-atkb2q:/bin/bash

Acontece que a maioria dos usuários em um único sistema de usuário são, na verdade, programas que se configuraram como usuários.

sed resposta ’ sed ’ s/:.* / / '/etc / passwd`

lista de usuários: ‘awk-F:’ { print $1} ’ / etc / passwd `