Linux Shell Sticky Bit Uso e exemplos

Linux Shell Sticky Bit Uso e exemplos

Antes de falarmos sobre o que é uma parte pegajosa, vamos começar explicando por que precisamos. Por exemplo, temos um diretório /var/share Em algum lugar do sistema de arquivos com um acesso total para todos os grupos de permissão que são proprietários, grupo e qualquer um, portanto, todos os bits de permissão são definidos como "ON" drwxrwxrwx:

# ls -ld/var/share/drwxrwxrwx. 2 raiz raiz 4096 5 de março 11:02/var/share/ 

Pelo acima, podemos ver que qualquer usuário leu, escrever e executar permissões para o /var/share diretório. Em seguida, em nosso cenário, temos dois usuários nomeados usuário1 e usuário2. Já que todos agora têm acesso a /var/share diretório, nosso usuário1 pode navegar para este diretório e simplesmente criar qualquer arquivo arbitrário:

user1@localhost ~] $ cd/var/share/[user1@localhost share] $ touch file1 [user1@localhost share] $ ls -l file1 -rw -rw -r -r--. 1 Usuário1 Usuário1 0 5 de março 11:08 File1 [User1@localhost Share] $ 

O arquivo1 foi criado com um bit de permissão definido pelo usuário Umask valor e a propriedade do usuário e do grupo é definido para seu criador que é usuário1. Até agora não temos problemas e tudo funciona perfeitamente como pretendido. Mais tarde, nosso usuário2 navega para o /var/share diretório e decide renomear ou excluir arquivo1 para File2:

[user2@localhost share] $ cd/var/share/[user2@localhost share] $ ls -l Total 0 -RW -RW -R--. 1 Usuário1 Usuário1 0 5 de março 11:20 FILE1 [User2@localhost Share] $ MV File1 File2 [User2@localhost Share] $ LS -l Total 0 -RW -RW -R--. 1 Usuário1 Usuário1 0 5 de março 11:20 FILE2 [User2@localhost Share] $ RM File2 RM: Remova o arquivo vazio regular de gravação 'File2'? y [user2@localhost share] $ ls [user2@localhost share] $ 

O que aconteceu no exemplo acima é que nosso usuário2 navegou para /var/share diretório, listou todos os arquivos e encontrado arquivo1. Com uso de MV comando o usuário renomeado para arquivo1 para File2. O arquivo foi renomeado enquanto o proprietário e o grupo do arquivo permaneceram inalterados. Depois disso usuário2 simplesmente decidiu remover o arquivo usando rm comando.

Nesta fase, precisamos de algum mecanismo para impedir que os usuários que não possuem o diretório ou o arquivo real dentro do diretório de renomear ou remover os arquivos de outros usuários. Este mecanismo é chamado de "bit pegajoso". O bit sticky permite apenas root, proprietário do diretório e proprietário de arquivo para renomear e excluir arquivos. Usar chmod comando para definir uma parte pegajosa em um diretório:

[root@localhost ~]# chmod +t/var/share/[root@localhost ~]# ls -ld/var/share/drwxrwxrwt. 2 raiz raiz 4096 5 de março 11:21/var/share/ 

O último bit de permissão executável para todos os usuários agora está definido como t O que significa que uma parte pegajosa está agora em vigor e apenas os proprietários de raiz, arquivo ou diretórios podem renomear e excluir arquivos. Vamos replicar o cenário acima e deixar usuário1 Para criar um novo arquivo1 arquivo:

[user1@localhost share] $ ls [user1@localhost share] $ touch file1 [user1@localhost share] $ ls -l Total 0 -rw -rw -r -r--. 1 Usuário1 Usuário1 0 5 de março 11:34 file1 [user1@localhost share] $ 

arquivo1 agora é criado e como a parte pegajosa está agora no lugar usuário2 agora será impedido de renomear ou excluir o arquivo que não pertence a ele:

[user2@localhost share] $ ls -l Total 0 -RW -RW -R--. 1 Usuário1 Usuário1 0 5 de março 11:34 FILE1 [User2@localhost Share] $ MV File1 File2 MV: Não é possível mover 'file1' para 'file2': Operação não permitida [user2@lochost share] $ rm file1 rm: Remover Write-Proteged arquivo vazio regular 'arquivo1'? y rm: não é possível remover 'file1': operação não permitida [user2@localhost share] $ ls -l Total 0 -RW -RW -R--. 1 Usuário1 Usuário1 0 5 de março 11:34 FILE1 [User2@localhost Share] $ 

Do exemplo acima, podemos ver que usuário2 não conseguiu renomear ou excluir um arquivo porque é de propriedade de outro usuário, enquanto esse comportamento é imposto pelo mecanismo de bits pegajoso. O melhor exemplo de uso de bits pegajoso é /tmp/ diretório.

# ls -ld / tmp / drwxrwxrwt. 18 raiz raiz 480 5 de março 11:42 /tmp / 

Qualquer usuário tem acesso a /tmp/, No entanto, para impedir que outros usuários renomeassem ou excluam arquivos pertencentes a diferentes usuários, o bit sticky é definido como este diretório por padrão. Apenas para uma integridade, observe que você pode remover uma parte pegajosa de um diretório por já mencionado chmod comando:

[root@localhost ~]# ls -ld/var/share/drwxrwxrwt. 2 raiz raiz 4096 5 de março 11:38/var/share/[root@localhost ~]# chmod -t/var/share/[root@localhost ~]# ls -ld/var/share/drwxrwxrwx. 2 raiz raiz 4096 5 de março 11:38/var/share/[root@localhost ~]# 

Tutoriais do Linux relacionados:

  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para instalar no Ubuntu 20.04
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Mastering Bash Script Loops
  • Como aproveitar ao máximo o OpenSsh
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Com que frequência você tem que reiniciar seu servidor Linux?
  • Como fazer bota dupla kali linux e windows 10
  • Computer Math Basics: binário, decimal, hexadecimal, octal
  • Crie e configure diretórios SetGid para colaboração -…