Comment supprimer ACL d'un répertoire et revenir au contrôle d'accès habituel?

29

Nous utilisons un serveur d'hébergement de FreeBSD 10.3, où nous n'avons pas le pouvoir d'être un superutilisateur. Nous utilisons le serveur pour exécuter apache2 pour les pages Web de notre entreprise. L'administrateur précédent de nos pages Web a semblé définir une autorisation ACL sur un répertoire, mais nous voulons le supprimer. Disons que le répertoire est appelé foobar.

Maintenant, le résultat de ls -al foobarest le suivant:

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

Et l'autorisation est la suivante:

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

Ici, nous voulons supprimer l'autorisation ACL et le signe plus à la fin de la liste des autorisations. Par conséquent, nous avons

setfacl -b foobar

Il a éliminé l'autorisation spéciale régie par l'ACL, mais n'a pas effacé le signe plus +.

Notre question est de savoir comment effacer le signe plus +dans la liste des autorisations, indiquée par «ls -al foobar»?

Taiki Bessho
la source
getfaclindique qu'il ne s'agit pas d'ACL. Montre cependant lsun +. Êtes-vous sûr de consulter chaque fois le même fichier? (c'est généralement la raison pour moi)
ctrl-alt-delor
@richard oui, certainement le même fichier.
Taiki Bessho

Réponses:

28

Notre problème a été résolu en utilisant:

setfacl -bn foobar

Le point était que nous devions également supprimer le aclMask du répertoire avec une option -n ... La page de manuel de setfacldit comme suit:

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

Nous ne savons pas pourquoi cette option a fonctionné, mais elle l'a fait ...


Si vous obtenez l' d?????????autorisation après la solution ci-dessus, essayez chmod -R a+rXcomme deux commentés ci-dessous.

Taiki Bessho
la source
Cela a rendu mes fichiers: d?????????c'est étrange
JREAM
1
Mise à jour: Cela a résolu chmod -R a+rXla capitale X
JREAM
@JREAM Quel système Linux utilisez-vous?
Taiki Bessho
J'ai le même d ?????? chose avec Ubuntu 16. Fixé avec le chmod ci-dessus. Bizarre.
TonyG
3

Odd ... ne peut pas reproduire:

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

Malheureusement, je n'ai pas accès à BSD pour tester en ce moment.


Information système:

Distributor ID: Debian
Description:    Debian GNU/Linux 8.7 (jessie)
Release:    8.7
Codename:   jessie
maulinglawns
la source
En effet, je ne peux pas reproduire sur le serveur Ubuntu 16.04.1 ...
Taiki Bessho
Enfin, j'ai pu supprimer le signe plus par setfacl -bn foobarmais je ne sais pas pourquoi l' noption a fonctionné ainsi.
Taiki Bessho