• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] chmod Frage

franc

Newbie
Hallo,

was ist eigentlich der Unterschied zwischen dem + und dem = bei chmod?

Also in der Wikipedia lese ich:

+ fügt die entsprechenden Dateirechte den entsprechenden Benutzerklassen hinzu
- entzieht den entsprechenden Benutzerklassen die entsprechenden Dateirechte
= setzt für genau die Benutzerklassen die entsprechenden Dateirechte, ungeachtet ihrer vorherigen Rechte am Objekt

Demnach sehe ich keinen Unterschied im Ergebnis, ob ich ein Dateirecht "setze" oder "hinzufüge".

Wenn ich z.B.

chmod 755 /datei

mache, entspricht das nun

chmod a=rx,u+w /datei

oder / und auch

chmod a+rx,u=w /datei

usw.? Oder sitze ich auf dem Schlauch?

Ich kam drauf, weil ich von einem Verzeichnis heraus rekursiv nur alle Dateien (und nicht die Verzeichnisse) mit 644 Rechten ausstatten musste, mit:

find . -type f -exec chmod a=r,u+w {} \;

bzw. mit

find . -type f -exec chmod 644 {} \;

Gruss franc

PS: Ist es vielleicht so, dass mit "=" für die jeweilige Gruppe die Rechte neu gesetzt werden, also ein a=rw ein z.b. vorheriges rwxrwxrwx in rw-rw-rw- ändert, aber ein a+rw im Beispiel nichts verändern würde?
 
franc schrieb:
Demnach sehe ich keinen Unterschied im Ergebnis, ob ich ein Dateirecht "setze" oder "hinzufüge".
Wenn ich z.B.
chmod 755 /datei
mache, entspricht das nun
chmod a=rx,u+w /datei
oder / und auch
chmod a+rx,u=w /datei
usw.? Oder sitze ich auf dem Schlauch?
755 entspricht u=rwx,g=rx,o=rx.
a+rx hat bei u keinen Effekt, weil du mit u=w einen Override machst.

BTW:
Code:
find . -type f -print0 | xargs -0 chmod 644
ist schneller als das -exec.
 
Oben