Sie sind auf Seite 1von 6

Aula 05 – Gerenciamento de Permissões no Linux

Professor: Durval Negri Filho

Ao executar um ls -l você visualiza algo como esta linha:

drwxr-xr-x 2 durval alunos 4096 Jun 18 09:43 ifmt

Vamos entender o que é cada dado deste:


drwxr-xr-x --> Permissões
2 --> A quantidade de ítens dentro deste diretório
durval --> Usuário dono do diretório ifmt
alunos --> Grupo dono do diretório ifmt
4096 --> Tamanho em bytes
18 --> Dia da criação do diretório
09:43 --> Hora de criação do diretório
ifmt --> Nome do diretório

Veja a figura abaixo que ilustra mais um exemplo:

O Primeiro caracter identifica o tipo do arquivo/objeto:

* d => diretório;
* b => arquivo de bloco;
* c => arquivo especial de caractere;
* p => canal;
* s => socket;
* - => arquivo normal.

Já os outros caracteres significam:

* r => permissão de leitura (read);


* w => permissão de gravação (write);
* x => permissão de execução (execution);
* - => permissão desabilitada.

Vamos aprender alterar as permissões de propriedade do objeto (arquivo, diretório ou link...) As


permissões são propriedade de usuário dono e grupo dono de um diretório e/ou arquivo.

Atribuir a propriedade de um diretório/arquivo para um determinado usuário


chown nome-usuario diretorio/arquivo
Exemplo:

Passar a propriedade do diretório /jogos para o usuário durval


# chown durval /jogos

Passar a propriedade do diretório /jogos e todos os subdiretórios e arquivos para o


usuário durval
# chown -Rvf durval /jogos

Atribuir a propriedade de um diretório/arquivo para um determinado grupo


chgrp nome-grupo diretorio/arquivo
Exemplo:

Passar a propriedade do diretório /jogos para o grupo alunos


# chgrp alunos/jogos

Passar a propriedade do diretório /jogos e todos os subdiretórios e arquivos para o grupo alunos
# chgrp -Rvf alunos /jogos

Passar a propriedade de um diretório/arquivo para um usuário e grupo ao mesmo tempo


# chown usuario:grupo diretorio/arquivo

Exemplo:
Passar para o usuário durval e grupo alunos o diretório /jogos
# chown durval:alunos /jogos

Passar para o usuário durval e grupo alunos o diretório /jogos e todos os seus subdiretórios e
arquivos
# chown -Rvf durval:alunos /jogos

Alterando as Permissões com o chmod

Em relação as permissões:

Leitura (r):
Em arquivos, permite examinar o conteúdo do arquivo.
Em diretórios permite listar conteúdo do diretório.

Escrita (w):
Em arquivos, permite escrever, remover e alterar o arquivo.
Em diretórios, permite criar e remover arquivos dentro do diretório.

Execução (x):
Em arquivos, permite executar um arquivo como um programa.
Em diretório, permite ler e escrever em arquivos dentro do diretório.

Sendo que os três primeiros rwx pertencem ao Dono do arquivo, os outros três rwx pertencem
ao Grupo e por fim os últimos três rwx pertencem aos outros usuários que não fazem parte do
grupo.

Trabalhando com as permissões :


Poderemos trabalhar de duas formas. Usando as permissões literais, ou usando o modo binário.
Para usar a forma literal são necessário saber que:

u : permissões para o dono da pasta (user).


g : permissões para o grupo (group).
o : permissões para os demais (others).

+ : Adiciona a permissão
- : Remove a permissão
r : permissão de leitura
w : permissão de escrita
x : No caso dos arquivos indica permissão de escrita e, no caso da pasta, permissão para ver o
conteúdo.

Veja a figura:

chmdo permissões diretório/arquivo


Obs: Todos os exemplos serão em cima deste diretório:

drwxr-xr-x 2 durval alunos 4096 Jun 18 09:43 ifmt

Atribuir todas as permissões ao usuário durval no diretório ifmt


chmod

Atribui todas as permissões apenas para o usuário dono do diretório ifmt (usuário durval)
# chmod u=+rwx ifmt
ou
# chmod u=+r+w+x ifmt

Atribui todas as permissões apenas para o grupo dono do diretório ifmt (grupo alunos)
# chmod g=+rwx ifmt
ou
# chmod g=+r+w+x ifmt

Atribui todas as permissões apenas para os outros usuários do diretório ifmt


# chmod o=+rwx ifmt
ou
# chmod o=+r+w+x ifmt

Atribui todas as permissões apenas para o usuário dono, grupo dono e os outros usuários do
diretório ifmt
# chmod u=+rwx,g=+rwx,o=rwx ifmt
ou
# chmod u=+r+w+x,g=+r+w+x,o=r+w+x ifmt

Retira todas as permissões apenas para o usuário dono do diretório ifmt (usuário durval)
# chmod u=-rwx ifmt
ou
# chmod u=-r-w-x ifmt

Retira todas as permissões apenas para o grupo dono do diretório ifmt (grupo alunos)
# chmod g=-rwx ifmt
ou
# chmod g=-r-w-x ifmt

Retira todas as permissões apenas para os outros usuários do diretório ifmt


# chmod o=-rwx ifmt
ou
# chmod o=-r-w-x ifmt

Retira todas as permissões do usuário dono, grupo dono e os outros usuários do diretório ifmt
# chmod u=-rwx,g=-rwx,o=-rwx ifmt
ou
# chmod u=-r-w-x,g=-r-w-x,o=-r-w-x ifmt

Você pode usar estes sinais a vontade, conforme os exemplos abaixo, sabendo que o + atribui e o
- retira a permissão

# chmod u=+r-w+x,g=+r-w-x,o=r+w-x ifmt


# chmod u=+r-w+x,g=+r+w-x,o=r+w+x ifmt

Obs:
Lembre-se que o parâmetro -R de recursividade (ou seja: aplicar a todos os arquivos e
subdiretórios também pode ser usado nos comandos chmod)
...

Você também pode atribuir os direitos de leitura, gravação e execução aos três níveis (usuário,
grupo e outros) de uma só vez.

Atribuir o direito de leitura aos três níveis (usuário, grupo e outros)


# chmod +r ifmt

Atribuir o direito de gravação aos três níveis (usuário, grupo e outros)


# chmod +w ifmt

Atribuir o direito de execução aos três níveis (usuário, grupo e outros)


# chmod +x ifmt

Utilizando o Modo Octal

No modo Octal as letras assumem valores:

r=4
w=2
x=1

Em qualquer posição, seja ela para usuário, grupo ou outros...

Os valores permanecem o mesmo


r=4
w=2
x=1

E para alterar as permissões, poderemos usar a soma destes valores para cada um dos objetos
das permissões: usuário, grupo e outros.

Veja:
No exemplo abaixo, veja como aplicar a soma dos números para atribuir uma permissão:

Veja mais exemplos abaixo:

Obs: Todos os exemplos serão em cima deste diretório:

drwxr-xr-x 2 durval alunos 4096 Jun 18 09:43 ifmt

Atribui todas as permissões apenas para o usuário dono do diretório ifmt (usuário durval)
# chmod 700 ifmt

Atribui todas as permissões apenas para o grupo dono do diretório ifmt (grupo alunos)
# chmod 070 ifmt

Atribui todas as permissões apenas para os outros usuários do diretório ifmt


# chmod 007 ifmt

Atribui todas as permissões apenas para o usuário dono, grupo dono e os outros usuários do
diretório ifmt
# chmod 777 ifmt

Retira todas as permissões apenas para o usuário dono do diretório ifmt (usuário durval)
# chmod 077 ifmt

Retira todas as permissões apenas para o grupo dono do diretório ifmt (grupo alunos)
# chmod 070 ifmt

Retira todas as permissões apenas para os outros usuários do diretório ifmt


# chmod 770 ifmt

Retira todas as permissões apenas para o usuário dono, grupo dono e os outros usuários do
diretório ifmt
# chmod 000 ifmt

Você pode usar estes parametros da maneira que bem entender.

# chmod 123 ifmt


# chmod 234 ifmt
# chmod 345 ifmt
# chmod 456 ifmt
# chmod 567 ifmt
# chmod 755 ifmt
# chmod 644 ifmt

Obs:
Lembre-se que o parâmetro -R de recursividade (ou seja: aplicar a todos os arquivos e
subdiretórios também pode ser usado nos comandos chmod)

O Parâmetro UMASK
Toda vez que você cria um diretório ou arquivo, as permissões padrões já aparecem. Estas
permissões vem de um parâmetro chamado umask.
Faça o teste
Crie um diretório e um arquivo e veja quais são as permissões.

A umask (user mask) são 3 números que definem as permissões iniciais do dono, grupo e outros
usuários que o arquivo/diretório receberá quando for criado ou copiado para um novo local.
Digite umask sem parâmetros para retornar o valor de sua umask atual.

A umask tem efeitos diferentes caso o arquivo que estiver sendo criado for binário (um
programa executável) ou texto . Veja a tabela a seguir para ver qual é a mais adequada a sua
situação:

Um arquivo texto criado com o comando umask 012;touch texto.txt receberá as permissões -rw-
rw-r--, pois 0 (dono) terá permissões rw-, 1 (grupo), terá permissões rw- e 2 (outros usuários)
terão permissões r--. Um arquivo binário copiado com o comando umask 012;cp /bin/ls /tmp/ls
receberá as permissões -r-xr--r-x (confira com a tabela acima).

Por este motivo é preciso atenção antes de escolher a umask, um valor mal escolhido poderia
causar problemas de acesso a arquivos, diretórios ou programas não sendo executados. O valor
padrão da umask na maioria das distribuições atuais é 022. A umask padrão no sistema Debian
é a 022 .

A umask é de grande utilidade para programas que criam arquivos/diretórios temporários,


desta forma pode-se bloquear o acesso de outros usuários desde a criação do arquivo, evitando
recorrer ao chmod.

Geralmente o umask é configurado no arquivo /etc/bash.bashrc ou /etc/profile

Dica:
Para saber qual é o resultado do umask:
Em binários e diretórios = Subtraia de 7
Em Arquivos = Subtraia de 6

Faça o teste na tabela acima.

Das könnte Ihnen auch gefallen