Stammtisch 2024-08-23

Aus lugvswiki
Zur Navigation springenZur Suche springen

23.08.2024 - 20:00 Uhr, Online-Stammtisch auf https://bbb.ch-open.ch/rooms/ulf-nm2-y26/join

wöchentlicher Online-Stammtisch

Auf dem Stammtisch Mai 2020 beschlossener wöchentlicher Stammtisch jeden Freitag ab 20:00 Uhr anstelle des monatlichen Stammtisches im realen Leben.


Anwesende

  • Holger
  • Plocki
  • Günther
  • Christoph
  • Bertram

Themen


Mikrofonprobleme

Bertram hat Mikrofonprobleme; die sich erst nach dem dritten Einloggen beheben lassen. Bertrams Mikrofonpegel (also das Eingangssignal) war auf Null (0) gestellt. Aber jetzt klappt es. Günther hört "nur" zu; bei Bedarf meldet er sich per Handzeichen und schreibt dann in den Chat.


Kleine Shelleinführung – (Mehr-Benutzer-System), Teil 8

Plocki hat heute nichts vorbereiten können und "schüttelt etwas aus dem Ärmel". Von seiner Seite gibt es heute also auch keinen Link zu einem Skript.

Ziemlich zeitgleich mit dem Aufkommen von Linux wurde es möglich, mit mehreren Benutzern auf einen PC zuzugreifen (z. B. mehrere Benutzer greifen auf ein Verzeichnis zu).

Zur Rechtevergabe eines Ordner, bzw. einer Datei (und gegebenenfalls den in Unterverzeichnissen enthaltenen Daten) muss man folgendes wissen. Es gibt drei Zugriffsmöglichkeiten:

  1. Es gibt immer einen User; standardmäßig ist er auch der Eigentümer, weil er auch der Ersteller ist; das könnte durch den root (Administrator) natürlich geändert werden
  2. Weiter eine Arbeits-Gruppe; der Eigentümer, aber auch andere User können (standardmäßig, oder nachträglich) Mitglied einer Arbeits-Gruppe sein
  3. Und dann noch Others (die anderen); sie sind weder Eigentümer eines Verzeichnisses / einer Datei, noch zugriffsberechtigt auf eine Arbeitsgruppe (auch das kann nachträglich geändert werden).

Diesen sind Berechtigungen zugeteilt oder verwehrt, nämlich:

  1. r = read (lesen)
  2. w = write (schreiben / verändern)
  3. x = execute (auf eine Datei bezogen: "ausführen"; auf ein Verzeichnis bezogen: Verzeichnis "betreten")

Das sieht dann etwa so aus:

drwx------  1 elke   elke   384 22. Apr 2023  elke

Oder so:

drwx--x--- 1 holger users 3890 24. Aug 21:19 holger

Noch kurz eine Erklärung zu den "kryptischen" Zeichen in der zehnstelligen Zeichenfolge:

  1. Das erste Zeichen "d" steht für directory (Verzeichnis); es handelt sich also hier um ein Verzeichnis (Ordner) und nicht um eine Datei oder einen (symbolischen) Link (eine Verknüpfung); ein "l" (kleines "L") würde einen Link markieren und ein vorangestelltes "-" (Minuszeichen) steht für eine Datei (nicht ein Verzeichnis)
  2. dann der darauffolgende Dreierblock rwx--x---; er ist dem Eigentümer der Datei / des Verzeichnisses zugeteilt
  3. der zweite Dreierblock rwx--x---; ist als Arbeitsgruppe für die User verfügbar, welche der Arbeitsgruppe "users" (bzw. "root") zugeteilt sind
  4. der dritte Dreierblock rwx--x---; ist für "others" bestimmt (hier ohne jegliche Rechte)
  5. Die "-" (Minuszeichen) im zweiten und dritten Block sagen aus, dass gar keine Rechte vergeben wurden
  • Elke hat als Eigentümer Ihres Verzeichnisses alle Rechte rwx------, aber da sie nicht in der Gruppe "root" oder "users" ist, überhaupt keine Zugriffsrechte außerhalb ihrer Arbeitsgruppe "elke"; ebenso haben "others" überhaupt keinen Zugriff rwx------.
  • Bei Holger sieht das schon anders aus. Er ist Mitglied in der Arbeitsgruppe "users" und kann so Verzeichnisse, welche der Arbeitsgruppe "users" angehören, betreten und – falls diese Dateien beinhalten – diese ausführen rwx--x---. Er kann Verzeichnisse / Dateien mit den Rechten seiner Gruppe "users" derzeit jedoch weder schreiben (verändern), noch lesen, da die derzeitigen Rechte in der Gruppe "users" nur die Markierung "x" haben.

Verzeichnis erstellen, auf das andere Nutzer zugreifen dürfen

Zunächst einmal müssen wir ein Verzeichnis erstellen, auf welches alle auf dem PC / Laptop arbeitenden User (Benutzer) zugreifen dürfen. Das geschieht mit dem Befehl mkdir.

  • Wir wechseln erst mal eine Ebene höher in das Verzeichnis /home/, in welchem der Ordner erstellt werden soll:
<$> benutzer:~> cd /home/
<$> benutzer:/home> (wir befinden uns nun im übergeordneten Verzeichnis /home/)
  • Nun legen wir einen neuen Ordner an, wir nennen ihn mal "Testverzeichnis"; dazu müssen wir als "root" agieren (vorangestellter Befehl "sudo"):
<#> benutzer:/home/ sudo mkdir Testverzeichnis
<#> [sudo] Passwort für benutzer: (Passwort wird "blind" eingegeben)
<#> benutzer:/home> (die noch vorhandenen "Root"-Rechte erlöschen automatisch nach 15 Minuten)

Wir überprüfen, ob das neue Verzeichnis angelegt wurde
<$> benutzer:/home> ls -la
insgesamt 16
dr-xr-xr-x  1 root   root    50 24. Aug 21:30 .
drwxr-xr-x  1 root   root   178 29. Mai 23:55 ..
drwx------  1 elke   elke   384 22. Apr 2023  elke
drwx--x---  1 holger users 3890 24. Aug 21:19 holger
drwxr-xr-x  1 root   root     0 24.Aug 21:30  Testverzeichnis
benutzer:/home>

So ist es. Es ist noch leer und gehört dem Benutzer "root" und ebenso der Gruppe "root" (denn es wurde vom Benutzer "root" erstellt). So kann aber weder "holger", noch "elke" darauf zugreifen ... Root hat alle Rechte rwxr-xr-x, innerhalb seiner Arbeitsgruppe darf "root" lesen und ausführen / betreten rwxr-xr-x und andere Benutzer ("others") haben ebenfalls Leserechte und können ausführen / betreten, nicht aber schreiben rwxr-xr-x.

Erläuterung zum Befehl "ls (-la)"; "ls" = list (auflisten): Die Hilfeseite, bzw. die Manpage des Befehls (Eingabe in der Konsole) klärt über den Befehl und mögliche Optionen auf:

  1. ls --help oder
  2. man ls; dann Suche nach den Optionen -l und -a
    • "l" = langes Listenformat (detaillierte Ausgabe)
    • "a" = alles, auch versteckte Dateien werden angezeigt

Ändern der Gruppenzugehörigkeit eines Verzeichnisses

Das zuvor erstellte Verzeichnis Testverzeichnis muss nun für alle User zugänglich gemacht werden; dazu ändern wir die Gruppenzugehörigkeit von "root" zu "users" mit Rootrechten (sudo):

<#> benutzer:sudo chown root:users Testverzeichnis
[sudo] Passwort für holger: (Passwort wird "unsichtbar" eingegeben)
benutzer:/home>

Erklärung:

  1. Der Befehl chown (change owner) leitet die Änderung der Gruppenzugehörigkeit von root:root zu root:usersfür alle Mitglieder der Gruppe "users" auf das Verzeichnis "Testverzeichnis" ein.
  2. Die Syntax root:users Testverzeichnis bewirkt die Detailarbeit; sie hat die Gruppe des Ordners "Testverzeichnis" von "root" auf "users" geändert.
    Der Besitzer (er ist ja auch der "Ersteller") bleibt aber "root".


Da der User "holger" schon in dieser Gruppe "users" ist, kann er nun (fast, noch nicht) auf den neuen Ordner "Testverzeichnis" zugreifen. Elke, welche bislang nur in der Gruppe "elke" ist, muss dies noch ändern.


Abfrage, ob Gruppenzugehörigkeit geändert wurde

Aber noch hat "holger", als Mitglied der Gruppe "users" keine Schreibberechtigung rwxr-xr-x auf den Ordner "Testverzeichnis", wie unsere erneute Abfrage mit "ls -la" zeigt:

benutzer:/home> ls -la
insgesamt 4
dr-xr-xr-x  4 root   root     43 25. Aug 19:54 .
drwxr-xr-x  1 root   root    142 16. Sep 2023  ..
drwx------  1 elke   elke   384 22. Apr 2023  elke
drwx--x--- 32 holger users 4096 25. Aug 16:14 holger
drwxr-xr-x  2 root   users     6 25. Aug 19:54 Testverzeichnis
benutzer:/home>

Also zum nächsten Schritt ...


Änderung der Zugriffsrechte von Verzeichnissen / Dateien

Wir ändern die Berechtigung in der Arbeitsgruppe:

<#> benutzer:/home sudo chmod g+w /Testverzeichnis/

Erklärung:

  1. Der Befehl chmod (change modification) ändert für einen User die Zugriffsrechte innerhalb einem Verzeichnis oder einer Datei
  2. Die Syntax sudo chmod g+w /Testverzeichnis/ hat in der Gruppe ("g") das zuvor fehlende Schreibrecht ("w") hinzugefügt
    • Vorher: drwxr-xr-x 1 root users 0 24. Aug 21:30 Testverzeichnis; die Gruppe "users" kann nur lesen "r" und ausführen / betreten ("x")
    • Nach unserer Änderung: drwxrwxr-x 1 root users 0 24. Aug 21:30 Testverzeichnis hat die Gruppe "users" nun Lese- ("r"), Schreibrechte ("w") und Rechte zur Ausführung ("x") – einer im Verzeichnis befindlichen Datei, bzw. dem Betreten (des Verzeichnisses) – erhalten

Kontrolle, ob Änderung der Zugriffsrechte erfolgreich

Auch hier wollen wir wieder kontrollieren, ob die Rechte nun korrekt abgeändert wurden:

<$> benutzer:/home> ls -la
insgesamt 4
dr-xr-xr-x  4 root   root     43 25. Aug 19:54 .
drwxr-xr-x  1 root   root    142 16. Sep 2023  ..
drwx------  1 elke   elke    384 22. Apr 2023  elke
drwx--x--- 32 holger holger 4096 25. Aug 16:14 holger
drwxrwxr-x  2 root   users     6 25. Aug 19:54 Testverzeichnis
benutzer:/home>

Änderung der Gruppenzugehörigkeit eines Benutzers

Da der User "elke" bislang noch nicht der Gruppe "users" angehört, wollen wir das ändern; sie soll schließlich auch auf das Verzeichnis "Testverzeichnis" zugreifen können:

<#> benutzer:~> sudo usermod -aG users elke (oder auch ... usermod -a -G ...)
[sudo] Passwort für root: (Passwort wird "blind" eingegeben)
Zunächst noch eine Warnung (Quelle: Wiki von ubuntuusers.de aus dem nachstehendem Link nach der Warnung)!
Achtung!

Wenn man die Option -G ohne die Option -a verwendet, so wird der entsprechende User den Gruppen hinzugefügt, welche als Liste übergeben werden, und aus allen anderen entfernt! Daher muss man, falls man den User einer Gruppe hinzufügen will, ohne die anderen Gruppenzugehörigkeiten anzutasten, die Optionen -a und -G immer zusammen verwenden, da man sich ansonsten z.B. auch aus der Gruppe admin entfernen könnte (die benötigt wird, um sich Root-Rechte verschaffen zu können).

Erklärung zum Befehl usermod – Wiki ubuntuusers.de und den verwendeten Optionen:

  1. Mit dem Befehl "usermod" lassen sich – nur als "sudo" möglich – schon existierende Benutzerkonten bearbeiten. Die möglichen Optionen werden in der Manpage man usermod, bzw. der Hilfeseite usermod --help aufgeführt und erläutert
  2. Die Option usermod -a -G bewirkt folgendes:
    -a (oder: --append) = Benutzer werden zu zusätzlichen Gruppen hinzugefügt, ohne den Benutzer aus den Gruppen, auf die er schon Zugriff hat, zu entfernen; dies muss aber mit der Option -G angegeben werden (siehe Warnung oben!)
    -G (oder: --groups) = es wird eine neue Liste zusätzlicher Gruppen erstellt

Kontrolle der Gruppenzugehörigkeit eines Users

Die Gruppenzugehörigkeit eines Users können wir uns mit dem Befehl id anzeigen lassen:

benutzer:~> id elke
uid=1001(elke) gid=1001(elke) Gruppen=100(users),1001(elke) ("elke" ist in den Gruppen "users" und "elke")
benutzer:~>

Wunderbar! Nun können die Nutzer "holger" und "elke" gleichermaßen auf das Verzeichnis "Testverzeichnis" zugreifen!


Defaultmäßig hinterlegte Gruppen

Plocki zeigt uns noch ein wenig die Gruppen, welche standardmäßig in einer Linux-(UNIX-)Installation hinterlegt sind. Das kann jedoch je nach Distribution variieren.


Hilfreiche, informative Links zum Thema Mehr-Benutzer, bzw. Rechtevergabe, Benutzer und Gruppen

  1. Benutzer und Gruppen – Wiki ubuntuusers.de
  2. Benutzerverwaltung – Wiki ubuntuusers.de
  3. Rechte – Wiki ubuntuusers.de
  4. chmod – Wiki ubuntuusers.de
  5. chown – Wiki ubuntuusers.de
  6. usermod – Wiki ubuntuusers.de

Abfragemöglichkeiten der Systeminformationen

Holger fragt einen der Besucher nach seinem Betriebssystem, was dazu führt, dass Bertram auf den Befehl inxi verweist, welcher solche Informationen ausliest.

Um sich Informationen über das installierte Betriebssystem anzeigen zu lassen, gibt es (wie unter Linux zu erwarten) aber mehrere Möglichkeiten. Dazu eine kleine Auswahl:

  1. Das Programm inxi; es muss meist noch installiert werden und wird über die Konsole aufgerufen; zum Beispiel so: inxi Fxzd
  2. Die Programme btop++, bzw. htop; auch sie müssen meist erst noch installiert werden und werden über die Konsole ausgeführt
  3. cat /proc/cpuinfo; auch dieses Programm muss in der Regel nachinstalliert werden und wird über die Konsole aufgerufen cat /proc/cpuinfo
Sämtliche Programme greifen auf  den Inhalt des Verzeichnisses /proc/ zu.

Natürlich gibt es auch grafisch zu bedienende Anwendungen wie (unter KDE-Plasma) das Tool Infozentrum, welche Leistung, Hard- und Software-Informationen sehr schön grafisch aufarbeiten. Doch auch die anderen Desktopoberflächen wie Gnome oder Cinnamon haben ihre Entsprechungen.

Die Manpage man Programmname, bzw. die Hilfeseite Programmname --help liefert weitere Inforationen über Leistung und Optionen des jeweiligen über die Konsole zu startenden Programms.

Drucker, der nicht druckt, aber scannt

Plocki erwähnt beiläufig, dass er einen Tintenstrahldrucker besitzt, der inzwischen nicht mehr druckt; aber er weist im Gegensatz zum noch vorhandenem Laserdrucker eine Scanfunktion auf.

Wenn Plocki nun scannen will, nutzt er die Scanfunktion des Tintenstrahldruckers, leitet die gescannte Datei mittels selbstgebasteltem Skript dann an seinen Laserdrucker weiter (der gar nicht scannen kann) und druckt die Datei mit diesem Laserdrucker aus.

Problem gelöst! :-)



Zurück zur Übersicht