¿Cómo eliminar ACL de un directorio y volver al control de acceso habitual?

29

Utilizamos un servidor de alojamiento de FreeBSD 10.3, donde no tenemos la autoridad para ser un superusuario. Usamos el servidor para ejecutar apache2 para las páginas web de nuestra empresa. El administrador anterior de nuestras páginas web parecía establecer un permiso de ACL para un directorio, pero queremos eliminarlo. Digamos que se llama al directorio foobar.

Ahora el resultado de ls -al foobares el siguiente:

drwxrwxr-x+   2 myuser  another_user   512 Nov 20  2013 foobar

Y el permiso es el siguiente:

[myuser@hosting_server]$ getfacl foobar
# file: foobar/
# owner: myuser
# group: another_user
user::rwx
group::rwx
mask::rwx
other::r-x

Aquí queremos eliminar el permiso de ACL y el signo más al final de la lista de permisos. Por lo tanto, hicimos

setfacl -b foobar

Eliminó el permiso especial regido por la ACL, pero no borró el signo más +.

Nuestra pregunta es ¿cómo podemos borrar el signo más +en la lista de permisos, que se muestra con 'ls -al foobar'?

Taiki Bessho
fuente
getfaclindica que no son ACL. Sin embargo lsestá mostrando a +. ¿Estás seguro de que estás mirando el mismo archivo cada vez? (Esta suele ser la razón para mí)
ctrl-alt-delor
@richard sí, definitivamente el mismo archivo.
Taiki Bessho

Respuestas:

28

Nuestro problema se resolvió usando:

setfacl -bn foobar

El punto era que también teníamos que eliminar aclMask del directorio con una opción -n ... La página de manual de setfacldice lo siguiente:

 -n      Do not recalculate the permissions associated with the ACL mask
         entry.  This option is not applicable to NFSv4 ACLs.

No estamos seguros de por qué esta opción funcionó, pero lo hizo ...


En caso de que obtenga d?????????permiso después de la solución anterior, intente chmod -R a+rXcomo dos comentados a continuación.

Taiki Bessho
fuente
Esto hizo mis archivos: d?????????eso es extraño
JREAM
1
Actualización: Esto resolvió chmod -R a+rXla capital X
JREAM
@JREAM ¿Qué sistema Linux utilizas?
Taiki Bessho
Tengo ese mismo d ?????? cosa con Ubuntu 16. Solucionado con el chmod anterior. Extraño.
TonyG
3

Extraño ... no se puede reproducir:

ls -l | grep foobar
drwxr-xr-x+ 2 maulinglawns maulinglawns 4096 jan 24 14:25 foobar

setfacl -b foobar/
ls -l | grep foobar
drwxr-xr-x 2 maulinglawns maulinglawns 4096 jan 24 14:25 foobar

Lamentablemente, no tengo acceso a BSD para probar en este momento.


Información del sistema:

Distributor ID: Debian
Description:    Debian GNU/Linux 8.7 (jessie)
Release:    8.7
Codename:   jessie
maulinglawns
fuente
De hecho, no puedo reproducir en el servidor Ubuntu 16.04.1 ...
Taiki Bessho
Finalmente, pude eliminar el signo más setfacl -bn foobarpero no sé por qué la nopción funcionó tan bien.
Taiki Bessho