Christoph Zurnieden: Festplatten unter Linux sperren

Beitrag lesen

Hi,

weitere Informationen erhälst du auch mit man chmod.

Nein, so funktioniert das bei einem Anfänger nicht, mit einer Manpage kann der nichts anfangen ;-)

Nein, so einfach geht das nicht. Dazu musst du erstmal genauer wissen, welche Attribute eine Datei unter Linux haben kann. Die Rechte einer Datei kannst du dir mit dem Befehl ls -l anzeigen.

-rwxr-xr--   1 johannes users      329 Apr 28 15:10 test.sh

Da der Kollege Johannes die Details schon klärte, mache ich mich mal an das Allgemeine - keine Angst, Antwort auf Deine Frage ist auch mit drin ;-)

Ich erlaube mir mal, Dein Beispiel zu nehmen Johannes, ja?

So eine Angabe aus 'ls -l' kann man in Gruppen aufteilen, Mein Trenner sei hier das kaufmännische Und, auch Ampersand genannt:"&"

-&rwx&r-x&r--&1&johannes&users&329&Apr 28 15:10&test.sh

1. Ist ein Verzeichnis 'd', ein Unix Socket 's' oder eine Datei '-'.

2. Das ist die Gruppe des Besitzers, in diesem Fall "johannes" aus der Gruppe "users". Die Reihenfolge der Symbole ist immer gleich auch bei den folgenden Gruppen:

  • lesen dürfen 'r' oder nicht '-'
  • Schreiben dürfen 'w' oder nicht '-'
  • Ausführen dürfen mit folgenden Untersymbolen
      - x bedeutet: ausführbar (rechtlich, nicht praktisch! ;-)
      - s   -"-   : ausführbar und darf es sich aussuchen mit
                    welchen Rechten.
      - S   -"-   : darf es sich aussuchen mit welchen Rechten
                    ist aber nicht direkt ausführbar
      - t   -"-   : ausführbar mit "sticky-bit"
      - T   -"-   : hat das "sticky-bit" gesetzt, ist aber nicht
                    direkt ausführbar.
      - -   -"-   : nichts dergleichen.

3. Die Gruppe der Rechte für die Gruppe, in diesem Fall "users"
4. Alle anderen.
5. ist die Anzahl an Links
6. Der Name des eingetragenen Benutzers
7. Der Name der Gruppe des eingetragenen Benutzers
8. Die Größe der Datei oder bei Verzeichnissen die Menge der allozierten Blöcke (default 1024 Bytes). Muß man nicht unbedingt wissen was das ist, hat halt ebenfalls mit der Größe zu tun ;-)
9. Der Zeitstempel. Falls das mehr als 6 Monate sind oder die Zeit in der Zukunft liegt wird das Jahr angegeben.
10. Name der Datei/Verzeichnisses

Wie ich mir das hier durchlese ist das leider weniger klar, als von mir beabsichtigt, da hätte ich auch genausogut Links auf die üblichen Verdächtigen anlegen können.
Nun denn: bei Fragen einfach ... äh ... fragen ;-)

Ah, da fällt mir doch noch etwas ein: Um die Zugriffrechte auf Verzeichnisse zu beschränken, ist das _Ausführungsbit_ zuständig, also ein 'x'. Beispiel:

$ ls -lR
.:
insgesamt 1
drwxr-xr-x    2 cz  users  72 Sep  6 15:06 verzeichnis-1
drwxr-xr-x    2 cz  users  48 Sep  6 15:05 verzeichnis-2

./verzeichnis-1:
insgesamt 0
-rw-r--r--    1 cz  users   0 Sep  6 15:06 testfile

./verzeichnis-2:
insgesamt 0

Also zwei Verzeichnisse, das erste hat eine Datei drin (mit Länge 0, also ohne jeglichen Inhalt) Lesen und die Verzeichnisse "besuchen" darf ein jeder, schreiben nur ich ("cz" aus der Gruppe "users").

$ chmod go-rx+w,u-w verzeichnis-1
$ ls -l
insgesamt 1
drwxr--r--    2 cz  users   72 Sep  6 15:06 verzeichnis-1
drwxr-xr-x    2 cz  users   48 Sep  6 15:05 verzeichnis-2

Damit habe ich also der Gruppe ('g' wie "group") "users" und allen Anderen ('o' wie "other") für das Verzeichnis "verzeichnis-1" Besuchsrechte und Leserechte entzogen dafür aber Schreibrechte zuerkannt. Dem Benutzer ('u' wie "user") werden dafür dann die Schreibrechte aberkannt. Das ist zwar ziemlicher Unsinn, aber sollte ja auch nur die Syntax (eine mögliche Syntax, es gibt noch eine andere) klären.
Es gibt übrigens auch noch das Kürzel 'a' wie "all" für "alle Rechte in allen Rechtegruppen auf einmal ändern".

$ chmod a+rwx verzeichnis-1
$ ls -l
insgesamt 1
drwxrwxrwx    2 cz users    72 Sep  6 15:06 verzeichnis-1
drwxr-xr-x    2 cz users    48 Sep  6 15:05 verzeichnis-2

so short

Christoph Zurnieden