Permissões, Usuários e Grupos
Aula 4 de 8
Permissões no Linux
ls -l script.sh
# -rwxr-xr--
# ^^^^^^^^
# ||||||||
# |||||||+--- outros (outros)
# ||||||+---- grupo (group)
# |||||+----- dono (owner)
# ||||+------ sticky bit / setuid / setgid
# |||+------- dono leitura (r--)
# ||+-------- dono escrita (-w-)
# |+--------- dono execução (--x)
# +---------- tipo de arquivo (- regular, d diretório, l link)
Permissões em Octal
| Octal | Binário | Permissão |
|---|---|---|
| 0 | 000 | --- |
| 1 | 001 | --x |
| 2 | 010 | -w- |
| 3 | 011 | -wx |
| 4 | 100 | r-- |
| 5 | 101 | r-x |
| 6 | 110 | rw- |
| 7 | 111 | rwx |
chmod 755 script.sh # rwxr-xr-x
chmod 644 arquivo.txt # rw-r--r--
chmod u+x script.sh # adiciona execução para o dono
chmod -R 755 pasta/ # recursivo
Mudando Dono e Grupo
chown usuario:grupo arquivo.txt
chown usuario arquivo.txt # só dono
chown :grupo arquivo.txt # só grupo
chown -R usuario:grupo pasta/ # recursivo
chgrp grupo arquivo.txt # só grupo
Usuários
useradd -m novo-usuario # cria usuário com home
userdel -r usuario # deleta usuário e home
passwd usuario # altera senha
usermod -aG grupo usuario # adiciona a grupo suplementar
id usuario # mostra UID, GID, grupos
who # usuários logados
last # histórico de logins
Grupos
groupadd nome-grupo # cria grupo
groupdel nome-grupo # deleta grupo
groups usuario # lista grupos do usuário
Sudo
visudo # edita /etc/sudoers (sempre usar visudo!)
usuario ALL=(ALL) ALL # dá sudo total ao usuário
usuario ALL=(ALL) NOPASSWD: ALL # sudo sem senha
%admin ALL=(ALL) ALL # grupo admin tem sudo
O princípio do menor privilégio: dê apenas as permissões necessárias. Ninguém deve usar root para tarefas do dia a dia.