Eu tenho um diretório que está aparecendo com a máscara de permissão drwsrwsr-x
. Quando tento redefinir as permissões para 755
o S ainda permanece.
O que são os "s" e por que não consigo alterar as permissões novamente para 775 ( drwxrwxr-x
)?
Eu tenho um diretório que está aparecendo com a máscara de permissão drwsrwsr-x
. Quando tento redefinir as permissões para 755
o S ainda permanece.
O que são os "s" e por que não consigo alterar as permissões novamente para 775 ( drwxrwxr-x
)?
Respostas:
Os s que você está vendo na posição "execute" na coluna user e group são os bits SetUID (Definir ID do Usuário na Execução) e SetGID (Definir ID do Grupo na Execução).
Permissões de arquivo Unix são na verdade um número octal de 4 dígitos SUGO
Você pode remover os bits setuid do seu diretório com chmod ug-s directory
, ouchmod 0755 directory
Para obter mais informações, consulte a página de manual chmod
e esta página da Wikipedia sobre o bit SetUID .
chmod 0755
se não limpar o bit setuid, pelo menos não no Linux. Atualmente, estou testando em outros sistemas.
chmod
com um modo octamal que apaga os bits setuid, setgid e vtx.
chmod 00755
; veja unix.stackexchange.com/q/393531/46851
setuid e setgid (abreviação de ID do usuário definido na execução e ID do grupo definido na execução, respectivamente) são sinalizadores de direitos de acesso ao Unix que permitem aos usuários executar um executável com as permissões do proprietário ou grupo do executável. Eles geralmente são usados para permitir que os usuários de um sistema de computador executem programas com privilégios temporariamente elevados, a fim de executar uma tarefa específica. Embora os privilégios de ID de usuário ou de grupo assumidos fornecidos nem sempre sejam elevados, eles são específicos, no mínimo.
Para remover os bits setuid e setgid numericamente, você deve prefixar o padrão de bits com um 0
(por exemplo: 0775
torna - se 00775
).
Execute para excluir setuid e setgid:
chmod 00775 path
ou
chmod a-st path
Adicionando à resposta do ooshro ...
Se você usar permissões suid ou sgid em um diretório, todos os arquivos criados dentro desse diretório terão o mesmo proprietário (se suid) ou grupo (sgid) do diretório em questão.
Eu uso isso no meu compartilhamento Samba em casa. O diretório base pertence ao usuário ninguém e ao grupo olympia, e as permissões são 2770. Portanto, você deve estar no grupo olympia para ler ou escrever qualquer coisa abaixo desse diretório e garantirá que o olympia seja o grupo proprietário de tudo abaixo dele . Também tenho o Samba configurado para usar uma máscara de diretiva 2770 e uma máscara de arquivo 660 para manter as permissões corretas por toda a árvore.