problema ao entender GID e chmod g + s

0

Estou tendo problemas para entender o GID e o comando chmod g+s

Eu li isso como definindo as permissões do arquivo passado ou diretório, para o grupo, como + s (pegajoso im assumindo?) O + s significa pegajoso, e isso significa que ele copia as permissões do grupo atual para esse grupo? arquivo / diretório e define que ele seja usado para todos os arquivos e diretórios recém-criados no diretório original?

Se alguém desejar ter certeza de que todos os arquivos recém-incluídos no diretório / test / devem pertencer automaticamente ao grupo 'finance', é chmod g + s o comando correto para fazer isso (supondo que o grupo primário de teste seja finança) ?

as páginas man do chmod não dão uma explicação clara, pelo menos para mim, quanto à funcionalidade desse comando.

    
por Oscalation 24.03.2016 / 19:42

1 resposta

2

Curto: "s" significa conjunto .

Longo:

Conforme aplicado a um arquivo , chmod g+s é usado para setgid. Ou seja, se o arquivo for executável e tiver o conjunto de bits do grupo, ele será executado com seu conjunto grupo para corresponder à propriedade de grupo do arquivo. O recurso está no Unix há algum tempo (veja, por exemplo, a página de manual da sexta edição).

Diretórios são mais difíceis de documentar, porque o comportamento pode depender do sistema.

POSIX não especifica um comportamento, dizendo apenas

Conforming applications should never assume that they know how the set-user-ID and set-group-ID bits on directories are interpreted.

Para AIX e HPUX , nada é mencionado para diretórios

Para Solaris

For directories, files are created with BSD semantics for propagation of the group ID. With this option, files and subdirectories created in the directory inherit the group ID of the directory, rather than of the current process. It may be cleared only by using symbolic mode.

embora (notando "semântica BSD" ), este comportamento não foi descrito no SunOS 4 página de manual.

Nos sistemas modernos, FreeBSD , OSX e Linux fornece a" semântica BSD ", mas NetBSD e OpenBSD não mencione .

Leitura adicional (curiosamente, sem respostas aceitas):

por 24.03.2016 / 21:18

Tags