Chmod: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“
 
(56 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:chmod}}
'''chmod''' - Zugriffsrechte von Dateien und Ordnern ändern (Change mode)


== Beschreibung ==
== Installation ==
== Aufruf ==
'''chmod [optionen] mode datei'''


=Bezeichnung=
''mode'' steht für die anzuwendende Rechtemaske.
'''chmod''' (Change mode): ändert Zugriffsrechte von Dateien und Ordnern.
* Diese kann '''numerisch''' oder '''symbolisch''' geschehen.


=Übersicht=
=== Symbolisch ===
'''chmod [optionen] mode datei'''
Hier werden die Zugriffsrechte und Benutzerkategorien mit Buchstaben zugeordnet.


mode steht für die anzuwendende Rechtemaske. Diese kann '''numerisch''' oder '''symbolisch''' geschehen.<br>
; Die Angabe im symbolischen Modus ist wie folgt aufgebaut:
[Benutzerkategorie][Operator][Rechte]


'''Symbolisch:'''
chmod -v u+rwx datei.txt


Hier werden die Zugriffsrechte und Benutzerkategorien mit Buchstaben zugeordnet.
; Benutzerkategorie
Die Angabe im symbolischen Modus ist wie folgt aufgebaut: [Benutzerkategorie][Operator][Rechte] (z.B.: chmod -v u+rwx datei.txt)
u = (user) Besitzer
g = (group) Gruppe
o = (others) Andere
a = All (Besitzer, Gruppe und Andere)


Benutzerkategorie (ugoa)
; Operator
* u = Besitzer
+ Rechte hinzufügen
* g = Gruppe
– Rechte entfernen
* o = Andere
= Rechte explizit setzen
* a = All (Besitzer, Gruppe und Andere)
 
 
Operator (+ – =)
; Rechte
* + Rechte hinzufügen
r = Lesen
* – Rechte entfernen
w = Schreiben
* = Rechte explizit setzen
x = Ausführen
Rechte (rwx)
* r = Lesen
* w = Schreiben
* x = Ausführen


'''Numerisch (Oktal):'''
=== Numerisch ===
; Oktal
Hier werden die Zugriffsrechte mit einer dreistelligen Oktalzahl angegeben, jede Ziffer entspricht einer Benutzerkategorie<br>
chmod -v 777 datei.txt


Hier werden die Zugriffsrechte mit einer dreistelligen Oktalzahl angegeben, jede Ziffer entspricht einer Benutzerkategorie<br>
; Benutzerkategorie
(z.B.:chmod -v 777 datei.txt)<br>
<br>
Benutzerkategorie
* Erste Stelle = Besitzer
* Erste Stelle = Besitzer
* Zweite Stelle = Gruppe
* Zweite Stelle = Gruppe
* Dritte Stelle = Andere
* Dritte Stelle = Andere
Rechte
 
; Rechte
* 7 = Voll
* 7 = Voll
* 6 = Lesen und Schreiben
* 6 = Lesen und Schreiben
Zeile 49: Zeile 54:
* 0 = Keine
* 0 = Keine


=Optionen=
=== Special Rights ===
Um den Zugriff noch genauer zu regeln, gibt es drei weitere Schutzbit.


{| class="wikitable"
{| class="wikitable"
!| SUID | SGID | STI
!|  R  |  W  |  X     
!|  R  |  W  |  X 
!|  R  |  W  |  X 
|-
|-
! Option !! Beschreibung
!|special rights
|-
!|User   
| -c||Wie „-v“ aber nur, wenn auch etwas geändert wird
!|Group   
|-
!|Others   
| -f||Unterdrückt Fehlermeldungen (–silent, –quiet)
|-
| -R||Steht für „rekursiv“. Mit diesem Schalter werden alle Ordner und Unterordner inkl. Dateien geändert
|-
| -v||Steht für “verbose”
|-
|}
|}


==== Set User ID (SUID) ====
Ist das SUID-Bit gesetzt behält das Programm die Rechte des Programmeigentümers während der Ausführung.


=Beispiele=
; Setzen
chmod u+s datei


chmod 777 datei.txt
; Anzeige
Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen für Besitzer, Gruppe und Andere im im Oktalmodus.<br>
Wenn Ausführunsrecht(x) gesetzt: als kleines 's'
chmod a+rwx datei.txt
  -rwsr-xr-x
Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen für Besitzer, Gruppe und Andere im symbolischen Modus.<br>
chmod +x script.sh
Macht eine Datei zusätzlich für alle ausführbar.<br>
  chmod -R 700 /abc/def
Setz die Dateirechte rekursiv auf 700 im Ordner /abc/def, also auf alle Dateien und Ordner die sich in /abc/def befinden.<br>
chmod u=rw,g=rw,o=r datei.txt
Setz explizit die rechte für Besitzer und Gruppe auf lesen und schreiben und andere dürfen nur lesen.


Wenn Ausführunsrecht(x) nicht gesetzt: als großes 'S'
-rwSr-xr-x


==== Set Group ID (SGID) ====
; Ist das SGID-Bit gesetzt behält das Programm die Rechte der Gruppe zu der es gehört
* Bei Dateien ohne Ausführungsrecht sorgt dieses Bit dafür, dass die Datei nur von einem Prozess geöffnet werden kann.
* Bei Verzeichnissen sorgt das SGID-Bit dafür das Dateien, die in das Verzeichnis kopiert oder erstellt werden, automatisch die Gruppe des Verzeichnisses erhalten.


[[Category:Linuxbefehle]]
; Setzen
[[Category:Linux]]
chmod g+s datei
[[Category:Linux:LPIC:101]]


; Anzeige
Wenn Ausführunsrecht(x) gesetzt: als kleines 's'
-rwxrwsr-x


Mit chmod verändert man die Zugriffsrechte von Dateien. Dies funktioniert jedoch nur bei Dateisystemen, welche die UNIX-Dateirechte unterstützen (z.B. ext2, ext3, ext4, reiser, xfs) Bei FAT ist dies grundsätzlich nicht der Fall, und bei NTFS erfordert dies die Mount-Option permissions (ist standardmäßig nicht gesetzt).
Wenn Ausführunsrecht(x) nicht gesetzt: als großes 'S'
-rwxrwSr-x


== Installation ==
==== STICKY Bit (STI) ====
Das STICKY-Bit sollte früher den Systemdurchsatz verbessern. Programme, bei denen dieses Bit gesetzt ist, verbleiben nach dem ersten Aufruf im Speicher und starten bei den folgenden Aufrufen schneller. Heute ist das nicht mehr nötig.


Das Programm chmod ist im essentiellen Paket coreutils von Ubuntu enthalten und ist deshalb auf jedem System installiert.
; Bei Verzeichnissen dient dieses Bit der Systemsicherheit
Auch wenn im Verzeichnis für alle User Schreibrecht existiert (= Löschen und Anlegen von Dateien), können bei gesetztem Sticky-Bit nur Dateien gelöscht werden, die einer folgenden Bedingungen genügen:
* die Datei gehört dem Benutzer, der sie löschen will
* das Verzeichnis, in dem die Datei liegt, gehört dem Benutzer
* der Benutzer hat Schreibrecht für die Datei
* der Superuser will die Datei löschen


===aufruf===
; Setzen
chmod +t datei


  chmod [Optionen] Modus Datei/Verzeichnis [Datei/Verzeichnis 2 [...]]
; Anzeige
Wenn Ausführunsrecht(x) gesetzt: als kleines 't'
  -rwxrwxrwt


Wenn Ausführunsrecht(x) nicht gesetzt: als großes 'T'
-rwxrwxrwT


 
=== Optionen ===
==Modi==
{| class="wikitable"
 
|-
Zugriffsrechte können mit chmod auf zwei Arten gesetzt werden:
! Option !! Beschreibung
 
|-
*Symbolischer Modus: Den Benutzerkategorien und Zugriffsrechten sind Buchstaben zugeordnet. Mit einer Kombination dieser Buchstaben wird angegeben, welche Rechte gesetzt oder entfernt werden sollen.
| -c||Wie „-v“ aber nur, wenn auch etwas geändert wird
 
In den Modi sind die drei verschiedenen Benutzerkategorien folgendermaßen anzugeben:
Benutzertyp Symbolischer Modus Oktalmodus
Besitzer der Datei u 1. Ziffer
Gruppe der Datei g 2. Ziffer
Andere Benutzer o 3. Ziffer
Besitzer, Gruppe und Andere a
 
Die anzugebenden Zugriffsrechte r für lesbar, w für schreibbar und x für ausführbar sind weitergehend unter Rechte (Abschnitt „Darstellungsarten“) erläutert.
Symbolischer Modus
 
Beim symbolischen Modus sind drei Teile anzugeben:
 
* Zu Beginn der Benutzertyp, dessen Rechte verändert werden sollen. Hier können mehrere Buchstaben kombiniert werden (z. B. ug für Benutzer und Gruppe)
 
* Dann folgt der Operator: Mit + werden die Rechte gesetzt, mit - entzogen, mit einem = werden nur die explizit angegebenen Rechte gesetzt und die restlichen entzogen.
 
* Zum Schluss folgen die Rechte. Auch hier können die jeweiligen Buchstaben einfach aneinander gehängt werden.
 
chmod ändert Zugriffsrechte von Dateien und Ordnern.
 
*Oktal-Modus: Die Rechte werden in Form einer dreistelligen Oktal-Zahl angegeben, wobei jede Ziffer für die Rechte einer Benutzerkategorie steht.
 
==UNIX-Zugriffsrechte==  
 
Um den Zugriff auf Dateien zu regeln, können
die Rechte an den Besitzer, die Gruppe und
alle anderen vergeben werden.
 
{|class="wikitable
|r|| read (Lesen)
|-
|-
|w|| write (Schreiben)
| -f||Unterdrückt Fehlermeldungen (–silent, –quiet)
|-
|-
|x||  execute (Ausführen)
| -R||Steht für „rekursiv“. Mit diesem Schalter werden alle Ordner und Unterordner inkl. Dateien geändert
|}
 
{|class="wikitable"
||R||W||X||R||W||X||R||W||X
|-
|-
|colspan="3"|user||colspan="3"|group||colspan="3"|others
| -v||Steht für “verbose”
|}
|}
 
Beispiel:


Diese können mit dem Befehl ls -l angezeigt
=== Parameter ===
werden .
=== Umgebung ===
=== Rückgabewert ===


  chmod g-r test
== Anwendung ==
=== Beispiele ===
# Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen für Besitzer, Gruppe und Andere im im Oktalmodus.
  chmod 777 datei.txt
# Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen für Besitzer, Gruppe und Andere im symbolischen Modus.
chmod a+rwx datei.txt
# Macht eine Datei zusätzlich für alle ausführbar.
chmod +x script.sh
# Setz die Dateirechte rekursiv auf 700 im Ordner /abc/def, also auf alle Dateien und Ordner die sich in /abc/def befinden.
chmod -R 700 /abc/def
# Setz explizit die rechte für Besitzer und Gruppe auf lesen und schreiben und andere dürfen nur lesen.
chmod u=rw,g=rw,o=r datei.txt


-rw-r--r-- 1 user user 35 Jan 30 14:55 test
=== Problembehebung ===


{|class="wikitable"
== Konfiguration ==
|  - ||  rw-  ||  r-- || ---
=== Dateien ===
|-
<noinclude>
| Dateityp || Eigentümers ||  Gruppe || alle Anderen
== Anhang ==
|-
=== Siehe auch ===
| Es handelt sich um eine normale Datei. ||  Der Eigentümer darf die Datei lesen, ändern, aber nicht ausführen ||  Die Gruppe darf die Datei nur lesen ||  Alle anderen haben keinen Zugriff auf die Datei
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
|}
==== Sicherheit ====
==== Dokumentation ====
===== RFC =====
===== Man-Page =====
===== Info-Pages =====
==== Links ====
===== Projekt =====
===== Weblinks =====


[[category:linuxbefehle]]
[[Kategorie:Linux/Zugriffsrechte]]
[[Kategorie:Coreutils]]
{{DEFAULTSORT:chmod}}
[[Kategorie:Linux/Befehl]]
</noinclude>

Aktuelle Version vom 12. November 2024, 18:35 Uhr

chmod - Zugriffsrechte von Dateien und Ordnern ändern (Change mode)

Beschreibung

Installation

Aufruf

chmod [optionen] mode datei

mode steht für die anzuwendende Rechtemaske.

  • Diese kann numerisch oder symbolisch geschehen.

Symbolisch

Hier werden die Zugriffsrechte und Benutzerkategorien mit Buchstaben zugeordnet.

Die Angabe im symbolischen Modus ist wie folgt aufgebaut
[Benutzerkategorie][Operator][Rechte] 
chmod -v u+rwx datei.txt
Benutzerkategorie
u = (user) Besitzer
g = (group) Gruppe
o = (others) Andere
a = All (Besitzer, Gruppe und Andere)
Operator
+ Rechte hinzufügen
– Rechte entfernen
= Rechte explizit setzen
	
Rechte
r = Lesen
w = Schreiben
x = Ausführen

Numerisch

Oktal

Hier werden die Zugriffsrechte mit einer dreistelligen Oktalzahl angegeben, jede Ziffer entspricht einer Benutzerkategorie

chmod -v 777 datei.txt
Benutzerkategorie
  • Erste Stelle = Besitzer
  • Zweite Stelle = Gruppe
  • Dritte Stelle = Andere
Rechte
  • 7 = Voll
  • 6 = Lesen und Schreiben
  • 5 = Lesen und Ausführen
  • 4 = Nur Lesen
  • 3 = Schreiben und Ausführen
  • 2 = Nur Schreiben
  • 1 = Nur Ausführen
  • 0 = Keine

Special Rights

Um den Zugriff noch genauer zu regeln, gibt es drei weitere Schutzbit.

SUID | SGID | STI R | W | X R | W | X R | W | X
special rights User Group Others

Set User ID (SUID)

Ist das SUID-Bit gesetzt behält das Programm die Rechte des Programmeigentümers während der Ausführung.

Setzen
chmod u+s datei
Anzeige

Wenn Ausführunsrecht(x) gesetzt: als kleines 's'

-rwsr-xr-x

Wenn Ausführunsrecht(x) nicht gesetzt: als großes 'S'

-rwSr-xr-x

Set Group ID (SGID)

Ist das SGID-Bit gesetzt behält das Programm die Rechte der Gruppe zu der es gehört
  • Bei Dateien ohne Ausführungsrecht sorgt dieses Bit dafür, dass die Datei nur von einem Prozess geöffnet werden kann.
  • Bei Verzeichnissen sorgt das SGID-Bit dafür das Dateien, die in das Verzeichnis kopiert oder erstellt werden, automatisch die Gruppe des Verzeichnisses erhalten.
Setzen
chmod g+s datei
Anzeige

Wenn Ausführunsrecht(x) gesetzt: als kleines 's'

-rwxrwsr-x

Wenn Ausführunsrecht(x) nicht gesetzt: als großes 'S'

-rwxrwSr-x

STICKY Bit (STI)

Das STICKY-Bit sollte früher den Systemdurchsatz verbessern. Programme, bei denen dieses Bit gesetzt ist, verbleiben nach dem ersten Aufruf im Speicher und starten bei den folgenden Aufrufen schneller. Heute ist das nicht mehr nötig.

Bei Verzeichnissen dient dieses Bit der Systemsicherheit

Auch wenn im Verzeichnis für alle User Schreibrecht existiert (= Löschen und Anlegen von Dateien), können bei gesetztem Sticky-Bit nur Dateien gelöscht werden, die einer folgenden Bedingungen genügen:

  • die Datei gehört dem Benutzer, der sie löschen will
  • das Verzeichnis, in dem die Datei liegt, gehört dem Benutzer
  • der Benutzer hat Schreibrecht für die Datei
  • der Superuser will die Datei löschen
Setzen
chmod +t datei
Anzeige

Wenn Ausführunsrecht(x) gesetzt: als kleines 't'

-rwxrwxrwt

Wenn Ausführunsrecht(x) nicht gesetzt: als großes 'T'

-rwxrwxrwT

Optionen

Option Beschreibung
-c Wie „-v“ aber nur, wenn auch etwas geändert wird
-f Unterdrückt Fehlermeldungen (–silent, –quiet)
-R Steht für „rekursiv“. Mit diesem Schalter werden alle Ordner und Unterordner inkl. Dateien geändert
-v Steht für “verbose”

Parameter

Umgebung

Rückgabewert

Anwendung

Beispiele

  1. Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen für Besitzer, Gruppe und Andere im im Oktalmodus.
chmod 777 datei.txt
  1. Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen für Besitzer, Gruppe und Andere im symbolischen Modus.
chmod a+rwx datei.txt 
  1. Macht eine Datei zusätzlich für alle ausführbar.
chmod +x script.sh
  1. Setz die Dateirechte rekursiv auf 700 im Ordner /abc/def, also auf alle Dateien und Ordner die sich in /abc/def befinden.
chmod -R 700 /abc/def
  1. Setz explizit die rechte für Besitzer und Gruppe auf lesen und schreiben und andere dürfen nur lesen.
chmod u=rw,g=rw,o=r datei.txt

Problembehebung

Konfiguration

Dateien

Anhang

Siehe auch

Sicherheit

Dokumentation

RFC
Man-Page
Info-Pages

Links

Projekt
Weblinks