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 . 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.
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 `