Como adicionar ou remover usuários no Linux, entendendo como funciona tudo.
Como você já deve saber, o Linux é um sistema multi-usuário, então, é claro que não só pode existir um usuário usando o sistema. Uma primeira coisa que possamos dizer é que o Linux não pode de alguma maneira ser usada sem estar sendo um usuário. O usuário ‘root’ é o administrador do sistema, e é ele quem você vai usar primeiro para criar outros usuários depois (a não ser que você tenha criado um usuário comum durante a instalação do seu Linux).
Antes de mais nada, fique sabendo que o root é um usuário especial, ele pode fazer TUDO em seu sistema, não importa o que acontecer, ele faz. Ao contrário dos usuários comuns, que têm restrições. Se você já instalou algum Linux, você verá que a primeira coisa que você irá fazer antes de usar o sistema é se logar como root, ou seja, preencher aquele campo login: com o usuário root. Mas aí por alguma razão você quer mudar de usuário, ou criar outro, ou qualquer coisa do tipo, então você se pergunta: “Como?”
Há um comando específico para isto. Este comando é o “adduser” ou “useradd”. Dependendo da distribuição, o comando “adduser” vai ser apenas um comando igual ao “useradd”, ou então um script interativo que irá lhe fazendo perguntas, você irá preenchendo, e então o script criará um usuário no sistema para você.
No caso do “adduser” ser um comando mesmo, você poderá utilizar assim:
adduser hugo passwd hugo
Isso respectivamente irá criar um usuário padrão chamado hugo, e depois com o comando “passwd”, você definirá uma senha para este usuário. Você pode especificar outros parâmetros para o usuário, como no comando a seguir:
adduser hugo -d /var/usuarios/hugo -s /dev/null
Com estes parâmetros, especifiquei que o usuário hugo terá como diretório home o “/var/usuarios/hugo” e como shell o “/dev/null” (ou seja, não terá shell). Sem estes parâmetros, o diretório home seria “/home/hugo” e o shell seria “/bin/bash”.
Vamos entender agora como este comando funciona, que é uma coisa essencial que todos deveriam saber em relação ao sistema Linux. Cada um desses programas escrevem o usuário no arquivo de configuração do Linux referente aos usuários do sistema. Este arquivo é o “/etc/passwd”. Cada linha deste arquivo é um usuário cadastrado no sistema. Com as informações que vou lhe dar aqui, você pode muito bem criar uma conta sem usar estes programas/scripts citados acima.
O passwd é formado por linhas onde cada linha é um usuário, como falei acima, então vamos aprender a montar cada linha desta. Vou pegar um exemplo para vocês:
hugo:x:1001:100:Hugo Cisneiros:/home/hugo:/bin/bash
Vamos dividir esta linha em “campos”, onde cada um é separado por : (dois pontos), olhe só:
Campo | Significado |
hugo | Login do Usuário, aqui você pode colocar o nome que quiser com até 8 caracteres. |
x | Aqui diz que o password está no arquivo /etc/shadow. Se estivesse *, a conta estaria desabilitada, e se estivesse sem nada (::), a conta não teria password. |
1001 | UID (User IDentification), o número de identificação do usuário. |
100 | GID (Group IDentification), o número de identificação do grupo do usuário. |
Hugo Cisneiros | Comentários do usuário, como nome, telefone, etc |
/home/hugo | O diretório HOME do usuário. |
/bin/bash | Shell do usuário, ou seja, o programa que irá enterpretar os comandos que o usuário executar. |
Obs: O /etc/shadow é um arquivo que contém a senha do usuário criptografada, se alguém tiver posse dela, esta pessoa pode muito bem comparar as senhas com uma lista de palavras, e pode descobrir as senhas dos usuários. Felizmente este arquivo está muito bem protegido pelo sistema :)
Bem, legal, aprendi sobre adicionar um usuário, mas como faço para removê-lo? Simples, você pode apagar a linha referente a ele no /etc/passwd e os seus arquivos, ou simplesmente digitar userdel usuario. Combine com a opção -r para deletar junto o diretório HOME do usuário.
Ahhhhh? Você quer mais? O quê? Quer deixar um usuário como se fosse root? Então vamos lá que não temos nada a perder! O root possui o UID e o GID igual à 0 (zero), e um usuário comum não. Se nós forçássemos a mudança do UID e GID de um usuário para 0, ele ficaria como se fosse o root! Por exemplo, eu tenho a linha do usuário no /etc/passwd e mudo:
hugo:x:1001:100:Hugo Cisneiros:/home/hugo:/bin/bash hugo:x:0:0:Hugo Cisneiros:/home/hugo:/bin/bash ^ ^
Pronto, o usuário hugo vai ser também o root do sistema, o administrador do sistema, o deus do sistema, etc. Outra dica: Não é muito bom ficar usando o usuário root, este usuário é somente para a administração do sistema, então eu recomendo à você a usar sempre um usuário normal, ser da plebe :) E se for precisar usar o root, logar como ele ou utilizar o comando “su -” para se tornar o próprio root.
Outro arquivo que tem muito haver com os usuários no Linux é o /etc/group. Que contém as definições de cada grupo, como por exemplo seus nomes, GIDs, e usuários adicionais que pertencem à ele. Você adicionando uma linha neste arquivo estará criando um novo grupo. Vamos criar aqui um novo grupo no /etc/group:
metal:x:666:hugo,jim,eitch
Adicionando esta linha acima no arquivo /etc/group, um novo grupo é criado: com o nome ‘metal’, o GID ‘666’ e como usuários adicionais pertencentes à ele, ‘hugo, jim, eitch’. Fácil não?
Bem é isso, combinando este conhecimento com algo sobre permissões dos arquivos, você pode controlar muito bem quem usa o seu sistema ou servidor, dizendo quem pertence à que grupo, quais seus diretórios, que arquivos podem acessar, entre outros. Bom proveito!