Berechtigungen verändern aber nur von Ordnern

B

BenjiX

Eroberer
Hi!
Geht es, dass ich die Berechtigungen mit chmod verändere aber nur die Ordner und Unterordner sollten davon betroffen sein, nicht die Dateien in den Ordnern?
Würde diesen Befehl benutzen
Code:
chmod -cR +x *
Jedoch werden hier auch die Dateiberechtigungen verändert ich will aber nur die Berechtigungen der Ordner verändern.
Kann auch ein kleines Script sein.

MfG Stefan
 
Code:
find ./ -type d -exec chmod 744 "{}"\;

mit find sucht er nach d Directory Ordner und verändert oder ändert den chmod auf 744, dies kannst du ja auch anpassen. Pfad und so kannst du auch anpassen.
 
Zuletzt bearbeitet:
Wenn ich den Befehl so angebe, dann kommt folgender Fehler:
Code:
find: Fehlendes Argument für "-exec".

Werden bei deinem Befehl, wenn ich ihn z.b. unter /home/bla/test ausführe nur die Unterordner von /home/bla/test geändert oder was wird da alles geändert?
 
gib nur "find ./ -type d" ein und du siehst welche Ordner mit dem erweitertem Befehl geändert werden. Normalerweise ändert er vom aktuellen Verzeichnis (.) abwärts alles.

Gronau: die Gansefüsse sind nötig sonst gibt es Fehler bei Ordner mit Leerschlag.

so geht es bei mir (zsh):
find ./ -type d -exec chmod 744 "{}" \;
 
Hi Stefan!

Wenn du ein Leerzeichen vor dem Backslash (\) einfügst sollte es gehen.

Code:
find ./ -type d -exec chmod 744 "{}" \;

Gruss,
Philip
 
Der slash nach dem punkt ist unnötig, genau wie die quotes um die geschweiften klammern. Exec gibt ja nur die ausgabe von find an ein anderes programm weiter (genau wie xargs), und da ändern quotes nichts. Ich hatte ohne jedenfalls nie probleme.
 
Allerdings, damit du fürs nächstemal auch einzelne Ordner mit Rechten "versehen" kannst:

Code:
# chmod 755 /dein/Ordner

Musst einfach das "-R" für "Rekursiv" weg lassen.

Havoc][
 
Havoc][ schrieb:
Allerdings, damit du fürs nächstemal auch einzelne Ordner mit Rechten "versehen" kannst:

Code:
# chmod 755 /dein/Ordner

Musst einfach das "-R" für "Rekursiv" weg lassen.

Havoc][
nein!
Das wird nur die permissions des ordners, aber nicht der Unterordner :oldman
 
Genau. Und so hab ich das auch beschrieben.

Havoc][ schrieb:
damit du fürs nächstemal auch einzelne Ordner mit Rechten "versehen" kannst

Einen einzigen Ordner, ohne die Dateien und Ordner darunter anzupacken/anzupassen, geht ohne irgendeinen Parameter. bzw. der Parameter "-R" muss definitv weg bleiben.

Havoc][
 
Hallo
bei exotischen Dateinamen ist es allemal besser folgende pipe zu verwenden:
find /sorcepath/ -type d -print0| xargs -0n1 chmod 755
Das stellt sicher, dass selbst bei Zeilenumbrüchen im Ordnernamen jedes einzelne Argument an \0 getrennt wird.
So werden auch unmögliche vorkommende Namen richtig an das command hinter xargs weitergereicht.
Auch bei sehr langen Listen wird hier der Fehler:
argument line too long vermieden.

Gruß Wolfgang
 

Ähnliche Themen

Pi zu einem Netshare service einrichten (SMB + Web)

youtube-dl mit WebUI einrichten - Download-Ordner ändern + Berechtigungen

chown/chmod crasht Dateisystem!?

Gezielte Berechtigungen auf Ordner bzw. Dateien

Falsche Rechte gesetzt beim Anlegen von Ordnern via Samba-Client

Zurück
Oben