O que são bits umask e como usá -los no Linux?

O que são bits umask e como usá -los no Linux?
No Linux, todos os arquivos e diretórios têm algumas permissões que ajudam a gerenciar o nível de acesso de todos os usuários no sistema. Modo de criação de arquivos do usuário Bits Defina as permissões para arquivos ou diretórios recém -criados. Linux Umask consiste em nove bits: três bits para o usuário (proprietário), grupo e outros usuários. O UMASK altera a permissão padrão de arquivos recém -criados para impedir que outros usuários os acessem. Podemos alterar essas permissões usando comandos do UMASK.

Começando

Liste as permissões atribuídas aos arquivos e diretórios, como segue:

ubuntu@ubuntu: ~ $ ls -la
Total 32
drwxr-xr-x 5 Ubuntu Ubuntu 4096, 23 de setembro 23:57 .
drwxr-x --- 32 Ubuntu Ubuntu 4096, 24 de setembro: 31…
drwxrwxr-x 3 Ubuntu Ubuntu 2048 5 de setembro 17:43 Aircrack
drwxrwxr-x 3 775 Ubuntu 4096 mar 31 15:03 Angular
drwxrwxr-x 4 Ubuntu Ubuntu 1024 1 de abril 16:13 'BASH'
-rwxrw-r-- 1 ubuntu ubuntu 0 de julho de 30 16:28 jogos
-RW ------- 1 Ubuntu Ubuntu 12288 30 de julho 16:20 .SWP
-RW-RW-R-- 1 Ubuntu Ubuntu 0 23 de setembro 23:57 Teste

Permissões no Linux

Cada arquivo criado no Linux tem certas propriedades associadas a ele, como propriedade e permissão. A propriedade de cada arquivo e diretório envolve um usuário (proprietário) e um grupo. Da mesma forma, as opções para definir permissões de arquivo e diretório são mostradas abaixo:

  • r é para leitura permissão com um valor de 4
  • W é para permissão de gravação com um valor de 2
  • x é para executar permissão com um valor de 1

Podemos combinar essas permissões para atribuir um nível variável de acesso a arquivos ou diretórios:

  • RWX: Possui renda, escreva e execute permissão com um valor de 7
  • rw-: Ele só leu e escreva permissão com um valor de 6
  • R-: Ele só leu a permissão com um valor de 4
  • R-X: Ele só leu e executa permissão com um valor de 5

Portanto, sempre que queremos permitir um determinado arquivo ou pasta para o proprietário, grupo ou outros usuários, devemos alterar a máscara padrão. Podemos descobrir a máscara padrão por este comando.

ubuntu@ubuntu: ~ $ umask
0002

Para atribuir permissão a um arquivo ou diretório, damos o valor do UMASK. A seguir, estão as permissões para os diretórios contra seus valores de UMASK:

Valores de permissões Valor UMASK

RWXRWXRWX 777 0000
RWXRWXR-X 775 0002
RWXRW-R-- 764 0013
RWXR-XR-X 755 0022
RW-R-R-- 644 0133

Para verificar as permissões em relação ao valor do UMASK, defina o valor do UMASK como 0022 e crie um diretório para que todo novo diretório tenha um valor de permissão padrão de 755:

ubuntu@ubuntu: ~ $ umask 0022
ubuntu@ubuntu: ~ $ mkdir dir1
ubuntu@ubuntu: ~ $ ls -l
drwxr-xr-x 2 ubuntu ubuntu 4096, 24 de setembro 16:46 DIR1

A seguir, estão as permissões para arquivos contra seus valores de UMASK:

Valores de permissões Valor UMASK

RW-RW-RW- 666 0000
RW-RW-R-- 664 0002
RW-R-R-- 644 0022

Agora defina o valor de UMASK como 0022 e crie um novo arquivo. O arquivo terá 644 permissões:

ubuntu@ubuntu: ~ $ umask 0022
ubuntu@ubuntu: ~ $ touch file1
ubuntu@ubuntu: ~ $ ls -l file1
-rw-r-r-- 1 ubuntu ubuntu 0 24 de setembro 16:32 file1

Atribuição de permissão por meio da notação octal

Agora crie um arquivo e diretório usando o valor 0777 UMASK. O diretório e o arquivo criados não terão permissões:

ubuntu@ubuntu: ~ $ umask 0777
ubuntu@ubuntu: ~ $ touch file2
ubuntu@ubuntu: ~ $ mkdir dir2
ubuntu@ubuntu: ~ $ ls -l
---------- 1 Ubuntu Ubuntu 0 24 de setembro 16:53 File2
D --------- 2 Ubuntu Ubuntu 4096 24 de setembro 16:53 DIR2

Para uma atribuição de permissão total aos novos arquivos e diretórios, defina o valor do Umask como 0000.

ubuntu@ubuntu: ~ $ umask 0000
ubuntu@ubuntu: ~ $ touch file3
ubuntu@ubuntu: ~ $ mkdir dir3
ubuntu@ubuntu: ~ $ ls -l
-RW-RW-RW- 1 Ubuntu Ubuntu 0 24 de setembro 16:56 File3
drwxrwxrwx 2 Ubuntu Ubuntu 4096, 24 de setembro 16:55 DIR3

Atribuição de permissão por meio de notação simbólica

Defina as permissões de arquivo usando as opções simbólicas em vez dos valores octal. Para definir as permissões completas usando as opções simbólicas, execute o seguinte comando.

ubuntu@ubuntu: ~ $ umask a = rwx
ubuntu@ubuntu: ~ $ touch file4 && mkdir dir4
ubuntu@ubuntu: ~ $ ls -l
-RW-RW-RW- 1 Ubuntu Ubuntu 0 25 de setembro 13:08 File4
drwxrwxrwx 2 Ubuntu Ubuntu 4096 set 25 13:08 DIR4

Para definir o rw Permissões para o usuário (proprietário), use o seguinte comando:

ubuntu@ubuntu: ~ $ umask u = rw
ubuntu@ubuntu: ~ $ touch file5 && mkdir dir5
ubuntu@ubuntu: ~ $ ls -l
-RW-RW-RW- 1 Ubuntu Ubuntu 0 25 de setembro 13:35 FILE5
DRW-RWXRWX 2 Ubuntu Ubuntu 4096 set 25 13:35 Dir5

Defina as permissões de UMAk para o grupo da seguinte forma:

ubuntu@ubuntu: ~ $ umask g = rx
ubuntu@ubuntu: ~ $ touch file6 && mkdir dir6
ubuntu@ubuntu: ~ $ ls -l
-rw-r-r-- 1 ubuntu ubuntu 0 de setembro 13:37 file6
DRW-R-XR-- 2 Ubuntu Ubuntu 4096, 25 de setembro 13:37 Dir6

Defina as permissões de UMAk para outras pessoas usando o comando abaixo:

ubuntu@ubuntu: ~ $ umask o = r
ubuntu@ubuntu: ~ $ touch file7 && mkdir dir7
ubuntu@ubuntu: ~ $ ls -l
-RW-R-R-- 1 Ubuntu Ubuntu 0 de setembro 13:39 file7
DRW-R-XR-- 2 Ubuntu Ubuntu 4096, 25 de setembro 13:39 Dir7

Veja o UMASK atual em sua forma simbólica:

ubuntu@ubuntu: ~ $ umask -s
u = rwx, g = rx, o = r

Configuração do UMASK

A permissão no UMASK permanece apenas para a sessão ou diretório atual. Para implementar as alterações permanentemente, defina as alterações em suas configurações. As definições de configuração do UMASK podem variar para cada distribuição; No entanto, para adicionar os valores de UMASK permanentemente no Ubuntu, faça alterações no Bash.Bashrc arquivo. Abra o arquivo em seu editor favorito para incluir as alterações como mostrado abaixo:

ubuntu@ubuntu: ~ $ sudo nano /etc /bash.Bashrc

Conclusão

O UMASK é uma ferramenta útil para atribuir permissão padrão específica aos arquivos e diretórios recém -criados. O artigo mostra como usar os bits de UMASK e os valores contra permissões de leitura/gravação/execução. Também demonstramos como atribuir permissões por meio de bits UMASK usando notações octais e simbólicas.