segunda-feira, 26 de março de 2012

Gerenciamento de usuários, grupos e privilégios




Gerenciamento de usuários
Visa controlar todos os usuários que de certa maneira manipulam o sistema operacional. Esse gerenciamento tem como objetivo, entre outros, manter a integridade dos dados manipulados por determinado usuário. Imagine um meio digital onde vários usuários usufruem de apenas um computador, cada um deles tem seus documentos pessoais, no qual somente o proprietário deva acessar, manipular, e alterar. Uma maneira de controlar isso é criar um usuário para cada um, limitando oque cada um pode acessar no sistema.



Arquivo de configuração
 Qualquer conta de usuário criado no GNU/Linux, terá suas informações armazenadas no arquivo passwd, que pode ser encontrado no caminho /etc/passwd . Esse arquivo contem informações como: 
  1. Login
  2. Senha
  3. UID (User IDentification), numero de identificação do usuário
  4. GID(Group IDentification), numero de identificação do grupo
  5. Informações adicionais 
  6. Diretorio "home" do usuário
  7. Shel do usuário
As informações no arquivo passwd são separadas por dois pontos como mostra o exemplo asseguir:

  Ex:
     mancha:x:1010:510:Antonio, Brasil:/home/mancha:/bin/bash
  Entendendo:
                    
As informações, seguem a ordem apresentada anteriormente do 1 ao 7. Nesse conceito entendemos no exemplo que:
  • Login: mancha
  • Senha: x (a letra x nos informa  que a senha está protegida e armazenada no arquivo /etc/shadow. Quando estiver um * (asterisco) quer dizer que a conta esta desativada, a senha também pode aparecer ali encriptada.
  • UID: 1010
  • GID: 510
  • Informações adicionais: Antonio, Brasil
  • Diretorio: /home/mancha
  • Shell: /bin/bash


GERENCIANDO USUÁRIOS
 Todos comando devem ser utilizado no seu shell padrão pelo grupo de administradores do sistema, usuário root.

shell ??
Interpretador de comandos que permite a execução de comandos direto no prompt do sistema.



.:Cadastro:.
Comando básico: O comando adduser adiciona um novo usuário no sistema.

         

com as opções pode-se inserir informações auxiliares.

Opção
-c ou --comment : Usado para inserir comentário.
-d ou --home: Cria o diretório do usuário que o servira de pasta home.
-e ou --expiredate: Define a data de expiração da conta do usuário, formato ano-mês-dia.
-g ou --groups: Nome ou GID do grupo que será padrão na criação do usuário.
-M :Cria o usuário mas não cria a pasta home

Exemplos:
                           Obs: Verifique todos comando atrávez do comando: # man adduser


.:Apagar:.
Comando básico: O comando userdel exclui usuário do sistema
Opções:
- r ou --remove:  Remove o usuário juntamente com sua pasta home.
 Obs: Verifique todos comando atrávez do comando: # man userdel 


.:Alterar:.
Comandos básicos:

  •  Comando usermod  é utilizado para alterar dados das contas do sistema.
Opções:
 -d :  Altera a pasta home do usuário.
-L : Altera o login do usuário
                               Obs: Verifique todos comando atrávez do comando: # man usermod 


  • Temos também o comando passwd usado para alterar dados dos usuários.


Opções:
-x dias: Faz com que sua senha funcione pelos dias determinado aqui.
-i: Inativa a conta do usuário.
-l:  Bloqueia a conta do usuário.
-u: Desbloqueia a conta do usuário.
-S: Exibe status da conta

                         Obs: Verifique todos comando atrávez do comando: # man passwd  


GERENCIANDO GRUPOS 
As informações dos grupos são armazenadas em  /etc/groups, os dados contidos no arquivo seguem o mesmo entendimento do arquivo de usuários mostrado anteriormente, com um legenda diferente:
  1. Grupo
  2. Senha do grupo
  3. GID (Group IDentification), numero de identificação do grupo
  4. Usuários pertencentes ao grupo


Ex:
     EstudosTec:x:1002:Antonio, Cassia, Fernanda 
Entendendo
Então:
  1. Grupo: EstudosTec
  2. Senha do grupo: x (senha protegida)
  3. GID:1002
  4. Usuários: Antonio, Cassia, Fernanda

.:Cadastro:.

Comando básico: O comando básico para criar um grupo é o addgroup.
# addgroup  nomegrupo


.:Apagar:.
Comando básico: O comando básico para apagar um grupo é o groupdel.
# groupdel  nomegrupo


.:Definições:.
O comando  gpasswd Atribui definições ao grupo.
#gpasswd [opções] <username>

Opções:
-A : Define um administrador para o grupo.
-M: Define membros do grupo.
<nome-do-Grupo>: cria senha para o grupo


-d <username>: Exclui um mebro do grupo
-r: Remove a senha do grupo

                             Obs: Verifique todos comando atrávez do comando: # man gpasswd  

Para alterar o grupo de determinada pasta utiliza-se o comando chown.
#chown -R root:alunos /var/www/alunos

O "R" faz com que a aplicação seja aplicada de forma recursiva, afetando todos os arquivo e sub-pastas, sem ele a aplicação seria aplicada apenas a pasta dita. fica.



GERENCIAMENTO DE PRIVILÉGIOS

Para facilitar a vida do administrador podemos atribuir restrições aos arquivos, permitindo ou não que determinados usuários ou grupos possam  executa-lo, lê-lo ou altera-lo. Através do comando ls -l   podemos visualizar as restrições sobre o arquivo. Com o Comando mencionado você terá uma saída semelhante a essa:


Entendendo:
As informações referente aos privilégios do "arquivo1" são as seguintes:

no destaque da imagem temos os privilégios de:

  1. Dono do arquivo ( rwx)
  2. Grupo (wx)
  3. Outros (x)
onde :

r = Read = Leitura
w = Write = Escrever
x = eXecute = executar

Notamos que o dono do arquivo pode executar, escrever e ler. Os usuários do grupo podem escrever e executar e os outros podem apenas executar.
Podemos atribuir números as grupos de permissões, no qual cada um tem seu valor definido como mostra o quadro a seguir seguindo:


Baseado no quadro de valores anterior, podemos entender os valores das permissão do arquivo da imagem a seguir:



Então :


Entendo como funciona essa nomenclatura de números para as permissões, fica fácil nossa vida de ADMINISTRADOR e poderemos atribuir permissões aos arquivos através do comando chmod.

Exemplo:
Logado como administrador:
1 - Utilizo o comando ls -l para listar os arquivos do diretório
5 - Utilizo o comando chmod 777 para liberar todas permissão no arquivos
10 - Utilizo o comando chmod 222 para liberar a permissão de apenas escrita para todos.

Mas oque é a letra "d" que esta destacada na cor azul ?
A letra "d" determina qual o tipo de arquivo que esta listado, no caso é um diretorio. Assim como aparecer a letra "d" podem aparecer outras e cada um tem seu tipo definido:

  • d = Diretório;
  • b = Arquivo de bloco;
  • c = Arquivo especial de caractere;
  • p = Canal;
  • l = Links simbólicos;
  • s = Socket;
  • - = Arquivos comuns (executável, texto);

Fonte 01
Fonte 02
Fonte 03
Fonte 04
Fonte 05
Fonte 06
Fonte 07
Fonte 08
Fonte 09
Fonte 10
Fonte 11

Nenhum comentário:

Postar um comentário