Home / LinuxUser / 2009 / 06 / Zugangskontrolle

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(179 Punkte bei 5 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)
Mageia 2 ist fertig
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.
AA_pineingabe_sxc_459836.jpg

© sxc.hu

Zugangskontrolle

Rechteverwaltung unter Linux

08.05.2009 Linux ist simpel: Alles ist eine Datei – und wer was damit tun darf, legt man einfach über die Dateiberechtigungen fest.

Wer zum ersten Mal von Windows auf Linux umsteigt, muss sich zunächst daran gewöhnen, dass er nicht mehr alles darf. Es gibt Verzeichnisse und Programme, die nur der Systemadministrator lesen und ausführen darf, andere Verzeichnisse und Dateien dürfen normale Nutzer zwar lesen und kopieren, aber das Original nicht verändern oder löschen.

Wer darf was?

Das Linux-Rechtesystem stammt noch aus den Anfängen der Unix-Zeit und beschränkt sich auf drei verschiedene Handlungsrechte:

  • lesen (read, r)
  • schreiben (write, w)
  • ausführen (execute, x)

Da sich über diese drei Rechte zwar die Frage des "was" klären lässt, aber nicht "wer", unterscheidet Linux zudem zwischen drei Besitzerrechten:

  • Eigentümer (user, u)
  • Gruppe (group, g)
  • Alle anderen (others, o)

Für jedes Besitzerrecht lässt sich individuell festlegen, welche Handlungsrechte dazugehören. Die Tabelle "Zugriffsrechte" verdeutlicht dies anhand einer Matrix.

Zugriffsrechte

  lesen schreiben ausführen
Eigentümer r-- — — -w- — — --x — —
Gruppe — r-- — — -w- — — --x —
Alle Anderen — — -r- — — -w- — — --x

Aus der Kombination der sechs Eigenschaften und verschiedenen Nutzergruppen lassen sich praktisch beliebig viele Zugriffsrechte festlegen. Öffnen Sie zum Beispiel über [Alt]+[F2] und den Befehl konsole das KDE-Terminalfenster und geben hier den Befehl ls -l ein, dann sehen Sie eine Ausgabe aller Dateien und Ordner Ihres Home-Verzeichnisses.

Zu Beginn jeder Zeile stehen die Rechte. Der Eintrag -rw-rw-r-- bedeutet zum Beispiel, dass der Eigentümer und alle Mitglieder der Gruppe, zu der die Datei gehört, die Datei lesen und (über-)schreiben dürfen, alle anderen dürfen die Datei nur lesen. Auch in den meisten grafischen Dateimangern können Sie sich die Rechte anzeigen lassen. In Dolphin (Abbildung 1) finden Sie die passenden Einstellungen unter AnsichtZusatzinformationen.

Abbildung 1: Der Eigentümer marcel und alle Angehörigen der Gruppe users dürfen die Datei lesen und verändern. Andere Nutzer dürfen die Datei nur lesen.

Eine kleine Ausnahme im Rechteschema nehmen die Verzeichnisse ein: Hier steht das x für die Erlaubnis, das Verzeichnis betreten zu dürfen und sich die Inhalte des Verzeichnisses anzuschauen. Verzeichnisse erkennen Sie zudem am führenden d bei der Ausgabe von ls -l, zum Beispiel drwxr-xr-x.

Rechte vergeben

Wie die meisten Linux-Aufgaben lässt sich auch das Rechtemanagement auf der Kommandozeile oder mit grafischen Tools vornehmen. Möchten Sie zum Beispiel Ihr Home-Verzeichnis so einrichten, dass sich darin außer Ihnen (und root) niemand umschauen darf, klicken Sie zum Beispiel in Konqueror oder Dolphin mit der rechten Maustaste auf das Home-Verzeichnis und wählen Eigenschaften. Auf dem Reiter Berechtigungen richten Sie dann über die Dropdown-Liste für Gruppe und Sonstige den Eintrag Unzulässig ein (Abbildung 2).

Abbildung 2: Per Rechtsklick legen Sie in den meisten grafischen Dateimanagern die Zugriffsrechte auf Dateien und Verzeichnisse fest.

Auf der Kommandozeile hilft der Befehl chmod beim Einrichten der Benutzerrechte. Möchte der Benutzer marcel wie in obigem Beispiel dem Home-Verzeichnis sämtliche Rechte (außer den eigenen) entziehen, genügt dazu folgender Befehl:

$ chmod go-rx /home/marcel

Ein ls -ld /home/marcel zeigt daraufhin die Ausgabe drwx------ an. Um allen Nutzern Schreibrechte auf die Datei wichtig.txt zuzuteilen, müssten Sie folglich den Befehl chmod ugo+w wichtig.txt aufrufen. Dafür gibt es eine abgekürzte Schreibweise:

$ chmod a+w wichtig.txt

Achten Sie darauf, dass sich der Chmod-Befehl ohne Angabe der Nutzergruppe (zum Beispiel chmod +w datei.txt) nur auf den Eigentümer bezieht. Ein chmod -w geheim.txt entzieht somit nur Ihnen selbst die Schreibrechte. Um eine Datei in den Read-only-Modus zu versetzen, nutzen Sie besser chmod a-w geheim.txt.

Computer arbeiten bekanntlich nicht mit Buchstaben, sondern mit Zahlen. Anstelle der Buchstaben rwx können Sie auch die Zahlen 4, 2, 1 und 0 verwenden. Null bedeutet keine Rechte, 1 setzt das Ausführrecht, 2 das Schreibrecht und 4 das Leserecht. Der Befehl

$ chmod 444 wichtig.txt

setzt somit die Datei wichtig.txt in den Read-only-Modus, ein chmod 644 datei.txt erlaubt dem Besitzer das Lesen und Schreiben, der Gruppe und den übrigen Nutzern nur das Lesen und so weiter. Möchten Sie die Rechte rekursive also in sämtlichen Unterverzeichnissen ändern, rufen Sie chmod mit der Option -R auf.

Wenn Sie sich in Ihrem Home-Verzeichnis etwas umschauen, stellen Sie fest, dass die meisten Dateien auf den Wert 644 eingestellt sind, bei Verzeichnissen zeigt ein ls -ld in der Regel drwxr-xr-x, was dem Wert 755 entspricht. Bei beiden Einstellungen handelt es sich um die Standardwerte für die so genannte User File-Creation Mask, kurz Umask. Sie legt fest, welche Rechte neu angelegte Dateien und Verzeichnisse aufweisen.

Die meisten Distribution setzen die Umask beim Login automatisch über ein entsprechendes PAM-Modul (pam_umask.so), alternativ bietet sich das Setup über die Dateien /etc/profile (global) beziehungsweise ~/.profile (benutzerspezifisch) an. Welchen Wert Ihr Linux-System gerade nutzt, erfahren Sie über den Befehl umask. Er zeigt allerdings nicht die eingestellten Rechte an, sondern welche Rechte von allen möglichen Rechten abgezogen werden sollen.

Die Tabelle "Umask bestimmen" zeigt das an drei Beispielen. Sollen zum Beispiel der Eigentümer und die Gruppe vollen Zugriff auf eine Datei bekommen, die übrigen Nutzer jedoch nicht einmal Leserechte (Modus 660), lautet der passende Befehl

$ umask 006

Bei Verzeichnissen und ausführbaren Dateien beträgt der Wert der Summe aller Rechte 777. Die traditionelle Umask 022 richtet somit den Werte 755 ein. Aktuelle Distributionen zeigen bei der Ausgabe des Umask-Befehls eine vierstellige Zahl an. Das hängt damit zusammen, dass sich die Möglichkeiten der File-Creation Mask durch die erweiterten Attribute (Extended Attributes) erweitert haben. An der grundlegenden Nutzung der Umask hat sich aber nichts geändert.

Umask bestimmen

Nur ich

Standard

Alle dürfen

Dateien

Modus 600 644 666
Alle Rechte 666 666 666
Umask 066 022 000

Verzeichnisse

Modus 700 755 777
Alle Rechte 777 777 777
Umask 077 022 000
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

2039 Hits
Wertung: 80 Punkte (4 Stimmen)

Schlecht Gut

Infos zum Autor

Marcel Hilzinger

Marcel Hilzinger

Marcel Hilzinger arbeitet als Redakteur für die Zeitschriften LinuxUser und EasyLinux. Am liebsten schreibt er Artikel zu netten Gadgets oder Multimedia-Software. In seiner Freizeit spielt er gerne Kicker.

Zum Blog von Marcel Hilzinger →


Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...