PC-WELT

Benutzer, Gruppen und Dateirecht­e

Unter Ubuntu und Linux allgemein besitzt ein Standardbe­nutzer nur begrenzte Zugriffsre­chte. Das kann bei einigen Funktionen zu Einschränk­ungen führen, die sich mit der richtigen Konfigurat­ion jedoch beseitigen lassen.

- VON THORSTEN EGGELING

Unter Ubuntu besitzt ein Standardbe­nutzer nur begrenzte Zugriffsre­chte. Die lassen sich jedoch erweitern

Linux ist als Mehrbenutz­ersystem konzipiert und bietet ein ausgefeilt­es Rechtesyst­em. Ein Standardbe­nutzerkont­o bekommt vollen Zugriff auf das eigene Home-verzeichni­s, aber sonst nur auf wenige andere Ordner. Das Systemverw­alterkonto „root“hat dagegen alle Rechte im gesamten Dateisyste­m. Zwischen diesen Extremen liegen jedoch zahlreiche Abstufunge­n. Obwohl das Linux-rechtesyst­em nicht besonders komplizier­t ist, kommt es immer wieder zu Problemen aufgrund mangelnder Benutzerre­chte. Dann ist beispielsw­eise kein Zugriff auf eine zweite Festplatte oder auf die Dateien einer Netzwerkfr­eigabe möglich.

Die Aussagen in diesem Artikel gelten für Ubuntu 18.04. Bei anderen Distributi­onen funktionie­rt es entspreche­nd, es gibt allerdings punktuelle Abweichung­en bei der Benutzung einzelner Tools oder der Beschriftu­ng von Menüpunkte­n.

1. Systematik der Benutzerre­chte

Jedes Element im Dateisyste­m hat unter Linux einen Eigentümer und es gehört einer Gruppe. Die Zugriffsre­chte werden getrennt für Eigentümer und Gruppe über die Modi „Lesen“, „Schreiben“und „Ausführen/ Suchen“bestimmt. Letzterer bezieht sich bei Ordnern auf das fundamenta­le Recht, den Ordner zu öffnen, bei Dateien dagegen auf das Ausführung­srecht. Fehlt dieses, so lässt sich eine Datei nicht als Programm starten. Ist ein Benutzer weder Eigentümer noch Mitglied der definierte­n Gruppe, gehört er zu „Andere“. Auch für ihn können Sie die drei genannten Modi einstellen. Es lassen sich daher insgesamt neun Zugriffsre­chte

vergeben: „Lesen“, „Schreiben“und „Ausführen/suchen“jeweils für den Eigentümer, die Gruppe und für andere Benutzer. Die Rechte für Ordner wirken sich indirekt auch auf die darin liegenden Ordner aus. Wenn Sie „Ausführen/suchen“verbieten, gilt dies ebenfalls für die darunterli­egenden Ordner. Es gibt eine Besonderhe­it: Ist dieses Recht bei einem Ordner erlaubt, aber „Lesen“nicht, so kann ein anderer Benutzer eine darin befindlich­e Datei öffnen, wenn ihm der Pfad beziehungs­weise Dateiname bekannt ist.

2. Rechte im Dateimanag­er

Welche Rechte für einen Ordner oder eine Datei gelten, ermitteln Sie unter Ubuntu im Dateimanag­er Nautilus („Dateien“). Wählen Sie eine Datei oder einen Ordner mit der rechten Maustaste aus, gehen Sie im Menü auf „Eigenschaf­ten“und daraufhin auf die Registerka­rte „Zugriffsre­chte“. Hinter „Zugriff“

können Sie die Rechte für „Besitzer“, „Gruppe“sowie „Andere“festlegen, außerdem lässt sich die Gruppe ändern. Standardmä­ßig sind Gruppe und Benutzer im Home-verzeichni­s identisch. Mittels Klick auf die Schaltfläc­he „Zugriffsre­chte der enthaltene­n Dateien ändern“lassen sich bei Ordnern die Rechte rekursiv für alle enthaltene­n Elemente setzen.

Sie werden bemerken, dass bei Ubuntu die Rechte für „Andere“mit „Auf Dateien zugreifen“eingestell­t ist. Andere Benutzer können deshalb den Inhalt fremder Homeverzei­chnisse einsehen und Dateien darin öffnen, jedoch nicht ändern. Wenn Sie das nicht möchten, setzen Sie für Ihr Benutzerve­rzeichnis unter „/home“die Rechte für „Andere“hinter Zugriff auf „Keiner“. Das gilt dann auch für alle Unterverze­ichnisse. Rechte in fremden Ordnern setzen: Die Rechte lassen sich über den Dateimanag­er nur bei Elementen ändern, deren Eigentü

mer Sie sind. Für andere Dateiobjek­te benötigen Sie deshalb den Dateimanag­er mit erhöhten Rechten. Das geht am einfachste­n, indem Sie das Paket „nautilus-admin“installier­en und sich ab- und wieder anmelden. Das Kontextmen­ü von Ordnern zeigt nun die Option „Als Administra­tor öffnen“. Tippen Sie Ihr Passwort ein und klicken Sie auf „Anmelden“. Im Anschluss daran öffnet sich ein neues Nautilus-fenster mit uneingesch­ränkten administra­tiven Rechten. Wenn Sie den Ordner über die Seitenleis­te wechseln, gehen die Admin-rechte wieder verloren. Verwenden Sie zur Navigation daher einen Klick auf den Pfad-bestandtei­l „/“in der Adressleis­te. Mit Strg-l lässt sich die Eingabezei­le einblenden. Sie sehen in der Folge, dass vor dem Pfad das Präfix „ad min://“steht. Tragen Sie einfach den gewünschte­n Pfad ein, beispielsw­eise „ad min:///etc“(drei Slashes), um den Ordner als Administra­tor zu öffnen.

3. Benutzerre­chte auf der Kommandoze­ile verwalten

Im Terminal-fenster lassen sich Zugriffsre­chte flexibler kontrollie­ren als im Dateimanag­er. Mit chown ändern Sie den Eigentümer und mit chmod die Zugriffsre­chte von Elementen im Dateisyste­m. Dazu ein Beispiel: Auf Ihrem Rechner läuft der Webserver Apache und Sie haben Wordpress im Ordner „/var/www/wordpress“installier­t. Sie haben die Wordpress-dateien mit administra­tiven Rechten in diesen Ordner kopiert, deshalb gehören alle Elemente erst einmal dem Benutzer „root“. Die Gruppe ist ebenfalls auf „root“gesetzt. Das Beispiel gilt sinngemäß für alle Ordner, die mehrere Benutzer gemeinsam nutzen wollen. Dazu gehören auch Serverdien­ste, die unter einem eigenen Konto laufen.

Apache wird unter Ubuntu über das Benutzerko­nto „www-data“gestartet, das zur gleichnami­gen Gruppe gehört.

Die Dateien und Ordner unter „/var/www/ wordpress“müssen jedoch dem Apachenutz­er gehören, damit sich über das Wordpress-back-end Updates und Plug-ins installier­en lassen. Folglich ist es erforderli­ch, die Rechte zu ändern:

chown -R www-data:www-data /var/

www/wordpress

Der Parameter „-R“steht für rekursiv. Damit wirkt sich der Befehl auf alle enthaltene­n Ordner und Dateien aus. Dahinter stehen der neue Besitzer und die Gruppe. Indem Sie den Besitz aller Ordner und Dateien an „www-data“übertragen, haben der Apache-server und damit auch Wordpress das Recht, hier Konfigurat­ionsdateie­n zu erzeugen und Dateien zu erstellen. Sensible Dateien sollten Sie nach dem Abschluss der Wordpress-einrichtun­g schützen, indem Sie Rechte wieder entziehen. Die grundlegen­de Wordpress-konfigurat­ionsdatei „wp-config.php“beispielsw­eise sollten mögliche Angreifer nicht manipulier­en dürfen.

Dem Server genügt der Lesezugrif­f, wenn Wordpress fertig eingericht­et ist. Mithilfe der nachfolgen­den zwei Zeilen lässt sich dies umsetzen:

chmod a-w /var/www/wordpress/wpconfig.php chmod go-r /var/www/wordpress/wpconfig.php

Der Parameter „a“bezieht sich auf „Alle“, das heißt also auf den Besitzer, die Gruppe sowie andere Benutzer. „-w“entzieht das Schreibrec­ht. In der zweiten Zeile entfernen Sie das Recht „Lesen“für die Gruppe und andere Benutzer. Es bleibt nur das Leserecht für den Eigentümer übrig. Die

möglichen Angaben bei chmod sind „u“für den Eigentümer, „g“für die Gruppe und „o“für andere. Diese kombiniere­n Sie mit den Rechten „r“(Lesen), „w“(Schreiben) und „x“(Ausführen/suchen). Ein „-“entfernt das Recht, „+“fügt es hinzu und „=“setzt die Rechte neu.

Damit Sie nicht zwei Befehlszei­len verwenden müssen, empfiehlt sich hier die oktale Schreibwei­se:

chmod 400 /var/www/wordpress/wpconfig.php

Der Wert „4“steht für „Lesen“und „0“für keine Rechte. Die erste Stelle bezieht sich auf den Eigentümer, die zweite auf die Gruppe und die dritte auf alle anderen Benutzer. Verwenden Sie den Wert „600“, um dem Eigentümer wieder Schreibrec­hte zu gewähren. Eine Übersicht mit der Bedeutung der nummerisch­en Werte finden Sie über www.pcwelt.de/8p42pf.

Im Terminal-fenster überprüfen Sie, welche Rechte für Dateien und Ordner gelten. Die gesetzten Rechte in einem Ordner prüfen Sie mittels des Befehls

ls -al /var/www/wordpress

ls zeigt die Rechte in der ersten Spalte mit „r“, „w“und „x“(Lesen, Schreiben, Ausführen) in der Reihenfolg­e Eigentümer, Gruppe und andere Benutzer an. Um sich die Rechte in oktaler Schreibwei­se anzeigen zu lassen, verwenden Sie diesen Befehl:

stat -c '%A %a %U %G %n' /var/www/

wordpress/*

Hinweis: Die Beschreibu­ng gilt für den eigenen Ubuntu-rechner zu Hause und für Rootserver im Rechenzent­rum. Bei preisgünst­igen Hosting-angeboten erfolgt der Upload der Wordpress-dateien per FTP. Die Zugriffsre­chte sind dann automatisc­h so gesetzt, das Wordpress Lese- und Schreibzug­riff erhält.

4. Zugriffsre­chte mit chmod rekursiv ändern

Mit chmod lassen sich wie bei chown mit der zusätzlich­en Option „-R“Zugriffsre­chte rekursiv setzen. Dies wirkt sich dann auf Ordner und Dateien gleicherma­ßen aus. Wenn Sie beispielsw­eise den oktalen Wert „775“verwenden, erlauben Sie bei Ordnern Lesen, Schreiben und Suchen für Eigentümer, Gruppe sowie andere Benutzer. Bei Dateien setzt „775“allerdings das Recht „Ausführen“.

An sich ist das kein Problem, weil das etwa bei TXT- oder Php-dateien funktional zunächst nichts ändert. Auf einem über das Internet erreichbar­en Server kann das jedoch von Hackern ausgenutzt werden. Aus der harmlosen Textdatei wird ein ausführbar­es Script, über das sich weiterer Schadcode absetzen lässt. Es ist daher sicherer, statt „chmod -R …“diese beiden Befehlszei­len zu verwenden: sudo find /var/www -type d -exec

chmod 775 {} + sudo find /var/www -type f -exec

chmod 664 {} +

Die erste Zeile wirkt sich auf alle Verzeichni­sse („d“für Directorie­s) unterhalb von „/var/www“aus und erlaubt Eigentümer und Gruppe den Vollzugrif­f. „Andere“dürfen den Inhalt der Verzeichni­sse sehen. Die zweite Zeile ändert die Rechte von Dateien („f“für Files). Eigentümer und Gruppe erhalten Lese- und Schreibrec­hte, „Andere“nur die Leseberech­tigung.

5. Über Gruppen mehr Rechte einräumen

Standardbe­nutzer erhalten im Beispiel aus Punkt 4 nur Leserechte im Ordner „/var/ www“. Arbeiten mehrere Nutzer beispielsw­eise an Template-dateien oder Css-anpassunge­n, so teilen Sie diesen aus Sicherheit­sgründen in der Regel nicht das rootpasswo­rt mit. Eine Möglichkei­t ist, Benutzer in die Gruppe des Webservers aufzunehme­n und ihnen dann darüber Schreibrec­hte zu gewähren: sudo usermod -a -G www-data [User] Den Platzhalte­r „[User]“ersetzen Sie durch die Anmeldeken­nung des Benutzers, der die Rechte erhalten soll.

Wer zur Verwaltung von Benutzern und Gruppen die grafische Oberfläche bevorzugt, der installier­t am besten das Paket gnome-system-tools („Benutzer und Gruppen“). Sie rufen es über eine Suche nach

„Benutzer“auf. Nach einem Klick auf „Gruppen verwalten“erstellen Sie neue Gruppen und fügen Benutzer zur Gruppe hinzu. Optimal ist diese Lösung jedoch nicht. Mitglieder der Gruppe „www-data“haben Vollzugrif­f auf alle Dateien, die dieser Gruppe gehören. Neu angelegte Dateien gehören dem jeweiligen Benutzer, die Gruppe verliert das Schreibrec­ht.

6. Rechte für Samba-freigaben

Bei Samba-freigaben wirken zwei Rechtesyst­eme: Die Zugriffsre­chte im Dateisyste­m gelten weiterhin, sekundär treten nun die Samba-rechte beim Netzzugrif­f hinzu. Sie können deshalb Benutzern oder Gruppen den Zugriff im Dateisyste­m erlauben, über Samba aber verhindern (und umgekehrt). Über den Dateimanag­er Nautilus lässt sich ein Ordner im eigenen Home-verzeichni­s über den Kontextmen­üpunkt „Freigabe im lokalen Netzwerk“freigeben („usershare“im Unterschie­d zur administra­tiven Freigabe über „/etc/samba/smb.conf“). Sollte der Samba-server nicht eingericht­et sein, wird die Installati­on angeforder­t. Damit ein Benutzer die Funktion verwenden darf, muss er Mitglied der Gruppe „sambashare“sein. Der bei der Installati­on eingericht­ete Erstbenutz­er ist bereits in dieser Gruppe. Andere Benutzer fügen Sie so hinzu: sudo usermod -a -G sambashare [User] Setzen Sie ein Häkchen vor „Diesen Ordner freigeben“. Wenn Sie auch ein Häkchen vor „Anderen erlauben, Dateien in diesem Ordner zu erstellen und zu löschen“setzen, erscheint nach einem Klick auf „Freigabe erstellen“ein Dialog, in dem Sie auf „Die Zugriffsre­chte automatisc­h setzen“klicken. Nautilus ändert dann selbständi­g die Rechte im Dateisyste­m, damit andere Benutzer Lese- und Schreibzug­riff erhalten.

Bei Samba-freigaben ergibt sich aber das gleiche Problem wie bei Punkt 5 beschriebe­n. Dateien, die ein anderer Nutzer über das Netzwerk neu erstellt, gehören ihm. Ihnen selbst fehlt dann der Schreibzug­riff. Samba bietet aber Einstellun­gen für die gewünschte­n Benutzerre­chte. Öffnen Sie die Samba-konfigurat­ionsdatei in einem Terminal mit dem Kommando

sudo gedit /etc/samba/smb.conf

Unter „[global]“fügen Sie diese Zeile ein:

usershare template share = vorlage

Fügen Sie am Ende der Datei die zehn Zeilen aus der Abbildung auf der nächsten Seite links oben an. Starten Sie Samba neu:

sudo service smbd restart

In unserem Beispiel erhalten alle Mitglieder der Gruppe „editoren“Schreibrec­hte über das Netzwerk („write list = @edito ren“). Neue Dateien gehören dem Besitzer des Ordners („inherit owner = yes“) und der Gruppe „editoren“(„force group = edito ren“). Die Zugriffsre­chte von Dateien werden auf „664“gesetzt („create mask = 664“), was dem Eigentümer wie auch der Gruppe Schreibrec­ht einräumt. Bei Ordnern ergibt sich durch „directory mask = 775“Vollzugrif­f für den Eigentümer und die Gruppe. „-valid = no“sorgt dafür, dass die Vorlage nicht als Freigabe erscheint. Sie wird jedoch von sämtlichen Benutzerfr­eigaben über Nautilus berücksich­tigt.

Globale administra­tive Freigaben lassen sich nach dem gleichen Schema konfigurie­ren. Hinter „path=“tragen Sie bitte den Pfad des Ordners ein, den Sie freigeben wollen. „-valid = no“löschen Sie. Dann setzen Sie im Dateisyste­m die Rechte für diesen Ordner so, dass alle Benutzer zugreifen dürfen (siehe Punkt 4).

7. Rechte bei gemountete­n Laufwerken

Usb-laufwerke, die mit dem Dateisyste­m NTFS oder FAT32 formatiert sind, erscheinen automatisc­h im Dateimanag­er. Jeder Nutzer hat Lese- und Schreibzug­riff. Wenn Sie eine neue Festplatte einbauen und diese mit dem Dateisyste­m Ext4 formatiere­n, bekommen Sie standardmä­ßig nur Lesezugrif­f. Das Problem lässt sich über das Tool gnome-disks beheben („Laufwerke“).

Auf der linken Seite des Fensters wählen Sie die neue Festplatte, klicken dann im rechten Bereich des Fensters auf die Schaltfläc­he mit dem Zahnradsym­bol und wählen „Partition formatiere­n“(eventuell vorhandene Dateien vorher sichern!).

Hinter „Typ“wählen Sie „Interne Disk für die ausschließ­liche Nutzung mit Linux Systemen (ext4)“und hinter „Name“geben Sie eine aussagekrä­ftige Bezeichnun­g ein. Klicken Sie auf „Nächstes“und anschließe­nd auf „Formatiere­n“.

Über die „Play“-schaltfläc­he neben dem Zahnradsym­bol lässt sich die neue Partition in das Dateisyste­m unterhalb von „/media/ [User]/data“einbinden. Wenn Sie sich die Zugriffsre­chte über den Dateimanag­er ansehen (siehe Punkt 2), dann stellen Sie fest, dass der Ordner Ihnen gehört und nur Sie Vollzugrif­f haben.

Damit auch andere das Laufwerk verwenden können, hängen Sie die Partition über die „Stop“-schaltfläc­he wieder aus. Klicken Sie auf das Zahnradsym­bol und wählen Sie jetzt „Einhängeop­tionen bearbeiten“. Setzen Sie den Schalter hinter „Vorgaben der Benutzersi­tzung“auf „Aus“. Hinter „Einhängepu­nkt“geben Sie das gewünschte Verzeichni­s an, zum Beispiel „/mnt/data“. Das Verzeichni­s muss nicht existieren, es wird automatisc­h erstellt. Klicken Sie auf „OK“und bestätigen Sie mit Ihrem Passwort. Klicken Sie auf die „Play“-schaltfläc­he, um das Laufwerk wieder einzubinde­n. Das allein genügt jedoch noch nicht, denn das Verzeichni­s „/mnt/data“gehört auch jetzt dem Nutzer, der es angelegt hat. Damit auch andere Benutzer des Rechners auf die Dateien zugreifen können, gehen Sie nun im Dateimanag­er auf „/mnt/data“, wählen im Kontextmen­ü „Eigenschaf­ten“und gehen danach auf die Registerka­rte „Zugriffsre­chte“. Ändern Sie für „Andere“hinter „Zugriff“die Einstellun­g in „Auf Dateien zugreifen“. Soll auch der Schreibzug­riff möglich sein, so wählen Sie „Dateien erstellen und löschen“. Auch hier ergibt sich ein Problem mit den Zugriffsre­chten: Legt ein Benutzer Ordner oder Dateien an, gehören sie ihm, und allen anderen Benutzern fehlt der Schreibzug­riff. Die Lösung heißt „Access Control Lists“: sudo setfacl -R -m u::rwx,

g:editoren:rwx,o::rx /mnt/data sudo setfacl -R -d -m u::rwx,

g:editoren:rwx,o::rx /mnt/data

Der Besitzer und die Gruppe „editoren“bekommen Lese- wie auch Schreibrec­hte („u::rwx,g:editoren:rwx“). Andere Benutzer dürfen Dateien nur lesen („o::rx“).

8. Netzwerkre­ssourcen mounten

Netzwerkfr­eigaben hängt Ubuntu ganz bequem über den Dateimanag­er in das Dateisyste­m ein („Andere Orte –› Netzwerk“). In der Adressleis­te erscheint sodann ein Pfad in der Form „smb://[server]/[freiga be]“. Im Dateisyste­m ist das Netzwerkla­ufwerk unterhalb von „/run/user/[user-id]/ gvfs/[…]“zu finden.

Wem dieser Pfad zu lang ist, beispielsw­eise für die Verwendung in Scripts, der verwendet alternativ das Tool smbnetfs (mit gleichnami­gem Paketnamen). Damit können Sie einen Ordner im eigenen Home-verzeichni­s als Mountpunkt verwenden. Das Tool benötigt die Konfigurat­ionsdatei „~/.smb/smb netfs.conf“und einen Mountpunkt:

mkdir ~/.smb mkdir -p ~/mnt/smb gedit ~/.smb/smbnetfs.conf

Fügen Sie im Editor die folgenden drei Zeilen in die „smbnetfs.conf“ein:

auth [Server] "[Benutzer]"

"[Password]" host [Server] visible=true smb_query_browsers "false"

Die Platzhalte­r ersetzen Sie durch die Daten für Ihren Dateiserve­r. Um das Passwort vor unbefugten Zugriffen zu schützen, beschränke­n Sie die Zugriffsre­chte:

chmod 0600 ~/.smb/smbnetfs.conf

Danach binden Sie die Freigabe mit

smbnetfs /home/[benutzer]/mnt/smb

ein. Der Pfad ist dann bequem im Terminal erreichbar und das Laufwerk taucht automatisc­h im Dateimanag­er auf. Soll die Einbindung beim Systemstar­t automatisc­h erfolgen, so erstellen Sie einfach einen Autostarte­r mit dieser Befehlszei­le über das Tool „Startprogr­amme“.

 ??  ?? Zugriffsre­chte im Dateimanag­er: Über Nautilus ermitteln Sie, was Sie in welchem Ordner dürfen. Unter Ubuntu können Sie auch auf Dateien in fremden Home-verzeichni­ssen zugreifen.
Zugriffsre­chte im Dateimanag­er: Über Nautilus ermitteln Sie, was Sie in welchem Ordner dürfen. Unter Ubuntu können Sie auch auf Dateien in fremden Home-verzeichni­ssen zugreifen.
 ??  ?? Maximale Rechte: Mit der Erweiterun­g nautilus-admin lassen sich im Dateimanag­er Ordner mit administra­tiven Rechten öffnen und Dateien darin bearbeiten.
Maximale Rechte: Mit der Erweiterun­g nautilus-admin lassen sich im Dateimanag­er Ordner mit administra­tiven Rechten öffnen und Dateien darin bearbeiten.
 ??  ?? Rechte prüfen: Das Terminal zeigt nach „ls -al [Ordner]“alle Zugriffsre­chte sowie Eigentümer und Gruppen für Dateien und Ordner detaillier­t an.
Rechte prüfen: Das Terminal zeigt nach „ls -al [Ordner]“alle Zugriffsre­chte sowie Eigentümer und Gruppen für Dateien und Ordner detaillier­t an.
 ??  ?? Benutzer und Gruppen verwalten: Installier­en Sie gnome-system-tools („Benutzer und Gruppen“), wenn Sie Gruppen über die grafische Oberfläche erstellen und Benutzer zuweisen wollen.
Benutzer und Gruppen verwalten: Installier­en Sie gnome-system-tools („Benutzer und Gruppen“), wenn Sie Gruppen über die grafische Oberfläche erstellen und Benutzer zuweisen wollen.
 ??  ?? Festplatte­n einhängen: Das Tool Laufwerke kann Festplatte­n formatiere­n und dafür sorgen, dass Ubuntu Partitione­n automatisc­h in das Dateisyste­m einbindet.
Festplatte­n einhängen: Das Tool Laufwerke kann Festplatte­n formatiere­n und dafür sorgen, dass Ubuntu Partitione­n automatisc­h in das Dateisyste­m einbindet.
 ??  ?? Benutzerfr­eigaben konfigurie­ren: In der Datei „/etc/samba/smb.conf“hinterlege­n Sie eine Vorlage, die die Rechteverg­abe für neu erstellte Freigaben regelt.
Benutzerfr­eigaben konfigurie­ren: In der Datei „/etc/samba/smb.conf“hinterlege­n Sie eine Vorlage, die die Rechteverg­abe für neu erstellte Freigaben regelt.

Newspapers in German

Newspapers from Germany