Administração de usuários
- Objetivos- Aprender a gerenciar usuários e grupos;
- Conhecer o sistema de permissionamento;
- Conhecer o funcionamento do umask;
- Entender as permissões especiais;
O GNU/LINUX é um sistema multiusuário e portanto, possui um esquema de permissões que provê a privacidade e/ou compartilhamento de arquivos entre usuários. Na verdade, esse esquema de permissões é parte fundamental do sistema. Neste artigo, iremos aprender sobre ele e também como criar e remover contas de usuários.
Gerenciamento de usuários:
Quando começamos a trabalhar com usuários no sistema GNU/LINUX podemos dividi-los em 3 categorias.
- Usuário administrador : usuário conhecido como root no sistema. È esse usuário que controla todo o sistema e não possui nenhuma restrição.
- usuário do sistema: são aqueles que não precisam logar no sistema, são utilizados para controlar os serviços.
- Usuários comuns: são utilizados para trabalhar no sistema GNU/LINUX. São contas criadas para aqueles que utilizam ou operam o sistema.
- Nome;
- Senha;
- diretóri home;
- shell;
- grupo primário;
Permissões
Cada arquivo no sistema possui três permissões básicas: r (4) red para leitura, w (2) - write para escrita e x (1)- execute para execução. A cada permissão é atribuido um valor, mostrado entre parênteses, que será utilizado para atribuição de permissões.
Além disso, cada arquivo contém três conjuntos de permissões, sendo elas: permissão do dono (u) - user do arquivo, do grupo (g) - group ao qual o arquivo pertence e outros (o) - others; aqueles que não pertencem ao grupo e não são os donos do arquivo.
Exemplos de permissões
1 - Comando para atribuir permissão total a um arquivo chamado foda.txt
chmod 777 foda.txt
ou
chmod a+rwx foda.txt
ou
chmod u+rwx,g+rwx,o+orwx foda.txt
Não fazer isso em, nenhum tipo de arquivo, isso é apenas um exemplo!!!
2 - Comando para retirar a permissão de escrita de todos os usuários para o arquivo foda.txt
chmod a-w foda.txt
3 - comando para alterar a permissão padrão do arquivo foda.txt para que todos os usuários apenas possam ler.
chmod 444 foda.txt
Umask
O umask altera o valor da mascara de criação de arquivos e diretórios.
Para calcular a umask para um diretório, pegue a permissão total que um diretório pode chegar, 777. Subtraia 022 de 777 (valor padrão de umask do sistema).
Para calcular a umask para um arquivo, pegue a permissão total que um diretório pode chegar, que é 777. Sutraria 111 de 777 (valores de execução do arquivo) e de 022 ( valor padrão de umask do sistema). O valor padrão da umask fica armazenada no arquivo /etc/profile.
Permissões especiais:
Há um conjunto especial de permissões, conhecido também como bits especiais, procura isso na internet que vale muitos pontos na prova LPI. :)
Prática dirigida
1 - crie um diretório chamado temp e dentro dele um arquivo chamado arq1:
$ mkdir temp
$ touch temp/arq1
2 -determine quais são as permissões com as quais eles foram criados:
$ ls -ld temp
$ ls - l temp
3 - altere as permissões do diretório temp para que o dono não possa escreve-lo:
$ chmod u-w temp
4 - experimente criar mais um arquivo dentro deste diretório:
$ touch temp/arq2
5 - Não funcionou ? claro ! Devemos alterar a permissão para que o usuário possa escrever neste diretório. Mas desta vez, utilizaremos a forma numérica:
$ chmod 300 temp
6 - vamos acessar o diretório e ver se o arquivo foi realmente criado.
$ cd temp
$ ls -l
7 - temos que garantir a permissão de leitura também. Agora deverá funcionar!
# cd ..
# chmod 700 temp
# ls -l
8 - Adicione um novo usuário no sistema:
# adduser losser
9 - visualize o novo usuário no arquivo /etc/passwd:
# cat /etc/passwd
10 - logue com o novo usuario em outro terminal e veja quais usuario estao logados no sistema:
# users
11 - Logado com o novo usuario, visualize informações completas sobre ele:
$ finger losser
12 - Adicione o usuario em um grupo secundário e visualize isso:
# gpasswd -a losser audio
# id
13 - remove o usuario do grupo secundário e visualize:
# gpasswd -d losser audio
# id
14 - Logado como root, modifique a senha do usuario:
# passwd losser
15 - Agora logado como usuario normal, modifique sua propria senha?
$ passwd
16 - Modifique o grupo primário do usuario:
# usermod -g user losser
17 - visualize qual o usuário junto com o seu diretorio:
# userdel -r losser
19 - vamos agora testar a permissão especial SUID:
$ /sbin/ifconfig eth0:1 192.168.1.X
Não funcionou ?? Vamos aplicar o SUID.
# chmod 4755 /sbin/ifconfig
$ /sbin/ifconfig eth0:1 192.168.1.X
Este é apenas um exemplo para fins de demostração do SUID bit, favor não aplicar em servidores!
Dicas LPI:
Apesar de serem mais complicadas, as permissões especiais podem ser de grana valor na prova.Para calcular a umask para um diretório, pegue a permissão total que um diretório pode chegar, 777. Subtraia 022 de 777 (valor padrão de umask do sistema).
Para calcular a umask para um arquivo, pegue a permissão total que um diretório pode chegar, que é 777. Sutraria 111 de 777 (valores de execução do arquivo) e de 022 ( valor padrão de umask do sistema). O valor padrão da umask fica armazenada no arquivo /etc/profile.
Permissões especiais:
Há um conjunto especial de permissões, conhecido também como bits especiais, procura isso na internet que vale muitos pontos na prova LPI. :)
Prática dirigida
1 - crie um diretório chamado temp e dentro dele um arquivo chamado arq1:
$ mkdir temp
$ touch temp/arq1
2 -determine quais são as permissões com as quais eles foram criados:
$ ls -ld temp
$ ls - l temp
3 - altere as permissões do diretório temp para que o dono não possa escreve-lo:
$ chmod u-w temp
4 - experimente criar mais um arquivo dentro deste diretório:
$ touch temp/arq2
5 - Não funcionou ? claro ! Devemos alterar a permissão para que o usuário possa escrever neste diretório. Mas desta vez, utilizaremos a forma numérica:
$ chmod 300 temp
6 - vamos acessar o diretório e ver se o arquivo foi realmente criado.
$ cd temp
$ ls -l
7 - temos que garantir a permissão de leitura também. Agora deverá funcionar!
# cd ..
# chmod 700 temp
# ls -l
8 - Adicione um novo usuário no sistema:
# adduser losser
9 - visualize o novo usuário no arquivo /etc/passwd:
# cat /etc/passwd
10 - logue com o novo usuario em outro terminal e veja quais usuario estao logados no sistema:
# users
11 - Logado com o novo usuario, visualize informações completas sobre ele:
$ finger losser
12 - Adicione o usuario em um grupo secundário e visualize isso:
# gpasswd -a losser audio
# id
13 - remove o usuario do grupo secundário e visualize:
# gpasswd -d losser audio
# id
14 - Logado como root, modifique a senha do usuario:
# passwd losser
15 - Agora logado como usuario normal, modifique sua propria senha?
$ passwd
16 - Modifique o grupo primário do usuario:
# usermod -g user losser
17 - visualize qual o usuário junto com o seu diretorio:
# userdel -r losser
19 - vamos agora testar a permissão especial SUID:
$ /sbin/ifconfig eth0:1 192.168.1.X
Não funcionou ?? Vamos aplicar o SUID.
# chmod 4755 /sbin/ifconfig
$ /sbin/ifconfig eth0:1 192.168.1.X
Este é apenas um exemplo para fins de demostração do SUID bit, favor não aplicar em servidores!
Exercicios teóricos
1 - Qual é a importância de se utilizar senhas sombras (shadown passwords)?
2 - Por que é importante um usuário estar vinculado a um grupo primário?
3 - Quais são as divisões de tipos de usuários no sistema GNU/LINUX?
4 - Por que não é aconselhável remover um usuário e manter o seu diretório home?
5 - Qual é o comando correto para listar o contéudo do arquivo /etc/passwd?
6 - Se a minha umask vale 012, qual será o valor de arquivos e diretórios novos que venham a ser criados?
2 - Por que é importante um usuário estar vinculado a um grupo primário?
3 - Quais são as divisões de tipos de usuários no sistema GNU/LINUX?
4 - Por que não é aconselhável remover um usuário e manter o seu diretório home?
5 - Qual é o comando correto para listar o contéudo do arquivo /etc/passwd?
6 - Se a minha umask vale 012, qual será o valor de arquivos e diretórios novos que venham a ser criados?
Dicas LPI:
Tenha certeza de que você sabe como funcionam os cálculos de umask.
Saber usar todos os comandos de modificação de usuário é indispensavel.
A questão das senhas shadown e os comandos pwconv e pwunconv são cobrados com frequência nas provas da LPI.
O arquivo shadow não trata somenta a questão de segurança de senhas. Ele também trata de políticas de contas do usuário, como, por exemplo, por quantos dias a conta de um usuário é valida, quando vai expirar, quando deve ser troca de senha e alguns outros parâmetros que podem ser alterados na mão ou usando o comando change.
Saber o motivo do shadow ser criado é uma boa idéia.
O arquivo /etc/passwd .
Entender cada um desses campos pode ser de grande ajuda.
0 comentários:
Postar um comentário