Gerenciamento básico de usuários no Linux

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.
gnu linux tux flag
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.
linux unix useradd
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.

Como criar novo usuário no MySQL

Neste post, vou mostrar algumas formas de criar um novo usuário no servidor de banco de dados MySQL e como acessar o sistema através dele.
É interessante conhecer e saber usar o sofisticado sistema de gestão de usuários, do MySQL, que controla quem pode acessar e de onde pode fazê-lo.
Uma vez que é uma atividade administrativa, de superusuário, você precisa ter acesso ao root para realizar os procedimentos descritos aqui e usar o comando GRANT do SQL para ajustar privilégios dos usuários criados – e, só pra lembrar, quando falamos em root no MySQL, não estamos nos referindo ao root no Linux. Cada um no seu quadrado.

Como atribuir uma senha à sua conta administrativa

Se foi você quem instalou o sistema, provavelmente já configurou detalhes como a senha do root.
Para atribuir uma senha nova (pela primeira vez) à sua conta root, use o mysqladmin, no terminal:

mysqladmin -u root password NOVASENHA

Se for o caso de alterar uma senha preexistente, use o comando como segue – por exemplo, vamos trocar a senha de uruguay para brasil:

mysqladmin -u root -puruguay password brasil

Sim. A senha deve ficar “grudada” à opção -p.

LEIA MAIS

Como criar uma conta de usuário no MySQL

No tópico anterior, nos certificamos de ter condições de entrar na conta administrativa do MySQL, root. Agora vamos entrar, no banco de dados, para iniciar o procedimento de criar contas para outros usuários.
Entre no MySQL, usando a senha root, já cadastrada:

mysql -u root -p

ou

mysql -u root -h localhost -p

Crie um novo banco de dados MySQL chamado exemplo:

CREATE DATABASE exemplo;

Entre no banco de dados, com o comando USE:

USE exemplo;

Agora crie, com o comando GRANT um usuário chamado papaleguas, com todos os privilégios sobre o banco de dados exemplo — troque a senha minhasenha pela que mais lhe convier:

GRANT ALL ON exemplo.* TO papaleguas@localhost IDENTIFIED BY 'minhasenha';

Como conectar ao banco de dados MySQL usando a minha nova conta de usuário

Para entrar no MySQL, usando uma conta de usuário comum, como a que foi criada no tópico anterior, já fazendo uso do banco de dados exemplo, use o seguinte procedimento:
Se estiver dentro do MySQL, use o comando QUIT, para sair:

QUIT;

Em seguida, na linha de comando…

mysql -u papaleguas -p exemplo

ou

mysql -u papaleguas -h localhost -p exemplo

onde,

  • -u papaleguas — é o nome do usuário MySQL;
  • -h localhost — é o nome do servidor local, onde se encontra instalado o MySQL – você deve sempre alterar estas variáveis para atender as suas condições;
  • -p — quando esta opção é fornecida sem a senha (grudadinha), o sistema a pedirá antes de entrar;
  • exemplo — ao fornecer o nome de um banco de dados, antes de entrar, o sistema já se conecta a ele após a autenticação. Isto é opcional. Você pode escolher o banco de dados que deseja usar, depois de entrar no MySQL

Espero ter conseguido sanar suas dúvidas com esta explicação.
Quer ler mais sobre MySQL? Então, use o sistema de busca do site!

Como adicionar ou criar um novo usuário no Linux

Elias Praciano - Tux Ninja - The Linux AdministratorEste post não pretende esgotar o assunto a ponto de deixar um administrador de sistemas totalmente satisfeito. Mas vamos tentar fazer a felicidade de usuários comuns, simplificando tudo, com o “jeito universal” de criar novos users.

No terminal

Aprender a criar novos usuários no terminal é útil por que você não fica dependente de variações nas interfaces gráficas dos diversos sabores Linux disponíveis. Desde que você tenha acesso a um terminal e privilégios administrativos, tudo sempre vai dar certo pra você.
Abra um terminal (Ctrl + Alt + T, no Ubuntu) e digite o comando:

sudo adduser ericclapton
Adicionando o usuário `ericclapton' ...
Adicionando novo grupo 'ericclapton' (1002) ...
Adicionando novo usuário `ericclapton' (1002) ao grupo `ericclapton' ...
O diretório pessoal '/home/ericclapton' já existe. Não copiando de '/etc/skel'.
Digite a nova senha UNIX: 
Redigite a nova senha UNIX: 
passwd: senha atualizada com sucesso
Modificando as informações de usuário para ericclapton
Informe o novo valor ou pressione ENTER para aceitar o padrão
	Nome Completo []: Eric Patrick Clapton
	Número da Sala []: 
	Fone de Trabalho []: 
	Fone Residencial []: 
	Outro []: 
A informação está correta? [S/n]

Depois que você forneceu a nova senha do usuário e a confirmou, ele já estará criado. As informações que são pedidas, em seguida, são opcionais. Não é fácil?
Isto já é o suficiente para você adicionar todas as pessoas que precisam ter acesso a um determinado computador em sua casa, na empresa, na escola etc.