Übersicht
APT-Repository
Um das APT-Reporsitory für Ihre Debian-Installation nutzen zu können, benötigen Sie grundsätzlich eine Freischaltung durch den Rechnerbetrieb Mathematik.
Laptop mit Kabel | keine Einschränkung nach der Freischaltung |
Compute Service
Was sind Compute-Server?
Dies ist z.B. bei längeren Berechnungen nötig. Die RBM hat für diese Zwecke sogenannte Compute-Server. Das sind Rechner mit vergleichsweise hoher Rechenleistung und viel Speicher.
Mitarbeitende der Fakultät für Mathematik (EIM-M) können diese Server nutzen. Sprechen Sie uns an.
Falls sie Zugriff haben und solche Programme zu starten, welche auf diesen Rechnern laufen und nicht beendet werden, wenn Sie sich ausloggen existieren die Befehle nohup und screen.
Die Namen der compute-server sind den AGs bekannt und können ggf. in der RBM erfragt werden.
Mitarbeitende der Mathematik mit entsprechendender AG-Zugehörigkeit haben Zugang zu den Computeservern via ssh nur aus den Netzen der Mathematik.
Auf Linux-Systemen erfolgt der Zugang folgendermassen:
ssh <servername>
z.B. für den Compute-Server euklid:
ssh euklid.math.uni-paderborn.de
Doch warum sind Compute-Server sinnvoll und wie bediene ich diese ?
Probleme mit langlaufenden Prozessen und Programmen
Prozesse, welche komplexe Berechnungen ausführen, laufen i.d.R. sehr lange, möglicherweise einige Tage.
Daraus folgen einige Konsequenzen:
1. Probleme mit der Quota
Sie sind über längere Zeit eingeloggt und Ihr Speicherplatzkontigent, Quota genannt, läuft voll. Nun können Effekte auftretten, dessen eigentliche Ursache schwer zu erkennen ist:
- Mozilla funktioniert nicht mehr, weder Mail noch Browser
- Es kann nicht mehr gedruckt werden.
- etc.
2. Sicherheitsprobleme
Von Zeit zu Zeit werden Sicherheitsprobleme in Software erkannt, das sind Programmierfehler die es Ausstehenden ermöglichen z.B.
- Ihre Mails zulesen
- Angriffe von Ihrem Rechner auf andere Rechner unter Ihrem Benutzerkonto bzw. Ihrem Namen durchzuführen.
- etc.
Die RBM versucht bei Auftreten solcher Lücken, diese zeitnah zu schliessen, meist innerhalb eines Werktages. Oft ist es nötig Rechner neu zu starten.
Damit keine Daten verloren gehen, überprüfen wir vorher ob jemand an betroffenen Arbeitsplatzrechnern eingeloggt ist und arbeitet. Ist dies der Fall wird, eine Meldung auf dem Bildschirm ausgegeben und der Reboot verzögert. Folgen sie den Anweisungen dieser Meldung.
Nach zwei Wochen wird der Rechner zu Ihrem Schutz und dem Schutz Ihrer Daten automatisch neugestartet.
Um keine Daten zu verlieren z.B. auch bei Stromausfällen bei längerlaufenden Compute-Prozessen wird empfohlen die Compute-Server zu nutzen.
Die Compute-Server sind erstens leistungsfähiger als gewöhliche Arbeitsplatz PCs als auch gesondert, gegene Strom und Hardwareausfälle gesicherte PCs. Darüberhinaus sind diese sicherheitstechnisch besser geschützt.
1. nohup
Das Kommando nohup ermöglicht es Konsolen-Programme zu starten ohne dass sich diese beim Ausloggen beenden.
Die allgemeine Benutzung sieht aus wie im folgenden:
nohup <command> ... &
Wenn Sie z.B. das im derzeitigen Verzeichnis liegende Programm ./compute-mupad.sh ausführen möchten:
nohup ./compute-mupad.sh &
Sollte das Programm im normalen Gebrauch Ausgaben auf der Konsole bzw. XTerm generieren, so stehen diese in der Datei nohup.out im derzeitigen Verzeichnis.
Loggen Sie sich aus nach Starten des Programms, ist es möglich zu einem späteren Zeitpunkt in der Datei nohup.out sich ein Bild über den Fortschritt der Berechnung zu machen.
nohup ist nicht geeignet um X Anwendungen oder interaktive Konsolenanwendungen zu starten.
2. Screen
Eine weitere Alternative ist das Kommando screen. Screen ermöglicht im Gegensatz zu nohup auch interaktive Konsoleprogramme zu starten.
Ein sog. Screen-Sitzung wird durch folgende Eingabe gestartet:
screen
Die Sitzung beginnt mit einem Bild, welches ähnlich dem folgenden ausschaut:
Das Sitzungsfenster gestaltet sich wie folgt. In erster Linie ist es eine Shell wie in jedem normalem XTerm. Im unteren Teil des Fensters ist ein Statusbalken(weis auf blau) zu sehen. Von Links nach Rechts kann dort der Rechnername, dann die Systemload in Klammern, danach Datum und Urzeit und zuletzt die Namen der laufenden Unterfenster gesehen werden.
In einer Screensitzung können mehrere Untersitzung genannt Screens existieren. Beim ersten Starten existiert nur ein Screen Nr. 0 namens bash.
Screen wird im allgemeinen durch Tastenkombination gesteuert, welche mit <Control-A> (engl. Tastaturlayout) bzw. auf der deutschen Tastatur <Strg-A>beginnt, d.h. Control- bzw. Strg-Taste zusammen gedrückt mit der Taste A. Im folgenden nur noch <C-a> genannt. <C-a c> bedeutet zuerst <Strg-A> und danach die Taste C.
Im folgenden die wichtigsten Tastenkommandos:
Tastenkürzel | Wirkung |
C-a c | Neuen Screen öffnen |
C-a k | Nicht reagierenden Screen schliessen |
C-a n | Zum nächsten Screen wechseln |
C-a p | Zum vorigen Screen wechseln |
C-a A | Den Namen des Screens editieren |
C-a d | Von der Screen-Sitzung trennen, alle Screens in der Sitzung laufen weiter, bis diese sich selbst beenden, die Screensitzung wieder aufgerufgen wird oder der Rechner neugestartet wird. |
Nun können Anwendungen in den Screens gestartet werden. Sind alle Berechnungen angestartet, ist es möglich sich von der Screen-Sitzung zu trennen. Dazu nutzt Mensch die Tasten-Kombination <C-a d>.
Danach kann Mensch sich von dem Rechner ausloggen und die Berechnungnen laufen weiter.
Möchten Sie zu einem späteren Zeitpunkt den Status der Berechnungen in der Screen-Sitzung einsehen, loggen Sie sich via ssh zunächst in den Rechner ein auf dem die Screen-Sitzung gestartet wurde. Danach geben Sie ein:
screen -x
Damit verbindet Mensch sich wieder mit der Screen-Sitzung, und kann mit den Tastenkommandos die Screen sitzung kontrollieren.
Nähere Auskunft liefert die Unix-Manpage von screen, welche auf den Linux-Rechnern mit
man screen
eingesehen werden kann.
Die Linux-Poolräume der Mathematik
Die Mathematik betreibt einen Linuxpool im Raum D3.301.
Um Remote auf einem der Poolrechner zu arbeiten, wird ein SSH- oder NX-Client benötigt.
Zur Einrichtung des x2go-Clients gibt es Dokumentation hier.
Zugriff kann nur über das Gateway sommerfeld.math.uni-paderborn.de erfolgen.
Danach sind die Poolrechner als <Rechnername>.math.uni-paderborn.de per ssh erreichbar.
Falls ein Poolrechner ausgeschaltet sein sollte, kann dieser mit dem Befehl "boot <Rechnername>" auf Sommerfeld gestartet werden.
- skinner
- waylon
- lou
- smithers
- duff-man
- edna
- jeff
- marge
- ralph
- flanders
- clancy
- patty
- quimby
- selma
- apu
- itchy
- bart
- homer
- otto
- jimbo
- mr-burns
- scratchy
- nelson
- lisa
- martin
Empfohlene Software
Aktion | Software | Kommando | Beschreibung |
Webbrowser | firefox | firefox | Guter Schlanker Webbrowser |
links | links | Konsolen Text-Browser | |
lynx | lynx | Konsolen Text-Browser | |
CD/DVD brennen | k3b | k3b | Einfache CD/DVD-Brennsoftware für KDE |
cdrecord | cdrecord | Maechtige CD-Brennsoftware fuer die Konsole | |
cdrdao | cdrdao | Ebenfalls maechtiges Brennprogramm auf der Konsole | |
TeX/LaTeX-Editoren (Frontends) | Kile | kile | KDE-Editor speziell für LaTeX-Dokumente |
Lyx | lyx | What-You-See-Is-What-You-Get Editor für LaTeX-Dokumente | |
Bilder betrachten | |||
Gwenview | gwenview | Sehr komfortabler Bildbetrachter angelehnt an ACDSee | |
Bilder bearbeiten | The Gimp | gimp | Komplexes Bildbearbeitungsprogramm |
Videos betrachten | mplayer | mplayer | Umfangreiches Abspielprogramm für Videodateien |
gmplayer | Grafische Benutzeroberfläche für mplayer | ||
haruna | haruna | Rae's Empfehlung | |
xine | xine | Umgangreiches Abspielprogramm für Videodateien inkl. grafische Benutzeroberfläche | |
EMail-Clients | Alpine | alpine | EMail-Client für die Textkonsole |
Thunderbird | thunderbird | Grafischer EMail-Client | |
Briefe schreiben | OpenOffice | oowriter | Mächtiges Textverarbeitungsprogramm |
Folien erstellen | ooimpress | dient zur Erstellung von Bildschirmpäsentationen | |
Tabellenkalkulation erstellen | oocalc | Mächtiges Tabellenkalkulationsprogramm | |
Java-IDE | Eclipse | eclipse | Komplexe Java-IDE |
Hilfe zum Editor VIM
Hier sind die häufigsten Befehle in Kurzform:
Kerberos-Client einrichten
Einige Dienste wie SSH kann Mensch von zu Hause nutzen ohne dabei am Terminal angemeldet zu sein. Dafür empfiehlt es sich Kerberos zu installieren/konfigurieren.
Schnellreferenz:
Notwendige Pakete: krb5-config krb5-user
Realm: MATH.UNI-PADERBORN.DE
Kerberos-Server: Braucht Mensch nicht anzugeben
Schritt für Schritt Anleitung:
- Eine Root-Shell aufmachen:
- Pakete installieren:
- Konfiguration:
-
Testen:
Mit dem Befehl kinit können Sie sich nun ein Ticket holen.
Für das allgemeine Verständnis von Kerberos ist unsere Einführung zu empfehlen.
Probleme beim Einloggen
Bei fehlgeschlagenen Loginversuchen sind zwei Fälle zu unterscheiden:
- Es erscheint nach kurzer Zeit ein Fenster mit der Meldung:"Login incorrect; please try again"
- Der Loginbildschirm verschwindet zunächst, ist aber kurz darauf wieder da.
Fall 1: Es gibt es zwei Möglichkeiten:
- Sie haben Ihr Passwort vergessen oder falsch in Erinnerung. (Kommt immer wieder vor!)
- Ihr Login ist gesperrt (Dafür gibt es verschiedene Gründe.)
Es ist dann auf jeden Fall nötig, sich beim Rechnerbetrieb im Raum D2.301 zu melden.
Fall 2:Die quota ist überschritten. (Die persönlichen Daten belegen zuviel Platz.)
In diesem Fall kann Mensch selbst für Abhilfe sorgen. Das Einloggen auf dem Text-Terminal ist dann immer noch möglich.
Das geht so:
- "STRG-ALT-ENTF F1"
- Login+Passwort eingeben (Hierbei wird beim Passwort kein Platzhalter eingefügt, nicht wundern!)
Nun müssen solange Dateien gelöscht werden, bis die quota nicht mehr überschritten ist.
Die wichtigsten Befehle:
- quota -vs (Prüft die Quota)
- du -k (Wieviel Platz belegt ein Verzeichniss?)
- ls -l (Zeigt die Grösse von Dateien an)
- rm (zum Löschen von Dateien)
Im Anschluss das Ausloggen nicht vergessen! (Befehl: exit)
Dann sollte das Einloggen wieder funktionieren. Im andern Fall besuchen Sie uns in D2.301.
Eine erhöhung der Quota kann beim Rechnerbetrieb angefragt werden.
Verwendung von Externen Datenträgern
USB-Sticks auf Linux-Rechnern verwenden
Mounten
Im Normalfall wird ein eingesteckter USB-Stick automatisch erkannt und gemountet. Es sollte ein Fenster erscheinen, welcher den Inhalt des Sticks anzeigt. Andernfalls kann Mensch ihn über den Datei-Manager der Oberfläche (Nautilus/Thunar) aufrufen.
Unmounten
Im Normalfall kann Mensch einen USB-Stick über den jeweiligen Datei-Manager per Rechtsklickmenü Auswerfen. Sollte dies nicht funktionieren muss Mensch den
Konsolenbefehl pumount benutzen:
pumount /media/[Name des USB-Sticks]
Mount-Point
Unter /media wird der USB-Stick mit jeweiligem Namen gemounted:
/media/[Name des USB-Sticks]
Hat ein USB-Stick keinen Namen zugeordnet, wird er mit dem Standard-Name disk erstellt.
Die Namensgebung und Ordnererstellung ist Case-Sensitive, daher muss auf Groß- und Kleinschreibung geachtet werden.
Warum ist mein Rechner langsam?
Wenn Ihr Rechner sehr langsam reagiert, prüfen Sie die Auslastung des PCs und die vorhandenen Prozesse mit dem Befehl
benutzer@client# top
Um top wieder zu verlassen, drücken Sie die Taste q. top zeigt Ihnen an, welche intensiven (Auslastung der CPU, des Hauptspeichers) Prozesse auf dem Rechner laufen.
Das Kommando w zeigt alle Benutzer:innen an, die auf dem PC angemeldet sind:
benutzer@client# w
Wenn andere Leute den Rechner ebenfalls benutzen, teilen Sie diesen mit, dass deren Prozesse stören und sie diese bitte beenden mögen. Falls die Person nicht mehr eingeloggt ist, handelt es sich vermutlich um nicht korrekt beendete Prozesse. Bitte informieren Sie den Rechnerbetrieb Mathematik, wir werden die Prozesse dann beenden.
Falls einer Ihrer eigenen Prozesse das Problem ist, beenden Sie ihn. Ist das nicht möglich, so bestimmen Sie mit dem Befehl
benutzer@client# ps -aux | grep Ihre_Loginbezeichnung
die Prozess-ID (PID). Dann können Sie mit dem Kommando
benutzer@client# kill PID
die Anwendung beenden. Dabei muss PID durch die vorher ermittelte Prozess-ID ersetzt werden. Sollte der Prozess trotzdem nicht beendet werden können, hilft eventuell
benutzer@client# kill -9 PID
Weitere Informationen finden Sie auf den Hilfeseiten zu top und ps, welche mit den Kommandos
benutzer@client# man top
beziehungsweise
benutzer@client# man ps
angezeigt werden können.
Wenn es nicht mehr möglich ist, den Rechner an der Konsole zu benutzen (der Monitor bleibt schwarz, Sie können kein Kommando mehr eingeben), versuchen Sie sich von einem anderen Rechner per ssh einzuloggen:
benutzer@client# ssh name_des_langsamen_rechners
Anschließend können Sie versuchen Ihre Prozesse zu killen. Oder informieren Sie den Rechnerbetrieb Mathematik und liefern Sie uns gleich alle wesentlichen Informationen mit (Name des Rechners und des Logins, eingegebene Kommandos, Fehlermeldungen).
Bitte schalten Sie einen PC unter Linux niemals einfach aus und wieder an, da dieses Vorgehen die Festplatte beschädigen kann.
Zugriffsrechte
Benutzer:innen und Gruppen
Unter UNIX werden alle Benutzer:innen des Systems in Gruppen eingeteilt. Ein:e Benutzer:in kann mehreren Gruppen angehören. Eine der Gruppen ist die sogenannte Primärgruppe, die beim Anlegen einer Datei/eines Verzeichnisses eine wichtige Rolle spielt. In welchen Gruppen Sie Mitglied sind, finden Sie durch den Befehl groups heraus:
Beispiel:
gudrun@vieta[~]>>groups gudrun root fiz3 gdmaint mupmod mupdev modem muplib mupas sysadmin software mathnet gudrun@vieta[~]>>
Gruppen werden den Benutzer:innenn vom Systemverwalter zugewiesen und können auch nur durch diesen geändert werden. Temporär können Sie Ihre eigene Primärgruppe umsetzen auf eine andere Gruppe, der Sie angehören: newgrp (new group) setzt Ihre Primärgruppe in der aktuellen Shell auf <tt>neueGruppe</tt> solange bis Sie die Shell z.B. mit CRTL-D beenden.
Beispiel:
gudrun@vieta[~/TEST]>>groups gudrun root fiz3 gdmaint mupmod mupdev modem muplib mupas sysadmin software mathnet gudrun@vieta[~/TEST]>>touch test-datei1 gudrun@vieta[~/TEST]>>ll test-datei1 -rw-r--r-- 1 gudrun root 0 Apr 25 08:37 test-datei1 gudrun@vieta[~/TEST]>>newgrp mathnet Loading standard modules...done. Loading additional modules from ~/.modulefilesrc basic pem gnu openwin X11 tetex done. gudrun@vieta[~/TEST]>>touch test-datei2 gudrun@vieta[~/TEST]>>ll test-datei2 -rw-r--r-- 1 gudrun mathnet 0 Apr 25 08:37 test-datei2 gudrun@vieta[~/TEST]>>
Eigenschaften von Dateien und Verzeichnissen
Der Zugriff auf Dateien und Verzeichnisse wird unter UNIX durch drei Benutzer:innenklassen geregelt:
- u für login user (der Besitzer:innen)
- g für group (die entsprechende Gruppe)
- o für others (alle, die nicht in der Gruppe sind)
Beispiel:
gudrun@vieta[~/TEST]>>ls -al total 278 drwxr-xr-x 11 gudrun root 512 Apr 25 08:49 ./ drwxr-sr-x 58 gudrun mupas 4608 Apr 21 22:54 ../ [...] drwxr-xr-x 2 gudrun mupas 512 Apr 25 08:49 TEST-DIR/ -rw-r--r-- 1 gudrun root 0 Apr 25 08:37 test-datei1 -rw-r--r-- 1 gudrun mathnet 0 Apr 25 08:37 test-datei2 gudrun@vieta[~/TEST]>>
Bei dieser Ausgabe von ls -al sehen Sie pro Datei/Verzeichnis sieben Blöcke mit Informationen. Der erste Block besteht aus 10 Zeichen und repräsentiert den Typ der Datei sowie deren Zugriffsrechte. Der zweite Block ist eine Zahl, die die Anzahl der vorhandenen Verweise (Links) auf die Datei/das Verzeichnis angibt. Der dritte Block bezeichnet die Eigentümer:in der Datei, der vierte Block die Gruppe, die auf diese Datei Zugriff hat. Es folgen die Grösse der Datei (in Bytes), das letzte Modifikationsdatum und der Name der Datei/des Verzeichnisses.
Zugriffsrechte auf Dateien
Im ersten Block der Ausgabe von ls -al gibt das erste der zehn Zeichen den Typ der Datei/des Verzeichnisses an. Ein - bedeutet, dass es sich um eine (normale) Datei handelt. Ein d steht für Verzeichnis (directory), ein l für Verweis (link).
Die Zeichen zwei bis vier benennen die Zugriffsrechte für den Besitzer:innen der Datei. Die Zeichen fünf bis sieben legen Zugriffsrechte für die anderen Mitglieder:innen der Gruppe fest, zu der die Datei gehört. Die Zeichen acht bis zehn geben die Zugriffsrechte aller anderen Nutzer:innen an.
Für jede der Benutzer:innenklassen kann der Zugriff zum Lesen (read), zum Schreiben (write) oder zum Ausführen (execute) einzeln gesetzt werden, insgesamt können damit neun verschiedene Zugriffsrechte (protection bits) pro Datei/Verzeichnis vergeben werden. Die Dateizugriffsrechte bestimmen damit, wer in welchem Sinn auf den Inhalt der Datei zugreifen darf.
Beispiel:
-rw-r--r-- 1 gudrun mathnet 0 Apr 25 08:37 test-datei2
Die Zugriffsrechte für test-datei2 sind in diesem Beispiel -rw-r--r--. Es handelt sich also um eine normale Datei. Die Benutzerin gudrun hat als Eigentümerin sowohl Lese- als auch Schreibberechtigung. Alle anderen Mitglieder:innen der Gruppe mathnet haben nur Leseberechtigung, alle anderen Benutzer:innen ebenfalls. Sie können den Inhalt der Datei nicht verändern. Niemand hat ein Ausführungsrecht (x), das auch nur für ausführbare Dateien (also Dateien, die Programme enthalten) vergeben werden sollte.
Zugriffsrechte auf Verzeichnisse
Durch die Zugriffsrechte für ein Verzeichnis wird der Zugriff auf die dort enthaltenen Dateien und Unterverzeichnisse kontrolliert. Sobald Sie Zugriff auf ein Verzeichnis haben, wird die Möglichkeit, einzelne Dateien zu lesen oder deren Inhalt zu verändern, von den Dateizugriffsrechten überwacht. Wie bei den Dateien kann der Zugriff auf Verzeichnisse zum Lesen (read), zum Schreiben (write) oder zum Ausführen (execute) für jede Benutzer:innenklasse einzeln gesetzt werden. Im Vergleich zu den Dateizugriffsrechten gibt es bei Verzeichnissen zwei Besonderheiten zu beachten:
- Bei Verzeichnissen bedeutet die Ausführungserlaubnis (x), dass die entsprechenden Benutzer:innen auf das Verzeichnis zugreifen dürfen, also z.B. in das Verzeichnis wechseln dürfen oder sich die Dateien im Verzeichnis mit ls auflisten lassen dürfen.
Wichtig: Soll eine Benutzer:in auf ein Verzeichnis zugreifen dürfen, braucht diese die Ausführungserlaubnis (x) für alle übergeordneten Verzeichnisse bis hinauf zur Wurzel (root-Verzeichnis:). - Das Schreibrecht auf ein Verzeichnis bedeutet, dass berechtigte Benutzer:innen Dateien anlegen und auch löschen können.
Wichtig: Das Löschen einer Datei ist in diesem Fall auch dann möglich, wenn die entsprechende Gruppe gar keine Zugriffsrechte auf die Datei selbst besitzt.
Zugriffsrechte verändern
Die Zugriffsrechte auf eine Datei/ein Verzeichnis darf nur die Besitzer:in der Datei/des Verzeichnisses ändern. Dazu gibt es den Befehlchmod (change mode). Für chmod existieren zwei syntaktisch unterschiedliche Formen, die aber in der Wirkung gleich sind:
- Ändern von Zugriffsrechten durch chmod w?y wobei für
w (Benutzer:innenklasse) gesetzt werden kann: u (user), g (group), o (other), a (all)
? (Aktion) gesetzt werden kann: + (Recht hinzufügen), - (Recht wegnehmen)
y (Zugriffsrecht) gesetzt werden kann: r (read), w (write), x (execute)Beispiele:
gudrun@vieta[~/TEST]>>ls -al test-datei1 -rw-r--r-- 1 gudrun root 0 Apr 25 08:37 test-datei1 gudrun@vieta[~/TEST]>>chmod g-r test-datei1 gudrun@vieta[~/TEST]>>ls -al test-datei1 -rw----r-- 1 gudrun root 0 Apr 25 08:37 test-datei1 gudrun@vieta[~/TEST]>>
Die Gruppe darf die Datei nicht mehr lesen.
gudrun@vieta[~/TEST]>>ls -al test-datei1 -rw-r--r-- 1 gudrun root 0 Apr 25 08:37 test-datei1 gudrun@vieta[~/TEST]>>chmod g-r test-datei1 gudrun@vieta[~/TEST]>>ls -al test-datei1 -rw----r-- 1 gudrun root 0 Apr 25 08:37 test-datei1 gudrun@vieta[~/TEST]>>
Alle Benutzer dürfen die Datei ausführen, die Gruppe darf wieder lesen. Beachten Sie, dass Mnsch mehrere Zuweisungen per Komma getrennt mit einem Kommando erledigen kann.
gudrun@vieta[~/TEST]>>ls -al [...] drwxr-xr-x 2 gudrun mupas 512 Apr 25 08:49 TEST-DIR/ gudrun@vieta[~/TEST]>>chmod o-x TEST-DIR/ gudrun@vieta[~/TEST]>>ls -al [...] drwxr-xr-- 2 gudrun mupas 512 Apr 25 08:49 TEST-DIR/
Andere (alle, die nicht Gruppenmitglieder sind) dürfen auf das Verzeichnis nicht mehr zugreifen.
- Neuzuweisung aller Zugriffsrechte durch chmod ugo wobei die Werte für u,g,o wie folgt spezifiziert sind: <table border="1"> <colgroup><col width="100" /><col width="100" /><col width="100" /><col width="100" /></colgroup> <tbody> <tr> <td> </td> <td>user</td> <td>group</td> <td>other</td> </tr> <tr> <td>read</td> <td>4</td> <td>4</td> <td>4</td> </tr> <tr> <td>write</td> <td>2</td> <td>2</td> <td>2</td> </tr> <tr> <td>execute</td> <td>1</td> <td>1</td> <td>1</td> </tr> </tbody> </table>
Für die gewünschten Rechte werden die entsprechenden Spalten aufsummiert.
Beispiele:gudrun@vieta[~/TEST]>>ls -al test-datei1 -rwxr-xr-x 1 gudrun root 0 Apr 25 08:37 test-datei1* gudrun@vieta[~/TEST]>>chmod 600 test-datei1 gudrun@vieta[~/TEST]>>ls -al test-datei1 -rw------- 1 gudrun root 0 Apr 25 08:37 test-datei1 gudrun@vieta[~/TEST]>>
Nur die Besitzer:in der Datei darf den Inhalt der Datei lesen und verändern.
- gudrun@vieta[~/TEST]>>ls -al test-datei1 -rw------- 1 gudrun root 0 Apr 25 08:37 test-datei1 gudrun@vieta[~/TEST]>>chmod 640 test-datei1 gudrun@vieta[~/TEST]>>ls -al test-datei1 -rw-r----- 1 gudrun root 0 Apr 25 08:37 test-datei1 gudrun@vieta[~/TEST]>>
Die Besitzer:in der Datei darf den Inhalt der Datei lesen und verändern, die Gruppenmitglieder dürfen den Inhalt lesen aber nicht verändern, alle anderen haben keine Zugriffsrechte.
gudrun@vieta[~/TEST]>>ls -al test-datei1 -rw-r----- 1 gudrun root 0 Apr 25 08:37 test-datei1 gudrun@vieta[~/TEST]>>chmod 664 test-datei1 gudrun@vieta[~/TEST]>>ls -al test-datei1 -rw-rw-r-- 1 gudrun root 0 Apr 25 08:37 test-datei1 gudrun@vieta[~/TEST]>>
Die Besitzer:in der Datei und alle Gruppenmitglieder dürfen den Inhalt lesen und verändern, alle anderen nur lesen.
gudrun@vieta[~/TEST]>>ls -al total 278 [...] drwxr-xr-- 2 gudrun mupas 512 Apr 25 08:49 TEST-DIR/ gudrun@vieta[~/TEST]>>chmod 755 TEST-DIR/ gudrun@vieta[~/TEST]>>ls -al total 278 [...] drwxr-xr-x 2 gudrun mupas 512 Apr 25 08:49 TEST-DIR/ gudrun@vieta[~/TEST]>>
Die Besitzer:in hat vollen Zugriff auf das Verzeichnis, die Gruppe und alle anderen dürfen in dem Verzeichnis nur lesen (selbstverständlich nur die Dateien, die entsprechende Leserechte besitzen).
chmod kann in beiden Formen mit der Option -R rekursiv verwendet werden.
Zugriffsrechte global voreinstellen
Bei jeder Erstellung einer Datei/eines Verzeichnisses werden die vom System voreingestellten Zugriffsrechte gesetzt. Diese Voreinstellung kann und sollte auf die eigenen Bedürfnisse angepasst werden. Dazu existiert das Kommando umask. Im Mathematiknetz wird der Wert von umask für jede Benutzer:in in der Datei .cshrc auf den Wert 022 gesetzt, d.h. jede von einer Benutzer:in erzeugte Datei hat die vollen Zugriffsrechte für diese Benutzer:in und Lese-Zugriffsrechte für alle anderen. Sinnvolle Werte von umask und ihre Bedeutung für neu angelegte Dateien und Verzeichnisse sind:
umask Wert | Datei | Verzeichnis |
022 | -rw-r--r-- | drwxr-xr-x |
077 | -rw------- | drwx------ |
027 | -rw-r----- | drwxr-x--- |
Bitte passen Sie den Wert von umask Ihren Bedürfnissen an.
Das Kommando umask kann selbstverständlich auch in der aktuellen Shell verwendet werden. umask ohne Argument liefert die momentan gültige Einstellung von umask.
Beispiel:
gudrun@vieta[~/TEST]>>umask 22 gudrun@vieta[~/TEST]>>touch test-datei5 gudrun@vieta[~/TEST]>>ls -al test-datei5 -rw-r--r-- 1 gudrun root 0 Apr 25 09:49 test-datei5 gudrun@vieta[~/TEST]>>umask 077 gudrun@vieta[~/TEST]>>umask 77 gudrun@vieta[~/TEST]>>touch test-datei6 gudrun@vieta[~/TEST]>>ls -al test-datei6 -rw------- 1 gudrun root 0 Apr 25 09:49 test-datei6 gudrun@vieta[~/TEST]>>
Wichtig: Wird eine Datei mit dem cp-Befehl kopiert, so werden die alten Zugriffsrechte der Datei übernommen, soweit umask diese Zugriffsrechte erlaubt. Zusätzliche Rechte werden nie gesetzt, da ja eine neue Datei mit den aktuellen Zugriffsrechten angelegt wird und der Inhalt der Ursprungsdatei dort hinein kopiert wird. Hat allerdings bereits eine Datei existiert, die durch den Kopiervorgang überschrieben wird, so bleiben deren alte Zugriffsrechte erhalten:
Beispiel:
gudrun@vieta[~/TEST]>>umask 77 gudrun@vieta[~/TEST]>>ls -al test-datei* -rw-rw-r-- 1 gudrun root 0 Apr 25 10:02 test-datei1 -rw------- 1 gudrun root 15 Apr 25 10:03 test-datei6 gudrun@vieta[~/TEST]>>cp test-datei1 test-datei1-neu gudrun@vieta[~/TEST]>>cp test-datei6 test-datei1 gudrun@vieta[~/TEST]>>ls -al test-datei* -rw-rw-r-- 1 gudrun root 15 Apr 25 10:04 test-datei1 -rw------- 1 gudrun root 0 Apr 25 10:04 test-datei1-neu -rw------- 1 gudrun root 15 Apr 25 10:03 test-datei6 gudrun@vieta[~/TEST]>>
Besitzrechte ändern
Das Besitzrecht einer Datei/eines Verzeichnisses kann nur vom Systemverwalter geändert werden. Die Gruppenzugehöhrigkeit einer Datei/eines Verzeichnisses kann von der jeweiligen Besitzer:in der Datei mit dem Befehl chgrp (change group) geändert werden. Die Syntax für diesen Befehl lautet: chgrp Mit der option -R chgrp
Beispiel:
gudrun@vieta[~/TEST]>>ls -al test-datei* ls: No match. gudrun@vieta[~/TEST]>>touch test-datei1 gudrun@vieta[~/TEST]>>ls -al test-datei1 -rw------- 1 gudrun root 0 Apr 25 10:12 test-datei1 gudrun@vieta[~/TEST]>>chgrp mupas test-datei1 gudrun@vieta[~/TEST]>>ls -al test-datei1 -rw------- 1 gudrun mupas 0 Apr 25 10:12 test-datei1 gudrun@vieta[~/TEST]>>
Verzeichnisse gemeinsam nutzen
Arbeitsgruppen möchten häufig für alle ihre Arbeitsgruppenmitglieder Dateien zentral zur Verfügung stellen. Dazu kann ein Verzeichnis, dass für die Gruppe volle Zugriffsrechte hat, genutzt werden: Beispiel:
gudrun@vieta[~/TEST]>>mkdir FUER_MUPAD gudrun@vieta[~/TEST]>>ls -al total 280 [...] drwx------ 2 gudrun root 512 Apr 25 10:22 FUER_MUPAD/ gudrun@vieta[~/TEST]>>chgrp mupas FUER_MUPAD/ gudrun@vieta[~/TEST]>>chmod 770 FUER_MUPAD/ gudrun@vieta[~/TEST]>>ls -al total 280 [...] drwxrwx--- 2 gudrun mupas 512 Apr 25 10:22 FUER_MUPAD/ gudrun@vieta[~/TEST]>>
Wichtig: Beachten Sie in diesem Fall bitte die folgenden Dinge:
- Jedes der Gruppenmitglieder kann nun in dem Verzeichnis Dateien anlegen und löschen. Der Löschvorgang einer Datei ist auch dann möglich, wenn Gruppenzugriffe für diese Datei gar nicht erlaubt sind.
- Eine von einem Gruppenmitglied angelegte Datei gehört diesem Gruppenmitglied und wird deshalb auf dessen quota angerechnet.
- Eine von einem Gruppenmitglied angelegte Datei kann trotzdem für die Gruppe nicht lesbar sein. Es müssen die Dateizugriffsrechte korrekt für die Gruppe gesetzt werden. Kontrollieren Sie in diesem Fall von Wert von umask (siehe Zugriffsrechte global voreinstellen) oder setzen Sie die Rechte per Hand (siehe Zugriffsrechte verändern).
- Eine von einem Gruppenmitglied angelegte Datei kann trotzdem immer noch nicht lesbar sein, da diese Person zwar Mitglied der richtigen Gruppe ist, aber eine andere Primärgruppe (siehe unter Benutzer und Gruppen) hat und die Datei deshalb mit der falschen Gruppe angelegt wurde. In diesem Fall kann nur die Eigentümer:in der Datei die Besitzrechte ändern. Alternativ kann sie dieses Problem durch das Setzen des sogenannten Set-GID-Bits auf dem Verzeichnis umgehen. Damit bekommen alle in dem Verzeichnis angelegten Dateien automatisch die Gruppenzugehörigkeit des Verzeichnisses zugewiesen.
Beispiel:
gudrun@vieta[~/TEST]>>ls -al [...] drwxrwx--- 2 gudrun mupas 512 Apr 25 10:43 FUER_MUPAD/ gudrun@vieta[~/TEST]>>touch FUER_MUPAD/test-datei1 gudrun@vieta[~/TEST]>>ls -al FUER_MUPAD/test-datei1 -rw-r----- 1 gudrun root 0 Apr 25 10:44 FUER_MUPAD/test-datei1 gudrun@vieta[~/TEST]>>chmod g+s FUER_MUPAD/ gudrun@vieta[~/TEST]>>ls -al [...] drwxrws--- 2 gudrun mupas 512 Apr 25 10:47 FUER_MUPAD/ gudrun@vieta[~/TEST]>> gudrun@vieta[~/TEST]>>touch FUER_MUPAD/test-datei2 gudrun@vieta[~/TEST]>>ls -al FUER_MUPAD/test-datei2 -rw-r----- 1 gudrun mupas 0 Apr 25 10:47 FUER_MUPAD/test-datei2 gudrun@vieta[~/TEST]>>
- Probleme kann es ebenfalls mit der Zugriffskontrolle für Dateien geben, die für die Gruppe schreibbar sind. Bearbeiten nämlich zwei Personen dieselbe Datei simultan, so werden Änderungen verloren gehen. Bitte denken Sie daran, dieses Problem organisatorisch (z.B. durch eindeutige Absprachen oder durch ausschliessliches Arbeiten auf Kopien) zu lösen. Eventuell ist auch eine technisch unterstützte professionelle Lösung wie der Einsatz eines Versionenkontrollsystems (wie z.B. cvs) sinnvoll.