Zum Inhalt springen

Unix - ACL - klappt nicht


Empfohlene Beiträge

Geschrieben

Moin zusammen,

ich habe hier ein Problem mit der Erstellvon von ACLs unter Solaris.

Folgendes Ziel: ich möchte für ein Verzeichnis die Berechtigung 760 vergeben; ferner

sollen noch zwei weitere Gruppen berechtigt werden; hier sollen die Rechte als 7 und 6 vergeben werden.

Zum Test habe ich unter /tmp eine kleine Verzeichnisstruktur angelegt:

Werden Dateien vom Owner angelegt, so liefert getfacl folgende Angaben:

cd /tmp

for f in 1 2 3 4 5 6; do mkdir expdir; cd expdir; touch testfile${f}; echo "1" >> testfile${f}; done

Die ACLs sehen dann beispielsweise für /tmp/expdir/testfile1 wie folgt aus:
# file: testfile1 # owner: user1 # group: gruppe1 user::rw- group::r-- #effective:r-- mask:rwx other:---
Mein naiver Ansatz zum Test für die Datei /tmp/expdir/testfile1:
setfacl -s user::rw-,group::r--,mask:rw-,other:---,u:testuser:rw- /tmp/expdir/testfile1

(vgl. www.fz-juelich.de/jsc/files/docs/tki/tki-0314.pdf)

Ergebnis:

/tmp/expdir/testfile1: failed to set acl entries

setacl error: Operation not applicable

Aber warum? Was mache ich falsch?

Raff ich nicht...

Kann jemand helfen?

Thx in advance!

Geschrieben

Moin zusammen,

also das Setzen der ACLs klappt nun - aber irgendwie sind die noch nicht wirksam.

Hier das Setting:

setfacl -m user::rwx,group::---,other:---,mask:rw-,group:aba_am:rw-,user:b78mun:rwx,d:user::rwx,d:group::---,d:mask:rw-,d:other:---,d:group:aba_am:rw- test2
getfacl test2
# file: test2

# owner: abacus

# group: abacus

user::rwx

user:meier:rwx         #effective:rw-

group::---              #effective:---

group:aba_am:rw-                #effective:rw-

mask:rw-

other:---

default:user::rwx

default:group::---

default:group:aba_am:rw-

default:mask:rw-

default:other:---

Wenn ich nun als User meier versuche ins Verzeichnis test2 zu wechseln, mir dort vorhandene Dateien anzuschauen oder was auch immer: ich bekomme immer ein "permission denied".

Bin ein wenig ratlos.

Hat da jemand noch eine Idee?

Geschrieben

Ok - das tut soweit für das Verzeichnis und dort neu angelegte Dateien und Unterverzeichnisse. Nochmals vielen Dank!

Nun zur tatsächlichen Situation:

Ich möchte das gerne für ein bestehendes Verzeichnis anwenden - rekursiv für alle vorhandenen Unterverzeichnisse und Dateien ab einem bestimmten Pfad.

Gibt's die Möglichkeit, das auch rekursiv für alle bereits vorhandenen Dateien und Verzeichnisse umzusetzen? Denn das klappt mit -r nur für neu angelegte Dateien / Verzeichnisse.

Irgendwie komme ich mir gerade total n00blike vor. Ich hoffe, ihr habt trotzdem nen Tipp für mich... :hells:

Geschrieben
setfacl 2.2.45 -- set file access control lists

Usage: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...

-m, --modify=acl modify the current ACL(s) of file(s)

-M, --modify-file=file read ACL entries to modify from file

-x, --remove=acl remove entries from the ACL(s) of file(s)

-X, --remove-file=file read ACL entries to remove from file

-b, --remove-all remove all extended ACL entries

-k, --remove-default remove the default ACL

--set=acl set the ACL of file(s), replacing the current ACL

--set-file=file read ACL entries to set from file

--mask do recalculate the effective rights mask

-n, --no-mask don't recalculate the effective rights mask

-d, --default operations apply to the default ACL

-R, --recursive recurse into subdirectories

-L, --logical logical walk, follow symbolic links

-P, --physical physical walk, do not follow symbolic links

--restore=file restore ACLs (inverse of `getfacl -R')

--test test mode (ACLs are not modified)

--version print version and exit

--help this help text

Wieso soll das nur bei neuangelegten Dateien gehen? Ansonsten würd ich -xb nehmen und dann mit -mr neue ACLs setzen bzw das versuchen. Mit --test kannst du erstmal testen. Allerdings weiß ich nun nicht, ob die Befehle unter Solaris identisch sind. Ansonsten setfacl --help oder man setfacl. Sollte dir weiterhelfen.

btw: So n00blike ist das net, haben alle mal angefangen :) Also teste weiter, dabei lernst du und nächstes Mal hilfst du hier anderen...

Geschrieben
Wieso soll das nur bei neuangelegten Dateien gehen?

Das frage ich mich auch gerade - ist aber scheinbar so.

Wenn die Permissions mit -R für ein Verzeichnis setze, dann bleiben die dort bereits existenten Dateien davon völlig unbeeindruckt. :(

Bei -r bietet bei Solaris nur ein

Recalculates the permissions for the ACL

mask entry. The permissions specified in the

ACL mask entry are ignored and replaced by

the maximum permissions necessary to grant

the access to all additional user, file

group owner, and additional group entries in

the ACL. The permissions in the additional

user, file group owner, and additional group

entries are left unchanged.

Na, Notfalls gibt's die "Hau-drauf-und-Schluss-Methode" .

find ./ -type f | while read file;

do

getfacl demofile | setfacl -f - $file

done

Nicht schick - aber billig. :D

Nochmals danke für deine Tipps!

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...