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 foobar
est 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»?
la source
getfacl
indique qu'il ne s'agit pas d'ACL. Montre cependantls
un+
. Êtes-vous sûr de consulter chaque fois le même fichier? (c'est généralement la raison pour moi)Réponses:
Notre problème a été résolu en utilisant:
Le point était que nous devions également supprimer le aclMask du répertoire avec une option -n ... La page de manuel de
setfacl
dit comme suit: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, essayezchmod -R a+rX
comme deux commentés ci-dessous.la source
d?????????
c'est étrangechmod -R a+rX
la capitale XOdd ... ne peut pas reproduire:
Malheureusement, je n'ai pas accès à BSD pour tester en ce moment.
Information système:
la source
setfacl -bn foobar
mais je ne sais pas pourquoi l'n
option a fonctionné ainsi.