2
Objetivos
● Criação de usuários e grupos;
● Permissões em arquivos e diretórios;
● Comando e variável de ambiente UMASK;
● Permissões especiais;
3
Administração de usuários
Arquivos de configuração de usuários, grupos e senhas.
/etc/passwd: Contém as informações dos usuários;
/etc/shadow: Contém as informações das senhas dos usuários;
/etc/group: Contém as informações dos grupos e usuários que
fazem parte deles;
/etc/gshadow: Contém informações a respeito das senhas de
grupo. Para visualizar o conteúdo utilize o comando getent
<arquivo>. Exemplo:
# getent passwd
4
Administração de usuáriosConfiguração de usuários → /etc/passwd
Campo 1: Login do usuário;
Campo 2: Referência da senha do usuário, pois ela fica
armazenada em outro arquivo;
Campo 3: O “UID - User Identify” é o número de identificação do
usuário conforme a categoria dos usuários:
UID 0: É o número do usuário administrador “root”.
Debian:
UID de 1 a 999: São os números para usuários de sistema.
UID de 1000 a 65535: São os números para usuários normais.
5
Administração de usuáriosConfiguração de usuários → /etc/passwd
CentOS:
UID de 1 a 499: São os números para usuários de sistema.
UID de 500 a 65535: São os números para usuários normais.
Campo 4: O “GID - Group Identity” é o número de identificação do
grupo primário do usuário;
GID 0: É o número do grupo administrador “root”.
Debian:
GID de 1 a 999: São os números para grupos de sistema.
GID de 1000 a 65535: São os números para grupos normais.
6
Administração de usuários
Configuração de usuários → /etc/passwd
CentOS:
UID de 1 a 499: São os números para grupos de sistema.
UID de 500 a 65535: São os números para grupos normais.
Campo 5: Comentários e informações adicionais sobre o usuário;
Campo 6: Diretório pessoal;
Campo 7: Shell do usuário.
7
Administração de usuários
# adduser linus
# cat /etc/passwd | grep linus
# cat /etc/shadow | grep linus
# chage -d 0 linus
# cat /etc/shadow | grep linus
8
Administração de usuários
Obtendo informações dos usuários:
# id -g proxy
# finger -l root
# groups linus
# users
# who
9
Administração de usuários
Personalizar informações de usuários
# passwd -l linus
# passwd -u linus
# usermod -c “Linus Torvalds” linus
10
Administração de usuários
Modifica o login do usuário
# usermod -l linustorvalds linus
Bloqueia o login do usuário
# usermod -L linustorvalds
Desbloqueia o login do usuário
# usermod -U linustorvalds
11
Administração de usuários
Modifica a home do usuário
# mkdir -p /mnt/linus
# usermod -l linus linustorvalds
# usermod -d /mnt/linus linus
Altera grupo primário do usuário
# groupadd lpi
# usermod -g lpi linus
# groups linus
12
Administração de usuários
Altera grupos secundários do usuário
# groupadd amigos
# groupadd ti
# usermod -G amigos,ti linus
13
Administração de usuários
chown
Sintaxe: chown usuário.grupo arquivo/diretório. Exemplo:
# cd /tmp
# touch relatorio.txt
# ls -l relatorio.txt
# chown linus.ti relatorio.txt
# ls -l relatorio.txt
14
Administração de usuários
Gerenciar permissões no sistema
Cada arquivo no sistema possui três permissões básicas:
r (4) → read - para leitura;
w (2) → write - para escrita;
x (1) → execute - para execução;
18
Administração de usuáriosExemplos de uso do comando chmod
Remove permissão de escrita de um arquivo ao grupo dono:
# chmod g-w relatorio.txt
Adiciona permissão de escrita de um diretório ao usuário
dono:
# chmod u+w relatorio.txt
Remove todas as permissões de um arquivo a outros:
# chmod o-rwx relatorio.txt
19
Administração de usuários
Define a permissão de leitura e escrita de um arquivo a
todos:
# chmod a=rw relatorio.txt
Esses comandos fazem a mesma coisa:
# chmod 764 arquivo
# chmod u=rwx,g=rw,o=r arquivo
20
Administração de usuários
Comando umask
# umask
Também é uma variável e é armazenada nos arquivos profiles
(perfis), ou seja, no /etc/profile e no /home/"usuário"/.profile
que fica no home de cada usuário do sistema.
O valor padrão da "umask" no Debian fica armazenada no arquivo
"/etc/login.defs" (linha 146).
21
Administração de usuários
O valor padrão da "umask" no CentOS fica armazenada no
arquivo "/etc/bashrc".
Seu valor padrão é 0022, todo usuário tem seu UMASK:
$ cat /home/leo/.profile | grep umask
umask 0022
# cat /root/.profile | grep umask
umask 0022
22
Administração de usuários
Se você não encontrar a umask no arquivo, acrescente-a no final
do arquivo.Exemplo:
umask 0022
Vejo a permissão que eu quero e tiro do valor da permissão total.
Permissão total é: 777
777 -755 = 022
23
Administração de usuários
A regra é simples:
1. Pegue o valor total de permissão que é 777;
2. Depois pegue o valor de umask: o padrão é 022;
3. Pegue o valor total e subtraio dele o valor da umask, com isso
você chega no valor da permissão padrão para diretórios;
24
Administração de usuários
Baseado nisso, o sistema sempre irá tirar a permissão de
execução dos arquivos criados.
Então repetindo a conta:
777 - Permissão total - 022 – UMASK = 755
755 -111 = 644
Tirando o x (permissão de execução) que vale 1 das 3 pessoas
25
Administração de usuáriosPermissões especiais
Adiciona permissão SUID Bit no binário shutdown:
# groupadd shutdown
# gpasswd -a linus shutdown
# chown root.shutdown /sbin/shutdown
# chmod 4755 /sbin/shutdown (chmod u+s ...)
# ln -s /sbin/shutdown /bin/shutdown
# su – linus
$ shutdown -h now
26
Administração de usuários
Adiciona permissão SGID Bit em um diretório:
# mkdir -p /mnt/amigos
# cd /mnt
# chmod 2770 amigos (chmod g+s amigos)
# chgrp amigos /mnt/amigos
# ls -dl /mnt/amigos
# cd /mnt/amigos
# touch teste
# ls -l teste
27
Administração de usuários
Adicionar permissão Stick Bit em um diretório (permite que
apenas o usuário que criou o arquivo o remova):
# touch /tmp/teste
# cd /tmp
# chmod 1777 teste Ou # chmod o+t teste
# ls -l teste
Adiciona permissão SGID Bit e Stick bit em um diretório:
# chmod 3770 diretório
28
Administração de usuários
Você sabia?
Você pode encontrar como indicação de permissão Sticky Bit um T
maiúsculo ou t minúsculo.
Será T maiúsculo quando não existir permissão no bloco de
outros. Será t minúsculo quando existe permissão no bloco de
outros.
29
Administração de usuários
Alterando o Shell de um usuário:
# chsh -s /bin/false linus
# cat /etc/passwd | grep linus
# chsh -s /bin/bash linus
# cat /etc/passwd | grep linus
30
Administração de usuários
O comando newgrp:
# groupadd grupo
# newgrp grupo
# touch /tmp/arquivo
# ls -l /tmp/arquivo
# newgrp (retorna o grupo primário)
Faça logout e logue novamente, crie um outro arquivo e veja qual
é o grupo do mesmo.
31
Administração de usuários
O comando useradd:
# useradd -d /home/fulano -s /bin/bash -c “Fulano” fulano
# mkdir -p /home/fulano
# chown -R fulano.fulano /home/fulano
# passwd fulano