neste caso, tem permissão para editar um arquivo e até apagar. Em diretórios é pos-sível criar um novo arquivo.
59
6.2. Permissões
Casa do Código
A permissão de execução dá a possibilidade de executar um arquivo como um
programa, por exemplo um script de instalação de um aplicativo.
Para listar as permissões de um arquivo ou diretório, podemos usar o comando
ls, seguido da opção -l (long listing). Assim teremos uma listagem detalhada dos
arquivos:
daniel@casadocodigo:~$ ls -l
total 20
-rw-rw-r-- 1 daniel daniel 136 Oct 2 00:49 agenda
drwxrwxr-x 2 daniel daniel 4096 Oct 2 18:49 backup
-rw-rw-r-- 1 daniel daniel 192 Oct 2 01:12 concatenando.txt
-rw-rw-r-- 1 daniel daniel
98 Sep 28 16:35 nano_basico.txt
-rw-rw-r-- 1 daniel daniel
56 Sep 28 01:50 vim_basico.txt
daniel@casadocodigo:~$
No começo, isso pode parecer grego para nós. É comum uma pequena dificul-
dade até se acostumar com tantas letrinhas e abreviações. Vamos entender detalha-
damente o significado da listagem exibida:
-: significa desabilitado ou permissão negada;
r: permissão de leitura, apenas lê um arquivo;
w: permissão de escrita, pode escrever em arquivos e diretórios;
x: permissão para executar um arquivo.
A aplicação de permissões aos arquivos está ligada a três entidades, que são clas-
ses de acesso aos arquivos:
u: usuário dono do arquivo;
g: grupo a que o arquivo pertence;
o: outros usuários que não sejam o dono nem pertençam ao grupo.
Quando listamos com ls -l, os 10 primeiros caracteres indicam o modo do
arquivo:
Figura 6.1: Modo do arquivo está sublinhado em vermelho
60
Casa do Código
Capítulo 6. Administração de usuários
O primeiro caractere indica se é um diretório, link ou um arquivo. Os outros 9
caracteres formam três grupos de três caracteres.
O primeiro caractere de cada grupo representa a permissão de leitura, r. O se-
gundo caractere representa a permissão de escrita, w. O terceiro caractere representa a permissão de execução, x. Quando o caractere - (hífen) é exibido, significa que a permissão está desligada.
Para entender melhor os grupos veja a imagem seguinte da mesma listagem:
Figura 6.2: Os três grupos
Analisando com calma é possível perceber que as permissões para o dono do
arquivo são de leitura e escrita. As permissões para o grupo ao qual o arquivo
pertence são também de leitura e escrita, e as permissões de outros são de apenas
leitura. Observamos que daniel é o nome do dono do arquivo e também é o nome
do grupo a qual o arquivo pertence.
Para evitar confusão, mudaremos o nome do grupo mais adiante.
No ambiente gráfico é possível verificar as permissões de um arquivo: para isso,
clique com o botão direito do mouse no arquivo, depois em propriedades e, em
seguida,
na aba permissões:
61
6.3. Atribuindo permissões
Casa do Código
Figura 6.3: Permissões de um arquivo no ambiente gráfico
6.3
Atribuindo permissões
O chmod é o comando para atribuir permissões de arquivos. Basicamente, ele atua
diretamente nos níveis dono, grupo e outros.
A sintaxe de uso do chmod é a seguinte:
chmod [opções] modo arquivo
O modo pode ser representado utilizando notação simbólica ou octal, veremos
as duas formas. A seguir, uma lista das opções para o comando:
-c: lista informações sobre os arquivos modificados;
-f: ignora mensagens de erro;
62
Casa do Código
Capítulo 6. Administração de usuários
-R: modo recursivo, altera as permissões de todos os arquivos e diretórios;
-v: lista de forma detalhada as alterações de atributo.
Antes de prosseguir é importante entendermos sobre bits de atributo!
Bits de atributo
Bits de atributo são um controle adicional às permissões de arquivos. As entida-
des dono, grupo e outros têm suas configurações setadas pelo dono do arquivo. Essas configurações podem ser representadas também pelos bits de atributo, ou seja, assim como existem três entidades, também existem três bits de atributo, que podem estar ligados ou desligados:
Bit SetUID permite que um arquivo seja executado da mesma forma que é exe-
cutado pelo dono.
Bit SetGID permite que um arquivo seja executado como se fosse parte do grupo de seu dono. Quando um arquivo é criado em um diretório que possui este bit ativo, ele é criado com o mesmo grupo do diretório.
Bit Sticky ativa uma proteção para o arquivo e não permite que ele seja apagado, a não ser pelo próprio dono.
A representação simbólica destes bits é lida da esquerda para a direita através das siglas SST, onde o primeiro S representa o SetUID, o segundo S representa o SetGID
e o T representa o Sticky. Para indicar se um bit está ativo ou inativo, usa-se (1 ou +) para ativo e (0 ou -) para inativo.
Os bits de proteção definem proteções básicas de um arquivo que, como vimos
anteriormente, são: leitura, escrita e execução. Ativar ou não estes bits é o que define as permissões de quem poderá trabalhar com o arquivo, ou seja: editar, deletar ou
executar.
Bits de proteção são divididos em três grupos de três bits, sendo que cada grupo