chmod -R skript

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
rolfti
Beiträge: 319
Registriert: 09.08.2004 22:29:44
Wohnort: Lugano

chmod -R skript

Beitrag von rolfti » 23.05.2020 16:02:14

Hallo, ich nutze folgenden Befehl um die Lese & Schreibrechte (Eigentümer:HANS, Gruppe: FAMILIE) zu zuordnen.
root@solis:~# chmod -R 0664 /mnt/install/
So weit funktioniert das auch, doch ein Problem bleibt:
Unter /mnt/install gibt es Verzeichnisse die Backups-Skript (#!/bin/bash) enthalten.
Und die sind anschliessend nicht mehr ausführbar 8O
Leider funktioniert dies auch nicht: root@solis:~# find /mnt/install/ -type d -exec chmod 775 {} +
Wie kann ich die Rechte solcher Dateien beibehalten?

tobo
Beiträge: 2338
Registriert: 10.12.2008 10:51:41

Re: chmod -R skript

Beitrag von tobo » 23.05.2020 16:59:46

Du kannst mit find auch Verzeichnisbäume (also Verzeichnisse mit Dateien und Unterverzeichnissen darin) ausblenden, in dem du -prune in Kombination mit -path verwendest. Durch Oder-Verkettung (-o) kannst du dann auch mehrere Verzeichnisse ausschließen.

Code: Alles auswählen

find /mnt/install/ \( -path /mnt/install/DIR1 -o -path /mnt/install/DIR2 -o -path /mnt/install/DIR3 \) -prune -type d -exec chmod 775 {} +
EDIT: Wobei das exec steif mitkopiert war und dann natürlich nicht stimmt. Richtig wäre dann 664, DIR123 blieben dann unverändert. Bezieht sich dann allerdings nur auf die Verzeichnisse. Kannst ja mit -print anstelle -exec testen, was du da genau suchst...
Zuletzt geändert von tobo am 23.05.2020 17:42:39, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: chmod -R skript

Beitrag von MSfree » 23.05.2020 17:25:25

rolfti hat geschrieben: ↑ zum Beitrag ↑
23.05.2020 16:02:14
root@solis:~# chmod -R 0664 /mnt/install/
Sowas macht man ja auch nicht. Ein rekursives chmod ist eigentlich immer ein ganz blöde Idee.
Unter /mnt/install gibt es Verzeichnisse die Backups-Skript (#!/bin/bash) enthalten.[
Und die sind anschliessend nicht mehr ausführbar 8O
Wenn man den Dateien das Ausführungsrecht mit chmod nimmt, ist das wohl keine Wunder.
Leider funktioniert dies auch nicht: root@solis:~# find /mnt/install/ -type d -exec chmod 775 {} +
Das setzt das Ausführungsrecht von Verzeichnissen. Zumidest kann man hinterher wieder in die Verzeichnisse wechseln.
Wie kann ich die Rechte solcher Dateien beibehalten?
Niicht mit chmod -R [irgendeinenummer]

inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: chmod -R skript

Beitrag von inne » 23.05.2020 19:24:56

Das chmod kennt X, das imo Verz. und Skript wieder executable setzt. Wie man das oktal angibt weiss ich gerade nicht auswendig und das geht imo auch nur beim setzen +X und nicht entfernen -X.

Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

Re: chmod -R skript

Beitrag von SubOptimal » 24.05.2020 20:47:57

Hi @rolfti,

vielleicht hilft eine andere Herangehensweise. Anstatt die Berechtigungen mittels Bitwert fix zu setzten könntest Du auch Berechtigungen zu bestehenden setzen/löschen.

"chmod 0664 datei" - setzt die Berechtigungen exakt auf den angegebenen Wert
"chmod u+rw,g+rw datei" - setzt die Berechtigung lesen/schreiben für den User und die Gruppe zusätzlich zu vorhandenen Berechtigungen

Schreibberechtigungen kannst Du für "others" dann mittels "chmod o-w datei" entfernen. Existierende andere User-/Gruppenberechtigungen bleiden davon unberührt.

mit Gruß
SubOptimal

Antworten