Gerenciamento de usuários no GNU?LINUX.
Introdução:
Uma das formas de se obter um nivel seguro de acesso ao sistema operacional GNU/Linux é a sua intrinsêca exigência de permissões de cada usuário
Dessa forma e possível restringir ou permitir o acesso e o uso de determinados recursos a um ou mais usuários , se faz necessário que cada um tenha sido devidamente criado no sistema operacional. as permissões podem ser atribuidas modificadas de acordo com as necessidades.
Criar uma conta de usuário no sistema operacional, permite a cada usuário ter seu proprio ambiente de desktop configurado de acordo com suas preferências, alterar nomes de pastas, guardar suas senhas de modo seguro ter privacidade na internet etc... não serve apenas para restringir ou permitir o acesso aos recursos oferecidos, mas também para respeitar o espaço que cada pessoa tem.
E preciso ter previlégios de root parqa gerenciar contas de usuários no GNU/Linux, dessa forma evita-se danos ao sistema operacional, do contrário, a segurança do sistema estaria comprometida, pois qualquer um poderia criar, alterar ou apagar contas.
Como sabemos no linux tudo é arquivo, para a configuração e gerenciamento de usuários também utilizamos arquivos, basicamente passwd shadow e group.
/etc/passwd -> Contém informações dos usuários do sistema
root@ed-net:/home# cat //etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
libuuid:x:100:101::/var/lib/libuuid:
syslog:x:101:104::/home/syslog:/bin/false
messagebus:x:102:106::/var/run/dbus:/bin/false
usbmux:x:103:46:usbmux daemon,,,:/home/usbmux:/bin/false
dnsmasq:x:104:65534:dnsmasq,,,:/var/lib/misc:/bin/false
ntp:x:105:110::/home/ntp:/bin/false
whoopsie:x:106:114::/nonexistent:/bin/false
lightdm:x:107:115:Light Display Manager:/var/lib/lightdm:/bin/false
edson:x:1000:1000:Edson Pessotti,,,:/home/edson:/bin/bash
pulse:x:108:120:PulseAudio daemon,,,:/var/run/pulse:/bin/false
rtkit:x:109:122:RealtimeKit,,,:/proc:/bin/false
root@ed-net:/home#
/etc/shadow -> Contém informações dos usuários e senhas criptogradas
/etc/group -> Contém informações dos grupos do sistema
Para se entender melhor cada um desses itens, vamos analisá-los separadamente usando como base na linha extraída de um arquivo /etc/passwd,
edson:x:1000:1000:Edson Pessotti,,,:/home/edson:/bin/bash
Note que cada parâmetro do usuário é separado por : (dois pontos). Vamos estudar cada um:
edson: Neste ponto se encontra o nome de login do usuário, no caso, edson. Esse nome não pode ser igual a outro já existente no sistema e, geralmente é limitado a 32 caracteres.
x:A letra x informa que a senha está armazenada e protegida dentro do arquivo /etc/shadow. Se houver um asterisco (*) no lugar, significa que a conta está desativada., se não houver nada, significa que não há senha para esse usuário.
1000: Indica o número UID (User IDentification) do usuário, o sistema pode suportar UIDs que vão de 0 a 4.294.967.296, Normalmente, o UID 0 é atribuído pelo GNU/Linux ao usuário root.
1000: este indica o GID (Group IDentification) do usuário, isto é, o número de identificação do grupo do qual ele faz parte. Assim como no UID, geralmente o usuário 0 é indicado para o grupo do usuário root. Note, no entanto, que um mesmo usuário pode fazer parte de mais de um grupo (geralmente, o GNU/Linux permite a participação do usuário em até 32 grupos). Mas qual a vantagem de se ter mais de um grupo? Simples: suponha, por exemplo, que você queira que somente os funcionários do departamento contábil de sua empresa acessem os arquivos disponíveis na pasta /contabilidade/. Para isso, você cria um grupo e uma definição que faz com que apenas os usuários desse grupo tenham direito ao acesso. Feito isso, basta adicionar ao grupo cada usuário do departamento contábil. Assim, somente eles acessarão o diretório. Via de regra, o sistema operacional cria um grupo para cada conta de usuário criada;
Edson Pessotti,,,:: esse campo é muito interessante, pois permite a inclusão de informações adicionais sobre o usuário cada informação é separada da outra por uma vírgula,. Também chamado de GECOS (GeneralElectric Comprehensive Operating System) em alusão a uma funcionalidade existente em um sistema operacional Unix que tinha esse nome, você pode inserir as informações que achar melhor,
/home/edson: Aqui e referenciado o diretorio do usuario. o padrão é /home/usuario, mas você pode definir o diretório que quiser (ou mesmo não indicar nenhum);
/bin/bash: esse é o campo que informa qual o shell (interpretador de comandos) de login que o usuário utilizará. O GNU/Linux trabalha com vários, entre eles, o bash, o sh e o csh. Caso nenhum shell seja informado, o sistema utilizará o bash como padrão.
/etc/shadow -> Contém informações dos usuários e senhas criptogradas
root@ed-net:/home# cat /etc/shadow
dnsmasq:*:16273:0:99999:7:::
ntp:*:16273:0:99999:7:::
whoopsie:*:16273:0:99999:7:::
lightdm:*:16273:0:99999:7:::
edson:$6$yAZYaj/hpCHhLRSgsFQeoj0Ohg6rfJ.AvMy1uVUpIv2/FZvibejrIC.:16769:0:999:7:::
pulse:*:16769:0:99999:7:::
rtkit:*:16769:0:99999:7:::
root@ed-net:/home#
/etc/group -> Contém informações dos grupos do sistema
root@ed-net:/home# cat /etc/group
root:x:0:
daemon:x:1:
adm:x:4:syslog,edson
tty:x:5:
an:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
winbindd_priv:x:119:
edson:x:1000:
pulse:x:120:
pulse-access:x:121:
rtkit:x:122:
root@ed-net:/home#
ADICIONANDO USUÁRIOS
Adicionando um usuario:adduser em modo root cria auto,atica um /home para o usuario pede para configurar a senha e outros detalhes do usuario. EX:
edson@ed-net:~$ sudo adduser mane
Adding user `mane' ...
Adding new group `mane' (1001) ...
Adding new user `mane' (1001) with group `mane' ...
Creating home directory `/home/mane' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for mane
Enter the new value, or press ENTER for the default
Full Name []: Mane Olistico
Room Number []: 23
Work Phone []: 234523232
Home Phone []: 22 23232 23232
Other []:
Is the information correct? [Y/n] y
edson@ed-net:~$ ls /home/mane
Templates
edson@ed-n
Excluindo USUÁRIOS Deletar usuários do sistema:
Deleta só o usuário e mantem seu diretorio e arquivos.
edson@ed-net:~$ sudo userdel mane
edson@ed-net:~$ ls /home/mane
Templates
edson@ed-net:~$
Deleta o usuário do sistema junto com seu Home e arquivos utiçizando a opção -r :
# userdel -r armando
É possivél especificar um endereço para a home do usuário:
# adduser valter -s /bin/false -d /home/valter/ home
Adicionando um usuário especificando os grupos ao que pertence:
# adduser pedro -G root -g ftpgroup
Adicionando um usuário sem permissão de login:
# adduser matheus -s /bin/false -disable-login
SENHAS :
Uma das práticas mais comuns e a troca de senhas dos usuários.
: # passwd valmour
É possivel determinar o numero de dias de validade, ao que ele será avisado sobre a expiração e troca da senha:
# passwd xavier -w 40
Especificando o numero de dias que sua senha irá expirar:
# passwd xavier -x 50
Para desabilitar um usuário :
# passwd matheus -i
Ao criar uma senha podemos especificar varias opções ao mesmo tempo, numero de dias de expiraração e tempo notificado para trocar a mesma. a expiração, desabilita a conta
# passwd xavier -w 40 -x 50 -i
Para bloquear a conta de um usuário:
# usermod -L xavier
Desbloquear um usuário :
# usermod -U xavier
Forçar a expiração de senha de um usuário forçando a troca no próximo login:
# usermod -e xavier
ALTERANDO PERMISSÕES E PARÂMETROS
Alterando o tipo de shell do usuário:
# usermod -s /bin/false xavier
Alterando a home do usuário:
# usermod -d /var/www/html/xavier
Alterando a home do usuário movendo todo o conteúdo da antiga home para a nova:
# usermod -d /var/xavier/home xavier -m
Altera a data de expiração da senha do usuário no formato de ano--mes--dia:
# usermod -e 2015-12-30 xavier
Altera o nome de login do usuário:
# usermod xavier -l reivax
Altera o GID (Group ID ) do grupo principal do usuário:
# usermod -g 1000 xavier
Altera o UID (User ID) do usuário:
# usermod -u 1000 xavier
Adiciona o usuário ao grupo do sistema:
# adduser xavier root
# usermod -a -G xavier root
DELETANDO USUÁRIOS Deletando usuários do sistema:
# userdel xavier
Deletando o usuário do sistema junto com seus arquivos na pasta home:
# userdel -r xavier
Nenhum comentário:
Postar um comentário