Estoy intentando establecer permisos en un servidor entre usuarios que usan ACL. Cuando reviso su estado en uno de los directorios usando getfacl dir10
, muestra:
root@svn:/srv/resources/somedir# getfacl dir10
# file: dir10
# owner: root
# group: mygroup
# flags: -s-
¿Qué significan estas banderas? ¿Cómo puedo cambiarlos?
Respuesta1
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 establecer estos 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'.
Respuesta2
@umläute tiene toda la razón sobre lo que significa la bandera. Sin embargo, para deshacerse de él, -s-
debe eliminarlo de los UNIX
permisos.
Es decir
chmod g-s ./dir10
Lo --restore=file
único que revierte los permisos a un nivel anterior (lo que puede eliminar el setgid o no). Y no creo que funcione en directorios, solo en archivos.