Por favor estabeleça um argumento Sticky (bit)

1

Eu entrei em uma conversa bem-humorada com um colega de trabalho sobre a natureza da parte pegajosa.

Na minha opinião, trabalhar na página chmod man foi o bit pegajoso, se definido, permite que apenas o proprietário exclua ou renomeie arquivos:

RESTRICTED DELETION FLAG OR STICKY BIT
The restricted deletion flag or sticky bit is a single bit, whose 
interpretation depends on the file type.  For directories, it prevents  
unprivileged  users from removing or renaming a file in the directory 
unless they own the file or the directory; this is called the restricted 
deletion flag for the directory, and is commonly found on world-writable 
directories like  /tmp.   For regular  files  on  some  older systems, the 
bit saves the program's text image on the swap device so it will load more 
quickly when run; this is called the sticky bit.

(veja também: link )

Meu colega está convencido de que a resposta autoritária é um artigo em um fórum de Yale de 1996. a> que instrui como o bit pegajoso é usado para definir os direitos herdados do grupo para o diretório.

Assim, instalei setafcl e defino acl como uma opção no mount ( como detalhado no Super User ).

Alguém gostaria de ajudar a resolver essa disputa?

    
por user253962 13.09.2013 / 19:16

2 respostas

3

Você e seu colega estão falando sobre dois pontos diferentes, por isso é compreensível que você não concorde com o que eles fazem.

O bit pegajoso, o bit setuid e o bit setgid são três bits distintos no modo de um arquivo (ou diretório). Veja por exemplo a página do manual chmod(2) .

Você está certo, sua referência para o bit pegajoso é precisa, a referência do seu colega para o bit SGID também é.

    
por Mat 13.09.2013 / 19:36
1

O bit setgid é o que você precisa.

sudo chmod g+s /foldername

Não use a opção -R para recursiva, a menos que você queira que os arquivos existentes nesse diretório / subdiretórios também tenham o bit configurado. Normalmente você não quer o bit setgid para arquivos desde que o diretório tenha definido.

Abaixo está como definir recursivamente o bit gid em uma pasta e suas subpastas.

sudo find /foldername -type d -exec echo chmod g+s {} \;
    
por Stivy 13.09.2013 / 20:01