acl's: ganzer Verz-Baum ohne Rechte auf Verz selbst moeglich?

02/07/2009 - 16:52 von E.Gerlach | Report spam
Hallo,

ist es möglich mit acl (access control list) einen ganzen
Verzeichnisbaum Usern zum lesen und scheiben (auch löschen)
freizugeben, nur die Verzeichnisse/ Verzeichnisnamen selbst
dürfen nicht verànderbar/löschbar sein?

Es geht darum, dass User nicht aus versehen ganze Ordner
löschen oder verschieben. In meinem Fall brauchen die User
auch keine neuen Verzeichnisse anzulegen, wenn Sie es können,
ist das aber egal.

Geht das??

Mit einem einzigen Verzeichnis "test" geht das bestens. Ist jedoch
das vorhergehende Verzeichnis "mutter" auch schon per acl freigegeben,
dann dürfen die User natürlich Verzeichnis "test" löschen.

So habe ich unter Suse getestet (unter Suse scheint die Syntax anderst
zu sein, wenn man nach setfacl googelt, dann findet man fast nur
Beispiele mit anderer Syntax):

# cd ~
# mkdir mutter
# cd mutter
# mkdir test
# setfacl --set u::rwx,g::,o:,m:rwx test
# setfacl --mask -m u:UserDieter:rwx test

Hier ist es UserDieter nicht möglich Ordner test zu veràndern,
verschieben oder zu löschen, ok, aber ich brauchen einen
Verzeichnisbaum! Mit

# cd ~
# setfacl --set u::rwx,g::,o:,m:rwx mutter
# setfacl --mask -m u:UserDieter:rwx mutter

... ist es dann UserDieter leider wieder möglich Ordner "test"
zu löschen, verschieben, ...

Eigentlich sollte es doch mit acl's möglich sein, ganz und alleine
in der Liste ("access control *list*") dem Ordner "test" die Rechte
zu entziehen aber Zugang und Verànderungen in "test" weiterhin
erlauben! Etwa so:

# cd ~/mutter
# setfacl -d test

Dann wurden UserDieter aber alle Rechte auf "test" entzogen :-(
Hat mir jmd Rat?
Gruss
Ekkard
 

Lesen sie die antworten

#1 Hauke Laging
03/07/2009 - 00:21 | Warnen spam
E.Gerlach schrieb am Donnerstag 02 Juli 2009 16:52:

Es geht darum, dass User nicht aus versehen ganze Ordner
löschen oder verschieben. In meinem Fall brauchen die User
auch keine neuen Verzeichnisse anzulegen, wenn Sie es können,
ist das aber egal.

Geht das??



Ja, das geht mit dem sticky bit.

man 8 chmod

Du ànderst den owner der (übergeordneten) Verzeichnisse auf einen
User, der nicht darauf zugreift (nennen wir ihn mal root), und gibst
den Users Schreibrechte per ACL oder Gruppe.

Das muss allerdings für alle Verzeichnisse einzeln gemacht werden.
Oder Du machst das auch für die Dateien:

chown -R root /document/root
setfacl -R -m g:meineuser:rwx /document/root
chmod u+s möchte man allerdings nicht unbedingt auch über die Dateien
laufen lassen... ;-)

Das löst Dein Problem allerdings nicht für neu erstellte
Verzeichnisse. Die kann man natürlich per cronjob suchen und
bearbeiten, wenn die nicht sogar in diesem Sinne egal sind.

Möglicher Nachteil dieser Lösung: Auch Dateien können dann nicht mehr
gelöscht werden (außer vom owner, falls der nicht per chown -R
plattgemacht wurde).


CU

Hauke
http://www.hauke-laging.de/ideen/

Ähnliche fragen