kb.erickguedes.com
Linux Básico: Do Terminal ao Sysadmin

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

OctalBinárioPermissão
0000---
1001--x
2010-w-
3011-wx
4100r--
5101r-x
6110rw-
7111rwx
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.