Wir verwenden einen Hosting-Server von FreeBSD 10.3, auf dem wir nicht die Berechtigung haben, Superuser zu sein. Wir verwenden den Server, um apache2 für Webseiten unseres Unternehmens auszuführen. Der vorherige Administrator unserer Webseiten hat anscheinend eine ACL-Berechtigung für ein Verzeichnis festgelegt, wir möchten diese jedoch entfernen. Nehmen wir an, das Verzeichnis heißt foobar
.
Nun ist das Ergebnis von ls -al foobar
wie folgt:
drwxrwxr-x+ 2 myuser another_user 512 Nov 20 2013 foobar
Und die Erlaubnis ist wie folgt:
[myuser@hosting_server]$ getfacl foobar
# file: foobar/
# owner: myuser
# group: another_user
user::rwx
group::rwx
mask::rwx
other::r-x
Hier möchten wir die ACL-Berechtigung und das Pluszeichen am Ende der Berechtigungsliste entfernen. Deshalb haben wir getan
setfacl -b foobar
Die von der ACL festgelegte Sondergenehmigung wurde entfernt, das Pluszeichen jedoch nicht gelöscht +
.
Unsere Frage ist, wie wir das Pluszeichen +
in der Berechtigungsliste löschen können , das von 'ls -al foobar' angezeigt wird.
quelle
getfacl
Zeigt keine ACLs an. Allerdingsls
zeigt ein+
. Sind Sie sicher, dass Sie jedes Mal dieselbe Datei betrachten? (Dies ist normalerweise der Grund für mich)Antworten:
Unser Problem wurde gelöst mit:
Der Punkt war, dass wir auch die aclMask mit der Option -n aus dem Verzeichnis entfernen mussten ... Die Manpage von
setfacl
sagt wie folgt:Wir sind uns nicht sicher, warum diese Option funktioniert hat, aber es hat ...
Wenn Sie
d?????????
nach der obigen Lösung die Erlaubnis erhalten, versuchen Sie eschmod -R a+rX
mit den folgenden zwei Kommentaren.quelle
d?????????
das ist seltsamchmod -R a+rX
die Hauptstadt XOdd ... kann nicht reproduzieren:
Leider habe ich momentan keinen Zugang zu BSD, um zu testen.
Systeminformationen:
quelle
setfacl -bn foobar
aber ich weiß nicht, warum dien
Option so funktioniert hat.