quarta-feira, 2 de dezembro de 2015

Gerenciamento de Usuarios Linux.

                             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

Megacubo par Linux e Wnidows - Assistir TV no Computador

                            MEGACUBO PARA LINUX Ola!! Neste  post vamos falar  um pouquinho sobre o  Megacubo, um tradicional programa ...