Comandos Linux – chmod

Para mudar as permissões de um arquivo ou diretório do servidor, você tem que utilizar o comando chmod.

Em geral, qualquer comando de linux ou unix tem uma ajuda, que você pode ver invocando ao comando, seguido com o parâmetro -help. Algo como isto:

chmod –help

Este comando em concreto tem várias sintaxes permitidas. Entre elas, por exemplo, pode utilizar:

chmod [opcoes] modo-em-octal arquivo.

As opções podem ser indicadas ou não, segundo queiramos. Opções típicas são:
d: significa diretório;
-: significa arquivo;
r = leitura (ride);
w= escrita (writer);
x=execução (execute);

Após digitar o comando ls -l todas as permissões dos arquivos do diretório corrente irão ser visualizadas.

EXEMPLO 1:

drwxrwxrwx 3 lino lino 4096 2009-12-11 18:15 pasta sem título

Análise:

d = significa que ele é um diretório;
Os três primeiros caracteres dizem respeito ao usuário root(dono);
Os outros três caracteres dizem respeito ao grupo ao qual pertence o dono do arquivo;
Os últimos três caracteres dizem respeito aos outros usuários do sistema que não fazem parte do grupo Lino.
Conclusão: A leitura, escrita e execução são permitidas a todos os usuários do sistema.

EXEMPLO 2
drwx—— 2 lino lino 4096 2009-12-05 09:29 Música
Acima está o diretório música e apenas o dono tem permissão de leitura escrita e execução;

EXEMPLO 3
-rwx—— 1 lino lino 733 2009-12-11 10:31 testenovo
Acima está o arquivo teste e apenas o dono tem todas as permissões;

MUDANDO AS PERMISSÕES:
ls -l (mostra as permissões);
chmod – muda as permissões;

Exemplo 1:
chmod go-rw teste
obs: g = grupo, o=other(outros)
Acima foi removida as permissões de leitura e escrita do grupo e dos outros usuários do sistema ao arquivo teste.

Exemplo 2:
chmod g+r teste
O comando acima mostra que foi acrescentada a permissão de leitura a todos os usuários do grupo ao arquivo teste.

Exemplo 3:
chmod g=o teste
O comando acima mostra que as permissões do grupo e de todos os usuários do sistema se igualaram.

Exemplo 4:
chmod a=rw teste
obs: a= todos.(all).
O comando acima indica que todos os usuários do sistema terão permissão de leitura e escrita no arquivo teste.

TIPO DE PERMISSÃO OCTAL:
O modo em octal é um número em base 8 (octal) que especifica a permissão. Os números em octal se especificam começando o número por um 0. Por exemplo, 0777 indica todos as permissões possíveis para todos os tipos de usuário. 0666 indica que se dão permissões de leitura e escritura, porém não de execução. 0766 indica que se dão permissões de leitura e escritura, porém somente tem permissão de execução para os usuários que são donos do arquivo. 0755 indica permissões para leitura e execução, porém escritura só para o usuário que é o dono do arquivo. Vejamos com detalhes cada valor:

0: Sem permissão alguma, se for uma pasta o usuário sequer pode ver o conteúdo;
1: Só execução = x
2: Permissão de escrita(gravação) = w
3: Permissão de gravação e execução =wx
4: Apenas leitura =r
5: Permissão de leitura e execução = rx
6: Permissão de leitura e gravação = rw
7: Permissão de leitura, gravação e execução = rwx

chmoc + xyz(números) + arquivo ou diretório.
x=permissão do dono;
y=grupo;
z=outros usuários;

Exemplo 1:
chmod 760 teste – permissão total ao dono e de leitura e escrita do grupo.
chmod 700 *
* = todos os arquivos do diretório serão mudados com essa permissão.
chmod -R 700 download/
-R = muda todas as permissões recursivamente.

OUTRAS FORMAS DE UTILIZAR O CHMOD:

Logo também se podem atribuir permissões de outra maneira, utilizando outra possível sintaxe de chmod, que talvez resulte mais útil se não quisermos tratar com os valores em octal.

chmod [opcoes] modo[,modo]… arquivo

Para isso temos que ter claros os distintos grupos de usuários:
u: usuário dono do arquivo
g: grupo de usuários do dono do arquivo
o: todos os outros usuários
a: todos os tipos de usuário (dono, grupo e outros)

Também há que saber a letra que abrevia cada tipo de permissão:
r: se refere às permissões de leitura
w: se refere às permissões de escritura
x: se refere às permissões de execução

Exemplos

chmod o=rwx *
Atribui permissões de leitura, escritura e execução para os usuários “outros” a todos os arquivos da pasta.

chmod a=rwx arquivo.txt
Atribui todos as permissões a todos os usuários para o arquivo fichero.txt

chmod go= *
Tira todas as permissões para os usuários do grupo e os outros usuários.

chmod u=rwx,g=rw,o= *
Dá todos as permissões ao dono do arquivo, aos do grupo do dono lhe atribui permissões de leitura e escritura e aos outros usuários lhes tira todas as permissões.
Nota:um espaço depois da vírgula “,” nos distintos modos de permissões que se indiquem faz falhar o comando.

chmod a=r *
Dá permissões unicamente de leitura a todos os tipos de usuário.

De um modo parecido ao que acabamos de ver, também se podem adicionar ou tirar permissões com os operadores + e -. Para isso, se indica o tipo de usuário e a permissão que se resta ou adiciona. Algo como isto:

chmod a-wrx *
Isto tira todos as permissões a todos os tipos de usuário.

chmod a+r,gu+w *
Este comando atribui permissões de leitura a todos os usuários e permissões de escritura ao dono do arquivo e o grupo do dono.

chmod u=w,a+r *
Este comando atribui permissões de escritura ao usuário dono e adiciona a todos os usuários permissão de leitura.

Tags: , ,

Deixar um comentário