Linux - Modo de acesso para novos arquivos e diretórios
Quando um novo arquivo ou diretório é criado, o processo de criação especifica a permissão que o novo arquivo ou diretório deverá ter.
As permissões padrões para novos arquivos ou diretórios criados são aplicadas nas configurações da conta de cada usuário individalmente.
O modo de acesso aplicado por padrão é 0666 para arquivos, e 0777 para diretórios.
O qual permite que o arquivo seja lido e escrito por qualquer usuário do sistema.
Mas na maioria das distribuições Linux, esse valor de permissão de acesso é alterados para que o sistema não fique inseguro.
Normalmente utilizam o valor 0022, mas podemos alterar este valor e especificar um valor personalizado.
Esta permissão padrão é visualizada e alterada através do comando umask.
Conteúdo:
1 - Visualizando o valor atual
2 - Alterando valores do umask
3 - Cálculo feito para aplicar o valor 0077 (u=rwx,g=,o=) no umask para novos arquivos e diretórios
Obs.: Neste e em outros artigos que eu escrevi a formatação do texto possui os seguintes significados:
- O texto em Negrito assume que se trata de um comando que deve ser digitado.
- O texto em Itálico significa que é a saída de um comando ou conteúdo de um arquivo.
- O ">>>" significa que você deve digitar no interpretador do Python.
- O "#" significa que o comando dever ser executado como usuário "root".
- O "$" significa que o comando deve ser executado como usuário sem privilégios.
1 - Visualizando o valor atual:
Execute o comando umask sem nenhum valor como parâmetro, e ele irá retornar o valor atual do umask.
Exemplo:
$ umask
0022
Execute o comando umask com a opção -S, e ele irá retornar o valor simbólico da permissão atual.
Exemplo:
$ umask -S
u=rwx,g=rx,o=rx
2 - Alterando valores do umask:
Para alterar os valores do umask, é necessário executar o comando umask com a permissão de usuário, grupo e outros usuários que queremos "retirar" para novos arquivos ou diretórios criados.
Estes valores indicam a permissão que queremos subtrair (retirar) do valor padrão. E devem ser passados como parâmetro para o comando umask.
Lembrando que o valor padrão para arquivos é 666, e para diretórios é 777.
Exemplo:
Se você gostaria de manter seus novos arquivos e diretórios com mais privacidade, desabilitando acesso para grupo ou outros usuários, você deve utilizar o comando umask com o valor octal: 0077 ou com o valor simbólico: u=rwx,g=,o=
Escolha o modo que você mais gosta, os dois fazem a mesma coisa.
- Usando valor modo octal:
$ umask 0077
$ touch novo_arquivo.txt
$ mkdir novo_diretorio
$ ls -la
drwx------ 2 root root 48 Oct 8 15:21 .
drwxr-xr-x 28 roberto roberto 1.6K Oct 8 15:21 ..
-rw------- 1 root root 0 Oct 8 15:21 novo_arquivo.txt
drwx------ 2 root root 48 Oct 8 15:21 novo_diretorio
- Usando valor modo simbólico:
$ umask u=rwx,g=,o=
$ touch novo_arquivo.txt
$ mkdir novo_diretorio
$ ls -la
drwx------ 2 root root 48 Oct 8 15:21 .
drwxr-xr-x 28 roberto roberto 1.6K Oct 8 15:21 ..
-rw------- 1 root root 0 Oct 8 15:21 novo_arquivo.txt
drwx------ 2 root root 48 Oct 8 15:21 novo_diretorio
3 - Cálculo feito para aplicar o valor 0077 (u=rwx,g=,o=) no umask para novos arquivos e diretórios:
- Arquivos:
Permissão PADRÃO dos arquivos: 0666 ou u=rw,g=rw,o=rw
Valor que queremos retirar: 0077 ou u=,g=rw,o=rw
Resultado, arquivos terão permissão: 0600 ou u=rw,g=,o=
- Diretórios:
Permissão PADRÃO dos diretórios: 0777 ou u=rwx,g=rwx,o=rwx
Valor que queremos retirar: 0077 ou u=,g=rwx,o=rwx
Resultado, diretórios terão permissão: 0700 ou u=rwx,g=,o=
Agora quando você quiser alterar a permissão padrão dos novos arquivos ou diretórios é só fazer o cálculo de subtração do valor padrão e do valor a ser passado para o umask, para obter a permissão que o novo arquivo ou diretório vai ter.
Referência:
LPI Linux Certification in a Nutshell
IBM DeveloperWorks - Linux LPI - Tópico 104.
Recursos:
Manual do comando umask


3 Comments:
Roberto... Parabéns... Foi o primeiro, em muitos tutoriais, que consegui entender como trabalhar com o umask.
Continue assim...
Sucessos.
Krlos Setkeycodes
Roberto... Parabéns... Foi o primeiro, em muitos tutoriais, que consegui entender como trabalhar com o umask.
Continue assim...
Sucessos.
Krlos Setkeycodes
Roberto,
Apenas uma observação: a finalidade do comando touch não é a criação de arquivos.
Post a Comment
<< Home