Gestão e controle de usuários, é o básico de qualquer curso ou certificação Linux.
É aqui que o seu conhecimento em administração do sistema começa.
O texto, que segue, é voltado para usuários iniciantes. Ainda assim, desconfio que algumas dicas podem ser desconhecidas do público mais avançado.
Seja qual for o seu caso, espero que este artigo lhe seja útil.
Como ver informações sobre UID, GID e Grupos no Linux
Caso ainda não saiba, veja os significados destas siglas:
- UID — User ID ou identificação de usuário.
- GID — Group ID ou identificação do grupo.
Você pode usar o comando id para obter informações sobre os atributos de grupo, GID e UID:
id justincase
uid=1000(justincase) gid=1000(justincase) groups=1000(justincase),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),126(sambashare)
É possível filtrar esta informação.
Para saber apenas os nomes dos grupos a que o usuário pertence, use o comando id da seguinte forma:
id --groups --name justincase
justincase adm cdrom sudo dip plugdev lpadmin sambashare
Como encontrar os arquivos de um usuário
No próximo exemplo, veja como encontrar todos os arquivos que um determinado usuário tem espalhados pelo sistema.
find /home/ -uid 1000 | tee arquivos-do-justin.txt
Este comando irá procurar recursivamente, dentro do diretório /home, por todos os arquivos pertencentes ao usuário de id 1000 (justincase, no meu caso).
Os que forem encontrados, serão gravados dentro do arquivo ‘arquivos-do-justin.txt’.
Para vê-los, use o comando less:
less arquivos-do-justin.txt
se você substituir a opção ‘-uid’, por ‘-gid’, o comando irá fazer a busca por grupos.
Como transferir a posse de um arquivo entre usuários ou grupos
O comando chown é uma abreviatura para change owner (mude o dono).
Veja um exemplo de seu uso:
chown nome-dono:nome-grupo meu-arquivo.arq
No exemplo, acima, trocamos o usuário e o grupo a que o arquivo pertencia.
Este é o procedimento mais usual — transferir, não somente, a posse para o novo usuário, como também para o novo grupo.
Se quiser apenas transferir a posse de usuário e manter a posse original do grupo, use o comando assim:
chown nome-dono meu-arquivo.arq
Veja um exemplo prático:
chown justincase:justincase .bashrc
Para alterar a posse de todos os arquivos de um diretório, recursivamente, use a opção '-R':
chown -R justincase:justincase /home/musica
Se quiser, você pode envolver o comando find, para fazer o mesmo serviço. Veja este exemplo:
find / -uid 1001 -exec chown -v 1000:1000 {} \;
Execute os comandos para alterar a posse com cuidado, ou você poderá ficar sem acesso a seus arquivos — pelo menos, até mudar de volta à posse original.
Como adicionar e remover usuários no sistema
Além de poder usar as ferramentas GUI (gráficas) para realizar estas tarefas, na linha de comando, as opções são – como quase sempre – mais flexíveis e numerosas.
Veja, quantos comandos: useradd, userdel, usermod, groupadd, groupdel, groupmod, adduser e addgroup.
No Debian e nas distribuições derivadas (como o Ubuntu), há os comandos adduser e addgroup, que são Perl wrappers para os comandos useradd e groupadd.
O comando adduser tem um assistente para ajudar você a criar uma nova conta de usuário no sistema.
Os comandos adduser e addgroup usam as configurações armazenadas no arquivo '/etc/adduser.conf'.
No Red Hat (e derivados), é possível encontrar o adduser, mas ele é apenas um symlink (link simbólico) para o comando useradd. Portanto, nesta distro, ele se comporta como useradd.
Os comandos useradd, userdel, usermod, groupadd, groupdel e groupmod estão presentes em todas as distribuições Linux. O comportamento padrão do comando useradd é definido no arquivo '/etc/default/useradd'.
Você também pode ver as configurações padrão do useradd, com o seguinte comando:
useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
Pra criar um usuário novo, com direito a um assistente, use o comando adduser, conforme a imagem.
O useradd é um comando de baixo nível e precisa de vários parâmetros e opções, na linha de comando, para fazer o trabalho desejado.
A documentação do Debian, recomenda o adduser, que tem um wizard (assistente) para guiar o trabalho do administrador até a conclusão e criação de um novo usuário no sistema.
Para remover usuários do sistema, use o deluser:
deluser novato
ou use a opção --remove-all-files, para excluir todos os arquivos pertencentes ao usuário do sistema (cuidado!)
deluser --remove-all-files novato
ou use a opção --backup, para criar um arquivo de tar.bz2 com todos os arquivos do usuário dentro, antes de removê-los
deluser --backup novato
Se quiser saber mais sobre o comando tar, leia O comando tar em 9 exemplos.
Como encontrar e derrubar processos de determinados usuários
Se você pretende excluir a conta de um usuário do sistema, pode ser interessante, procurar algum processo remanescente dele, que ainda esteja rodando.
Nos comandos abaixo, vamos descobrir a id do usuário e procurar processos rodando sob esta id:
id novato
uid=1002(novato) gid=1002(novato) groups=1002(novato)ps U 1002
PID TTY STAT TIME COMMAND 22312 pts/1 S 0:00 bash 22356 pts/1 S+ 0:00 nano
Como você pode ver, o usuário 1002 (novato) está rodando o bash e o editor de textos nano.
Use o kill para matar os 2 processos:
kill -9 22312 22356
ps U 1002
PID TTY STAT TIME COMMAND
Referências
Leia mais sobre o comando kill.
https://www.linux.com/learn/so-you-think-you-know-linux-user-management.
One reply on “Gerenciamento básico de usuários no Linux”
Boa tarde.
Poderia me ajudar? Estou com esse problema, com digito sudo ….
aparece essa mensagem: sudo: /etc/sudoers.d tem como dono o uid 1000, deveria ser 0
[sudo] senha para wgtoliveira:
Após digitar a senha funciona normalmente. Como corrigir esse erro.
Obrigado
Washington