Permissões de Arquivos


Usar permissões de arquivos para controlar o acesso aos arquivos


A segurança do sistema de arquivos é um requerimento fundamental para qualquer sistema operacional multiusuários. Os arquivos do sistema, tais como o Kernel, os arquivos de configuração e os programas precisam ser protegidos contra acidentes e contra a manipulação feita por pessoas não autorizadas.
Os arquivos dos usuários precisam ser protegidos contra modificações feitas por outros usuários e, em alguns casos, precisam ser mantidos completamente privados. Em geral, é preciso implementar alguma forma de controle de acesso para se permitir as operações seguras.
O comando chmod possibilita a alteração de permissões de acesso previamente atribuídas aos arquivos e diretórios do Linux. Com o intuito de selecionar novas opções de permissão de acesso aos arquivos e diretórios, o comando em questão conta com os seguintes símbolos e letras:

Proprietários
Descrição
u
Indica que o usuário é também o proprietário do arquivo.
g
Indica que o proprietário é um outro usuário do grupo de arquivos.
o
Indica que o proprietário é um usuário que não pertence ao grupo de arquivos.
a
Indica que todos os usuários são proprietários.

As tabelas a seguir exibem as letras que representam os tipos de permissões existentes e os símbolos que representam as ações relacionadas as permissões de acesso.


Letras
Descrições
r
Permissão apenas para leitura de arquivos (Read).
w
Permissão de gravação (Write).
x
Indica que o usuário tem a permissão de acessar diretórios e executar arquivos (execute).
X
Permissão que possibilita a execução de um arquivo, caso ele seja um diretório ou já exista uma permissão execute para algum usuário.
s
Permissão para configurar o ID do grupo ou do usuário em execução.
t
Permissão para salvar o texto de um programa em um dispositivo de troca.
u
Indica quais permissões o usuário tem em relação ao arquivo do qual é proprietário.
g
Indica as permissões que os outros usuários do grupo de arquivo tem em relação ao arquivo.
o
Indica as permissões pertencentes aos usuários que não são do grupo de arquivos.
a
Indica a permissão de todos os usuários.

Símbolos
Descrição
=
Esse símbolo indica que todas as permissões selecionadas serão atribuídas aos arquivos. Tais permissões serão as únicas de cada arquivo.
+
Esse símbolo indica que todas as permissões selecionadas serão acrescentadas ao conjunto de permissões de um arquivo.
-
Esse símbolo indica que todas as permissões selecionadas serão excluídas do conjunto de permissões de um arquivo.

A sintaxe do comando em questão é chmod [OPTION]...{MODE | --reference = FILE} FILE, a qual pode ter o MODE substituído por OCTAL-MODE. Neste caso, o formato simbólico do modo seria [ugoa...] [[+-=] [rwxXstugo...]...] [,...].
Simplificando a sintaxe anterior:
chmod [Opções] <permissões> <arquivo>
O octal utiliza 4 bits, sendo que:

  • O primeiro digito é responsável por configurar o ID do usuário, do grupo, ou salvar os atributos de imagem do texto;
  • O segundo é responsável pela escolha das permissões atribuídas ao usuário que é proprietário do arquivo;
  • O terceiro é responsável pela escolha das permissões atribuídas aos outros usuáriod do grupo de arquivos;
  • O quarto é responsável por selecionar quais permissões serão atribuídas àqueles usuários que não fazem parte do grupo de arquivos.

Podemos associar um número decimal a uma permissão. São eles:
Decimal
Permissão
4
Leitura.
2
Escrita.
1
Execução

Para declarar a permissão, devemos realizar um cálculo de soma. Ex.:

# chmod 644 texto.txt

O primeiro número (6), após o comando chmod, representa a permissão que o usuário dono do arquivo possui;
O segundo número (4), representa a permissão do grupo;
O terceiro número (4), representa a permissão de outros usuário (Usuários esses que não se enquadram nas categorias anteriores).
O arquivo texto.txt, após a execução do comando chmod, possuirá as seguintes permissões:
Permissão
Descrição
6 (4 leitura +2 escrita)
O dono do arquivo possui a permissão de ler e escrever sobre o mesmo.
4 (leitura)
O grupo possui a permissão de ler o arquivo.
4 (leitura)
A outros usuários é permitido ler o arquivo.


Vamos mostrar abaixo, passo a passo como definir o modo numérico:
1. Escrever as permissões desejadas

2. - rwx r-x r-- texto.txt

3. Abaixo de cada letra, digite 1; debaixo de cada traço zero. Ignore o primeiro traço que informa se é arquivo ou diretório Informe o numero binário
4. – rw- r-x r-- texto.txt
5.- 110 100 100
6. Converter cada conjunto de 3 digitos em um único, conforme a tabela abaixo:


Binário
Torna-se
000
0
001
1
010
2
011
3
100
4
101
5
110
6
111
7



7. De nosso exemplo, o 110 100 100 traduz para o número 644.

8. Agora, use esse número em um comando chmod para definir as suas permissões sobre o arquivo desejado: chmod 644 texto.txt



Diante da sintaxe do comando, destacamos as opções utilizadas por ele e suas respectivas descrições:
· -R (recursivo) = Promove a alteração, de forma recursiva, de arquivos e diretórios;
· -c (alterações) = Notifica o usuário quanto as alterações realizadas nos arquivos;
· -f (silencioso) = Oculta grande parte das mensagens de erro que seriam exibidas;
· --help = Opção que oferece auxílio quanto a eventuais dificuldades relacionadas ao programa;
· -- version = Opção que fornece dados referentes a versão do programa.

Referências

- Certificação Linux LPI1 – Nível 1: Exame 101 e 102, 2ª edição revisada – Editora ALTA BOOKS – Stevem Pritchard, Bruno Gomes Pessanha, Nicolai Langfeldt, James Stanger e Jeff Dean.(1º e 2º parágrafos).
- Material didático Centro de Pesquisas e Desenvolvimento Impacta Tecnologia – LPI 101 – Implementação e Administração.(Tabelas e conceitos).
- Coleção Linux Pro – Certificação LPI 1 3ª Edição revisada – Luciano Antonio Siqueira – Linux New Media. (Conceitos utilizados em toda página).

Integrantes do Grupo:

Nilson Sant'Ana
Leandro Nascimento dos Santos - 2090244
Renan Soares Malafaia - 2090265
Valdemiro Salema Cardoso - 2090274

Turma:

ASTI B Noite - 1º ciclo