S maiúsculo nas permissões de uma pasta

43

O que a letra Ssignifica abaixo? O arquivo em questão é uma pasta.

                                                                insira a descrição da imagem aqui

Eu li aqui que uma maiúscula Spode representar que o setgidbit está ativo para um executável binário . Mas esta é uma pasta. Ainda significa que o setgidbit está ativado para ele? Se sim, o que isso significa?

Amelio Vazquez-Reina
fonte

Respostas:

36

Isso significa que qualquer arquivo solto na pasta assumirá o grupo proprietário da pasta.

Por exemplo: suponha que você tenha uma pasta chamada "shared" que pertença ao usuário "intrpc" e ao grupo "users", e você (como usuário "initrpc") solte um arquivo nela. Como resultado, o arquivo pertencerá ao usuário "intrpc" e ao grupo "users", independentemente do grupo principal de "initrpc".

Na maioria dos sistemas, se um bit de ID do grupo de conjuntos de diretórios estiver definido, os subarquivos recém-criados herdarão o mesmo grupo que o diretório e os subdiretórios recém-criados herdarão o bit de ID do grupo de conjuntos do diretório pai.

Você pode ler sobre isso aqui .

Por que a letra está em maiúscula (no link que você forneceu)?

setgid não terá efeito se o grupo não tiver permissões de execução. setgid é representado com um "s" minúsculo na saída de ls. Nos casos em que não tem efeito, é representado com um "S" maiúsculo.

Hanan N.
fonte
Aqui está uma boa explicação do setgid aplicado aos diretórios.
Matthias Braun
2
Eu acho que é enganoso dizer setgid has no effect if the group does not have execute permissionsporque faz ter um efeito. Basta adicionar um arquivo ao diretório como o proprietário do diretório: o arquivo terá o grupo do diretório em vez do grupo principal do proprietário.
Matthias Braun
12

O S maiúsculo é porque o diretório não possui permissões de execução para o grupo. De certa forma, isso indica um "erro", como você está dizendo:

subarquivos recém-criados herdam o mesmo grupo que o diretório e subdiretórios recém-criados herdam o bit set-group-ID do diretório pai.

(fonte: https://www.gnu.org/software/coreutils/manual/html_node/Directory-Setuid-and-Setgid.html )

No entanto, você está negando permissão para os membros do grupo entrarem no diretório.

Agora não
fonte