Estou tentando definir permissões em um servidor entre usuários usando ACLs. Quando estou verificando seu status em um dos diretórios usando getfacl dir10
, ele mostra:
root@svn:/srv/resources/somedir# getfacl dir10 # file: dir10 # owner: root # group: mygroup # flags: -s-
O que esses sinalizadores significam? Como posso alterá-los?
Resposta
de man getfacl
:
The output format of getfacl is as follows: 1: # file: somedir/ 2: # owner: lisa 3: # group: staff 4: # flags: -s- [...] Line 4 indicates the setuid (s), setgid (s), and sticky (t) bits: either the letter representing the bit, or else a dash (-). This line is included if any of those bits is set and left out otherwise, so it will not be shown for most files. (See CONFORMANCE TO POSIX 1003.1e DRAFT STANDARD 17 below.)
para definir esses valores, consulte man setfacl
:
--restore=file Restore a permission backup created by `getfacl -R" or similar. All permissions of a complete directory subtree are restored using this mechanism. If the input contains owner comments or group comments, setfacl attempts to restore the owner and owning group. If the input contains flags comments (which define the setuid, setgid, and sticky bits), setfacl sets those three bits accordingly; otherwise, it clears them. This option cannot be mixed with other options except `--test".
Resposta
@ umläute Está completamente correto sobre o que o sinalizador significa. No entanto, para se livrar das -s-
, você precisa removê-lo das permissões UNIX
.
Ou seja,
chmod g-s ./dir10
O --restore=file
apenas reverte as permissões para um nível anterior (que pode remover o setgid ou não.) E eu não acho que funcione em diretórios, apenas em arquivos.