domingo, 9 de março de 2008

Permissões part 2

Na primeira parte desse artigo, foi explicado como as permissões são formadas. Nesta segunda parte, conheceremos comandos para manipular as permissões de arquivos e diretórios.

1. Alterando o dono de arquivo/diretório

Através do comando chown é possível alterar o dono, bem como o grupo de um arquivo/diretório.

Ex1: Alterando o dono da pasta teste

[root@localhost Público]# chown root teste


Ex2: Alterando o dono e grupo da pasta teste
[root@localhost Público]# chown root:admin teste


Se especificarmos a opção -R a alteração será feia de forma recursiva para todo o diretório e subdiretórios

Ex3: Alterando o dono e grupo da pasta teste de forma recursiva
[root@localhost Público]# chown -R root:admin teste


2. Alterando o grupo de arquivo/diretório

Através do comando chgrp é possível alterar o grupo de um arquivo/diretório.

Ex1: Alterando o grupo da pasta teste
[root@localhost Público]# chown root teste


Se especificarmos a opção -R a alteração será feia de forma recursiva para todo o diretório e subdiretórios

Ex2: Alterando o grupo da pasta teste de forma recursiva
[root@localhost Público]# chown -R root teste


3. Alterando as permissões de arquivo/diretório

Através do comando chmod é possível alterar as permissões de um arquivo/diretório.
O comando chmod aceita duas forma de representação: a forma simbólica usando letras que representam as permissões, ou ainda o modelo octal conforme tabelas vistas no artigo Permissão de Arquivos - parte 1.

Forma Simbólica

As permissões são atribuídas através das letras (u) usuário, (g) grupo, (o) outros e (a) indicando para todos.
As letras devem ser seguidas dos operadores (+) indicando que a permissão deve ser adicionada, (-) indicando que ela deve ser removida ou ainda por (=), este setará os bits de permissão apenas para o modo especificado, caso o arquivo possua uma permissão não especificada, ela será removida.
As permissões seguem após os operadores anteriores e são expressados pelas letras (r) leitura, (w) gravação, (x) execução, (s) sgid ou suid, (t) stick.

Ex1: Removendo a permissão de execução para o grupo/outros e adiciona a permissão de escrita para o grupo/outros
[root@localhost Público]# chmod go-x,go+w  filename


Ex2: Ativando o Suid
[root@localhost Público]# chmod u+s filename


Ex3: Ativando o Stick
[root@localhost Público]# chmod o+t filename


Ex4: Ativando permissão de execução para todos
[root@localhost Público]# chmod a+x filename


Forma Numérica

É especificado por quatro dígitos octais de acordo com as tabelas do artigo Permissão de Arquivos - parte 1. Se algum digito for omitido, ele será considerado como zero.
O primeiro digito configura a utilização do Suid, Sgid ou Stick, já o segundo configura as permissões do usuário, o terceiro as permissões do grupo e o quarto a de outros.

Ex1: Configurando permissão total para dono/grupo e leitura e execução para outros
[root@localhost Público]# chmod 775 filename


Ex2: Configurando permissão total para dono, leitura e execução para grupos, apenas leitura para outros e suid ativo.
[root@localhost Público]# chmod 4754 filename


4. Utilizando o umask

O comando umask é um filtro de permissões para a criação de arquivos e diretórios.
As permissões padrão para arquivos é 0666 e para diretórios é 0777.
Quando criamos um novo arquivo/diretório, o sistema calcula a diferença das permissões padrão do objeto com o valor do umask, o resultado será a permissão do objeto.

Ex1: Determinando o valor do umask
[root@localhost /]# umask
0022


Um sistema com umask 0222 terá as seguintes permissões para seus novos arquivos/diretórios:

Arquivos

0666
- 0022

0644 (U-Leitura/escrita, G-leitura, O-leitura)

Diretórios

0777
- 0022

0755 (U-Leitura/escrita/execução, G-leitura/execução, O-leitura/execução)

Ex2: Alterando o valor do umask
[root@localhost /]# umask 0002
[root@localhost /]# umask
0002


Alterar o umask do sistema é uma recomendação de segurança.

Abraços.

Nenhum comentário: