Über­sicht

APT-Re­po­si­to­ry

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

 

Com­pu­te Ser­vice

Was sind Com­pu­te-Ser­ver?

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 ?

Pro­ble­me mit lang­lau­fen­den Pro­zes­sen und Pro­gram­men

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 Li­nux-Pool­räu­me der Ma­the­ma­tik

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

Emp­foh­le­ne Soft­ware

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
Kann YouTube Playlisten abspielen

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

Hil­fe zum Edi­tor VIM

Hier sind die häufigsten Befehle in Kurzform:

Ker­be­ros-Cli­ent ein­rich­ten

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:

 

  1. Eine Root-Shell aufmachen:
  2. Pakete installieren:
  3. Konfiguration:
  4. 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.

Pro­ble­me beim Ein­log­gen

Bei fehlgeschlagenen Loginversuchen sind zwei Fälle zu unterscheiden:

  1. Es erscheint nach kurzer Zeit ein Fenster mit der Meldung:"Login incorrect; please try again"
  2. 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:

  1. "STRG-ALT-ENTF F1"
  2. 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.

Ver­wen­dung von Ex­ter­nen Da­ten­trä­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.

War­um ist mein Rech­ner lang­sam?

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.

Zu­griffs­rech­te

Be­nut­zer:in­nen und Grup­pen

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]>>

Ei­gen­schaf­ten von Da­tei­en und Ver­zeich­nis­sen

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.

Zu­griffs­rech­te auf Da­tei­en

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.

Zu­griffs­rech­te auf Ver­zeich­nis­se

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:

  1. 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:).
  2. 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.

Zu­griffs­rech­te ver­än­dern

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:

  1. Ä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. 
     
  2. 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.
     
  3. 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.

Zu­griffs­rech­te glo­bal vor­ein­stel­len

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]>>

Be­sitz­rech­te än­dern

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]>>

Ver­zeich­nis­se ge­mein­sam nut­zen

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:

  1. 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.
  2. Eine von einem Gruppenmitglied angelegte Datei gehört diesem Gruppenmitglied und wird deshalb auf dessen quota angerechnet.
  3. 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).
  4. 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]>> 

  5. 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.