As permissões são representadas por esse conjunto de letras na primeira linha da listagem vertical (ls -l):
-rw------- 1 sauron sauron 1675 2012-03-14 21:42 arquivo_1
-rwxr-xr-x 1 sauron sauron 396 2012-03-14 21:42 arquivo_2
r -> read, permissão de leitura do arquivo
w -> write, permissão de escrita no arquivo
x -> execute, permissão de execução do arquivo (no caso de um diretório, significa abrir/entrar o diretório)
Para alterar essas permissões utilizamos o comando chmod. Existem duas formas de alterar as permissões de um arquivo:
- Utilizando as letras que representam as operações (mais simples)
- Utilizando a representação octal (mais eficiente)
Utilizando as letras
Como foi mostrado antes, cada operação é representada por uma letra:
r -> read
w -> write
x -> execute
Cada usuário/categoria é, também, representado por uma letra:
u -> dono do arquivo. É a opção padrão.
g -> grupo ao qual o dono do arquivo pertence
o -> outros usuários (que não se encaixem nas opções anteriores)
a -> todos os usuários (aplica a permissão em todos os níveis: u, g e o)
Para alterar as permissões, utilizamos dois operadores:
+ -> adicionar permissão
- -> remover permissão
Exemplos:
sauron@mordor:~$ ls -l arquivo
-rw-r--r-- 1 sauron sauron 0 2012-03-15 20:10 arquivo
sauron@mordor:~$ chmod u-w arquivo
sauron@mordor:~$ ls -l arquivo
-r--r--r-- 1 sauron sauron 0 2012-03-15 20:10 arquivo
sauron@mordor:~$ chmod +w arquivo
sauron@mordor:~$ ls -l arquivo
-rw-r--r-- 1 sauron sauron 0 2012-03-15 20:10 arquivo
sauron@mordor:~$ chmod a+x arquivo
sauron@mordor:~$ ls -l arquivo
-rwxr-xr-x 1 sauron sauron 0 2012-03-15 20:10 arquivo
sauron@mordor:~$ chmod g-r,o-r arquivo
sauron@mordor:~$ ls -l arquivo
-rwx--x--x 1 sauron sauron 0 2012-03-15 20:10 arquivo
Utilizando o modo octal
Apesar de simples de aprentar, alterar as permissões utilizando as letras dá um pouco de trabalho. A maneira mais eficiente de fazer isso é utilizando o modo octal.
No modo octal, cada grupo de permissões possui uma representação octal, que é definida pela presença ou não de determinada permissão (bit ligado ou desligado).
Tabela representando o modo octal:
Permissão | Bits ligados/desligados | Representação octal |
--- | 000 | 0 |
--x | 001 | 1 |
-w- | 010 | 2 |
-wx | 011 | 3 |
r-- | 100 | 4 |
r-x | 101 | 5 |
rw- | 110 | 6 |
rwx | 111 | 7 |
Exemplos:
sauron@mordor:~$ ls -l arquivo
-rw-r--r-- 1 sauron sauron 0 2012-03-15 20:10 arquivo
sauron@mordor:~$ chmod 666 arquivo
sauron@mordor:~$ ls -l arquivo
-rw-rw-rw- 1 sauron sauron 0 2012-03-15 20:10 arquivo
sauron@mordor:~$ chmod 600 arquivo
sauron@mordor:~$ ls -l arquivo
-rw------- 1 sauron sauron 0 2012-03-15 20:10 arquivo
sauron@mordor:~$ chmod 777 arquivo
sauron@mordor:~$ ls -l arquivo
-rwxrwxrwx 1 sauron sauron 0 2012-03-15 20:10 arquivo