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

chmod: Befehl genau anwenden

lianlinux

Member
Hi,

ich wollte mit chmod oktal ein paar Ordner umstellen.

Code:
sudo chmod -R /ordner 644

Es soll also nur der Besitzer Schreibzugriff bekommen. Danach konnte ich aber die Ordner nicht öffnen, offenbar fehlte das "ausführbar". Wäre demnach die 744 besser? Oder 755?

Müssen Ordner immer ausführbar sein? Dann werden aber zugleich auch alle Dateien ausführbar, auch wenn es Textdateien sind?

VG
 
A

Anonymous

Gast
zwischen Ordnern und Dateien gibt es hier einen Unterschied in der Interpretation der einzelnen Zugriffrechte.
siehe hier, das sollte dir alles wissenswerte rund um dieses Thema bieten.

robi
 
OP
L

lianlinux

Member
ah danke. "Will man in ein durch einen Pfad angegebenes Verzeichnis wechseln, so muss man das Ausführungsrecht für alle Verzeichnisse innerhalb dieses Pfades besitzen. Ist das Ausführungsrecht nicht gegeben, kann in diesem Verzeichniss auch keine Zuordnung von Dateinamen zur Inode erfolgen und somit auch kein Lesen, Schreiben oder Ausführen der Dateien in diesem Verzeichniss erfolgen, egal wie die Zugriffsrechte der dortigen Dateien gesetzt ist." ist also maßgeblich...!
 
lianlinux schrieb:
Danach konnte ich aber die Ordner nicht öffnen, offenbar fehlte das "ausführbar".
Bei einem Verzeichnis (Ordner) ist es so: Das r-Bit erlaubt anderen Anwendern den Inhalt des Ordners mit Kommando
Code:
ls
anzusehen.

Das x-Bit ermöglicht anderen Anwendern mit Kommando
Code:
cd
in den Ordner zu wechseln.

Wenn x-Bit und w-Bit gesetzt sind dann dürfen in dem Ordner andere Anwender Dateien erzeugen.

lianlinux schrieb:
Müssen Ordner immer ausführbar sein? Dann werden aber zugleich auch alle Dateien ausführbar, auch wenn es Textdateien sind?
Das die Textdateien unnötig das x-Bit bekommen, kannst mit einem großen X verhindern.

Mit dem Kommando bekommen unnötig auch Textdateien das x-Bit
Code:
chmod -R go+rwx Ordner_Name
Es kann man das verhindern mit Kommando
Code:
chmod -R go+rwX Ordner_Name
Es ist der kleine Unterschied zwischen Groß- und Kleinschreibung von dem Buchstabe x

Viele Grüße
Heinz-Peter
 
OP
L

lianlinux

Member
Hi nochmal,

also eigentlich will ich zB 750 setzen, also Besitzer rw, gleiche Gruppe darf nur lesen, fremde gar nichts.

Mit
Code:
chmod -R 750 /home/lianlinux
würde ich dies erhalten, aber auch Officedokumente haben das "x".

Wie kann ich denn mit deinem obigem Befehl ("go") selbiges herstellen?
Ist es andererseits schlimm/hinderlich, wenn ich einfach mit 750 das x-bit auch in Textdateien setze?

VG
 

drcux

Hacker
Nicht mit "-R" arbeiten, wenn du nur Verzeichnisse ändern willst, besser mit find suchen:

Ungetestet:

find /home/wasauchimmer -type d -print0 | xargs -0 chmod 750
 
A

Anonymous

Gast
so wie es josef-wien geschrieben hat, ist das schon richtig,

Beachte: chmod -R u=rwX,g=rX,o= verzeichnis

das sind große X :"Execute (ausführen) das Recht wird nur für Verzeichnisse gesetzt, für normale Dateien nicht "

dieser Befehl ist recht intelligent, und arbeitet oft besser als man es auf die schnelle mit find zusammenbasteln kann. Da er auch erkennt wenn eine normale Datei schon ein Ausführungsrecht hat dann setzt er die neune Ausführungsrechte bei diesen Dateien dann auch entsprechend um. Dieses funktioniert allerdings nur richtig, solange man sich die Ausführungsrechte Rechte auf normale Dateien nicht schon vorher mit einem anderem chmod Befehl komplett zerschossen hat.

robi
 
Oben