Stammtisch 2024-08-23: Unterschied zwischen den Versionen

Aus lugvswiki
Zur Navigation springenZur Suche springen
Zeile 21: Zeile 21:
 
=== Mikrofonprobleme ===
 
=== 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.
 
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 (hat offensichtlich kein Mikrofon); bei Bedarf meldet er sich per Handzeichen und schreibt dann in den Chat.
+
Günther hört "nur" zu; bei Bedarf meldet er sich per Handzeichen und schreibt dann in den Chat.
 
   
 
   
 
----
 
----
Zeile 27: Zeile 27:
 
=== Kleine Shelleinführung – (''Mehr-Benutzer-System''), Teil 8 ===
 
=== Kleine Shelleinführung – (''Mehr-Benutzer-System''), Teil 8 ===
 
<!-- Mehrbenutzersystem, Rechteverwaltung, Rechteänderung, chmod, chown, change mod, change owner -->
 
<!-- Mehrbenutzersystem, Rechteverwaltung, Rechteänderung, chmod, chown, change mod, change owner -->
Plocki hat heute nichts vorbereiten können und "schüttelt etwas aus dem Ärmel".
+
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.
  
Mit dem Aufkommen von Linux wurde es möglich mit ''mehren'' Benutzern auf einen PC zuzugreifen (z. B. mehrere Benutzer greifen auf ''ein'' Verzeichnis zu). Dazu muss man folgendes wissen:
+
Erst 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).  
  
# Es gibt immer einen ''User''
+
Zur Rechtevergabe eines Ordner, bzw. einer Datei (und gegebenenfalls den in Unterverzeichnissen enthaltenen Daten) muss man folgendes wissen. Es gibt drei Zugriffsmöglichkeiten:
# gefolgt von einer ''Gruppe''
 
# und dann noch die "others" (die anderen)  
 
Diesen sind Berechtigungen zugeteilt, nämlich
 
# '''r''' = read (lesen)
 
# '''w''' = write (schreiben / verändern)
 
# '''x''' = execute (auf eine ''Datei'' bezogen: "ausführen"; auf ein ''Verzeichnis'' bezogen: Verzeichnis "betreten")
 
  
==== Zunächst einmal müssen wir ein Verzeichnis erstellen, auf welches alle auf dem PC / Laptop arbeitenden User (Benutzer) zugreifen sollen dürfen ====
+
# 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
<$> benutzer:~> '''cd /home/''' (wechselt aus dem Verzeichnis ''/home/holger/'' in das ''übergeordnete'' Verzeichnis ''/home/'')
+
# Weiter eine Arbeits-'''Gruppe''';  der Eigentümer, aber auch andere User können (standardmäßig, oder nachträglich) Mitglied einer Arbeits-Gruppe sein
 +
# 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:
 +
# '''r''' = '''r'''ead (lesen)
 +
# '''w''' = '''w'''rite (schreiben / verändern)
 +
# '''x''' = e'''x'''ecute (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:
 +
# Das "d" steht für '''d'''irectory (Verzeichnis); es handelt sich also hier um ein Verzeichnis (Ordner) und ''nicht'' um eine Datei oder einen (symbolischen) Link (eine Verknüpfung); ein "l" würde einen Link markieren und ein vorangestelltes "-" (Minuszeichen) steht für eine Datei (nicht ein Verzeichnis)
 +
# dann der erste Block <code>'''rwx'''--x---</code>; er ist dem Eigentümer der Datei / des Verzeichnisses zugeteilt
 +
# der zweite Block <code>rwx'''--x'''---</code>; ist als Arbeitsgruppe für die User verfügbar, welche der Arbeitsgruppe "users" (bzw. "root") zugeteilt sind
 +
# der dritte Block <code>rwx--x'''---'''</code>; ist für "others" bestimmt (hier ohne jegliche Rechte)
 +
 
 +
* Elke hat als Eigentümer Ihres Verzeichnisses alle Rechte <code>'''rwx'''------</code>, 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 <code>rwx---'''---'''</code>.
 +
* 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 &ndash; falls diese Dateien beinhalten &ndash; diese ausführen <code>rwx'''--x'''---</code>. 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/'')
 
  <$> benutzer:/home> (wir befinden uns nun im ''übergeordneten'' Verzeichnis ''/home/'')
  
Nun legen wir einen neuen Ordner an, nennen wir ihn "Testverzeichnis"; dazu müssen wir als "root" agieren (vorangestellter Befehl "sudo"):
+
* 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''' (erstellt &ndash; als "Root" &ndash; das neue Verzeichnis "Testverzeichnis" unter /home/)
+
  <#> benutzer:/home/'''sudo mkdir Testverzeichnis'''
 
  <#> [sudo] Passwort für benutzer: (Passwort wird "blind" eingegeben)
 
  <#> [sudo] Passwort für benutzer: (Passwort wird "blind" eingegeben)
 
  <#> benutzer:/home> (die noch vorhandenen "Root"-Rechte erlöschen automatisch nach 15 Minuten)
 
  <#> benutzer:/home> (die noch vorhandenen "Root"-Rechte erlöschen automatisch nach 15 Minuten)
 +
 +
----
  
 
===== Wir überprüfen, ob das neue Verzeichnis angelegt wurde =====
 
===== Wir überprüfen, ob das neue Verzeichnis angelegt wurde =====
Zeile 54: Zeile 78:
 
  drwxr-xr-x  1 root  root  178 29. Mai 23:55 ..
 
  drwxr-xr-x  1 root  root  178 29. Mai 23:55 ..
 
  drwx------  1 '''elke  elke'''  384 22. Apr 2023  elke
 
  drwx------  1 '''elke  elke'''  384 22. Apr 2023  elke
  drwx--x---+ 1 '''holger users''' 3890 24. Aug 21:19 holger
+
  drwx--x--- 1 '''holger users''' 3890 24. Aug 21:19 holger
 
  drwxr-xr-x  1 '''root  root'''    0 24.Aug 21:30  '''Testverzeichnis'''
 
  drwxr-xr-x  1 '''root  root'''    0 24.Aug 21:30  '''Testverzeichnis'''
 
  benutzer:/home>
 
  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 ...
 
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 <code>'''rwx'''r-xr-x</code>, seine Arbeitsgruppe "root" darf lesen und ausführen / betreten <code>rwx'''r-x'''r-x</code> und andere Benutzer ("others") haben ebenfalls Leserechte und können ausführen / betreten, nicht aber schreiben <code>rwxr-x'''r-x'''</code>.
 +
 +
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:
 +
# <code> '''ls --help'''</code> oder
 +
# <code>'''man ls'''</code>; 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 ====
 
==== Ändern der ''Gruppenzugehörigkeit'' eines Verzeichnisses ====
Also muss das zuvor erstellte Verzeichnis ''Testverzeichnis'' für alle User zugänglich gemacht werden; dazu ändern wir die ''Gruppenzugehörigkeit'':
+
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'''
+
  <#> benutzer:'''sudo chown root:users Testverzeichnissudo chown root:users Testverzeichnis'''
  [sudo] Passwort für holger:  
+
  [sudo] Passwort für holger: (Passwort wird "unsichtbar" eingegeben)
 +
benutzer:/home>
 +
 
 +
Erklärung:
 +
# Der Befehl '''chown''' ('''ch'''ange '''own'''er) leitet die Änderung der Gruppenzugehörigkeit für alle Mitglieder der Gruppe "users" auf das Verzeichnis "Testverzeichnis" <code>root:'''users'''</code>) ein.
 +
# Die Syntax <code>'''root:users Testverzeichnis'''</code> bewirkt die Detailarbeit; sie hat die Gruppe des Ordners "Testverzeichnis" von "root" auf "users" geändert.  <br> Der Besitzer (er ist ja auch der "Ersteller") bleibt aber "root".
 +
<br>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 haben die Mitglieder der Gruppe "users" keine Schreibberechtigung <code>rwx'''r-x'''r-x</code> 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------ 32 holger holger 4096 25. Aug 16:14 holger
 +
drwx'''r-x'''r-x  2 root  '''users'''    6 25. Aug 19:54 '''Testverzeichnis'''
 
  benutzer:/home>
 
  benutzer:/home>
  
Erklärung:
+
Also zum nächsten Schritt ...
# Der Befehl '''chown''' (change owner) ändert den Besitzer (in unserem Beispiel der Gruppe <code>root:'''users'''</code>).
 
# Die Syntax <code>'''root:users Testverzeichnis'''</code> hat die Gruppe des Ordners "Testverzeichnis" von "root" auf "users" geändert. <br> Der Besitzer (er ist ja auch der "Ersteller") bleibt aber "root".
 
<br>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.
 
  
Nun wurde die ''Gruppenzugehörigkeit'' des Ordners "Testverzeichnis" von "root" auf "users" geändert, aber noch immer hat die Gruppe "users" keine Schreibberechtigung ('''r-x''') auf den Ordner "Testverzeichnis".
+
----
  
==== Also muss noch die Berechtigung geändert werden: ====
+
==== Änderung der Zugriffsrechte von Verzeichnissen / Dateien ====
 +
Wir ändern die Berechtigung in der Arbeitsgruppe:
 
  <#> benutzer:/home '''sudo chmod g+w /Testverzeichnis/'''
 
  <#> benutzer:/home '''sudo chmod g+w /Testverzeichnis/'''
  
 
Erklärung:  
 
Erklärung:  
Der Befehl '''chmod''' (change modification) ändert den Besitzer (in unserem Beispiel der Gruppe).
+
# Der Befehl '''chmod''' (change modification) ändert für einen User die Zugriffsrechte innerhalb einem Verzeichnis oder einer Datei.
# Die Syntax <code>'''g+w'''</code> hat in der ''Gruppe'' ("g") das zuvor fehlende Schreibrecht ("w") hinzugefügt. <br>Vorher: <code>drwx'''r-x'''r-x  1 root  users    0 24. Aug 21:30 Testverzeichnis</code>; die Gruppe "users" kann nur lesen "r" und ausführen / betreten ("x").<br>Nach unserer Änderung: <code>drwx'''rwx'''r-x  1 root  users    0 24. Aug 21:30 Testverzeichnis</code> hat die Gruppe "users" nun Lese- ("r"), Schreib- ("w") und Rechte zur Ausführung (Datei), bzw. dem Betreten (Verzeichnis) erhalten.
+
# Die Syntax <code>sudo chmod '''g+w''' /Testverzeichnis/'''g+w</code> hat in der ''Gruppe'' ("g") das zuvor fehlende Schreibrecht ("w") hinzugefügt. <br>*; Vorher: <code>drwx'''r-x'''r-x  1 root  users    0 24. Aug 21:30 Testverzeichnis</code>; die Gruppe "users" kann nur lesen "r" und ausführen / betreten ("x").<br>*; Nach unserer Änderung: <code>drwx'''rwx'''r-x  1 root  users    0 24. Aug 21:30 Testverzeichnis</code> hat die Gruppe "users" nun Lese- ("r"), Schreib- ("w") und Rechte zur Ausführung (einer im Verzeichnis befindlichen Datei), bzw. dem Betreten (des Verzeichnisses) erhalten.
  
Wir finden neben dem "root" (Administrator) &ndash; warum ist der zwei mal vorhanden? Vermutlich, weil ich noch eine alte Installation auf einer anderen Partition laufen haben, die aber nicht mehr genutzt wird? &ndash; noch die Benutzer "elke" und "holger" und den Eigentümer des "Testverzeichnisses" (wieder "Root"). "Elke" ist standardmässig ''nicht'' in der Gruppe "users"; beim Benutzer "holger" wurde das schon vor langem geändert; er ist in der Gruppe "users".
+
----
  
Zur Erläuterung zum Befehl "ls (-la)":
+
===== Kontrolle, ob Änderung der Zugriffsrechte erfolgreich =====
(Befehl '''ls''' --> siehe <code> '''ls --help'''</code> mit Option '''-la''' (oder: '''-l -a)''':  
+
Auch hier wollen wir wieder kontrollieren, ob die Rechte nun korrekt abgeändert wurden:
* "l" = langes Listenformat (detaillierte Ausgabe)
+
<$> benutzer:/home> '''ls -la'''
* "a" = alles, auch versteckte Dateien werden angezeigt
+
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------ 32 holger holger 4096 25. Aug 16:14 holger
 +
'''drwxrwxr-x''' 2 root  '''users'''     6 25. Aug 19:54 '''Testverzeichnis'''
 +
benutzer:/home>
  
Wir greifen nun einmal die letzte Zeile (mit dem Testverzeichnis) raus:
+
----
'''drwxrwx---'''  1 root  users    0 27. Feb 2022  Testverzeichnis'''
 
  
Was bedeutet nun "drwxrwx"? Hier wird es erklärt:
+
==== Änderung der Gruppenzugehörigkeit eines Benutzers ====
# '''d''' ganz am Anfang steht für ''directory'' = Typ: "Verzeichnis" (''ohne'' "d" = Typ: "Datei")
+
Da der User "elke" bislang nur nicht der Gruppe "users" angehört, wollen wir das ändern; sie soll schließlich auch auf das Verzeichnis "Testverzeichnis" zugreifen können:
# '''d'''rwxrwx---  1 root  users   0 27. Feb 2022  Testverzeichnis
+
<#> benutzer:~> '''sudo usermod -aG users elke'''
# '''l''' würde dann stehen für "symbolischer Link" (Verknüpfung); hier nicht abgebildet / vorhanden
+
[sudo] Passwort für root: (Passwort wird "blind" eingegeben)
# '''rwx''' das sind die Rechte für den ''User'' (der erste Dreierblock), bzw. der zweite Dreierblock ist für die ''Gruppe'' und der dritte Dreierblock ist für ''alle anderen Benutzer'' = '''others'''
 
#: '''r''' steht für ''read'' = (lesen)
 
#: '''w''' steht für ''write' = (schreiben)
 
#: '''x''' steht für ''execute'' = (auf eine Datei bezogen: "ausführen" / auf ein Verzeichnis bezogen: Verzeichnis "betreten")
 
  
 +
----
  
 +
===== 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:~>
  
Wir schauen uns auch ein wenig die Gruppen an, die aber je nach Linux-Distribution voneinander abweichen können
+
Wunderbar! Nun können die Nutzer "holger" und "elke" gleichermaßen auf das Verzeichnis "Testverzeichnis" zugreifen!
  
Auch teilt Bertram kurz den inxi;  
+
----
inxi -Fxzd
+
 
das Programm muss normalerweise installiert werden.
+
===== Hilfreiche, informative Links zum Thema ''Mehr-Benutzer'', bzw. ''Rechtevergabe'', ''Benutzer und Gruppen'' =====
Das kann man auch mit /proc auflisten lassen, z. B. mit
+
# [https://wiki.ubuntuusers.de/Benutzer_und_Gruppen/ ''Benutzer und Gruppen'' &ndash; Wiki ubuntuusers.de]
cd /proc/,  
+
# [https://wiki.ubuntuusers.de/Shell/Befehls%C3%BCbersicht/#Benutzerverwaltung ''Benutzerverwaltung'' &ndash; Wiki ubuntuusers.de]
dann
+
# [https://wiki.ubuntuusers.de/Rechte/ ''Rechte'' &ndash; Wiki ubuntuusers.de]
cat /cpuinfo
+
# [https://wiki.ubuntuusers.de/chmod/ ''chmod'' &ndash; Wiki ubuntuusers.de]
 +
# [https://wiki.ubuntuusers.de/chown/ ''chown'' &ndash; Wiki ubuntuusers.de]
 +
 
 +
----
 +
 
 +
==== 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.
 +
 
 +
----
  
Oder man bemüht das Tool "Btop", das aber noch installiert werden muss.
+
=== Abfragemöglichkeiten der Systeminformationen ===
 +
<!-- inxi, btop++, htop, /proc, cat /cpuinfo -->
 +
Holger fragt einen der Besucher nach seinem Betriebssystem, was dazu führt, dass Bertram auf den Befehl ''inxi'' verweist, welcher solche Informationen ausliest.
  
Alle diese Hilfprogramme (inxi, Btop, Htop) greifen auf den Inhalt des Verzeichnisses /proc/ zu.
+
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:
 +
# Das Programm '''inxi'''; es muss meist noch installiert werden und wird über die Konsole aufgerufen; zum Beispiel so <code>'''inxi Fxzd'''</code>
 +
# Die Programme '''btop++''', bzw. '''htop'''; auch sie müssen meist installiert werden und werden über die Konsole ausgeführt
 +
# '''cat /proc/cpuinfo'''; auch dieses Programm muss meist installiert werden und wird über die Konsole aufgerufen <code>'''cat /proc/cpuinfo'''</code>
  
Anzeigen lassen, in welcher Gruppe ein User ist:
+
* Sämtliche Programme greifen auf die Bibliothek auf den Inhalt des Verzeichnisses ''/proc/'' zu.
id benutzer
+
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.
  
<$> '''benutzer''' ls -la /home
+
Die Manpage <code>'''man''' Programmname</code>, bzw. die Hilfeseite <code>Programmname '''--help'''</code> liefert weitere Inforationen über Leistung und Optionen des jeweiligen über die Konsole zu startenden Programms.
  
 
----
 
----
Zeile 124: Zeile 192:
 
=== Drucker, der nicht druckt, aber scannt ===
 
=== Drucker, der nicht druckt, aber scannt ===
 
Plocki erwähnt beiläufig, dass er einen Tintenstrahldrucker besitzt, der nicht mehr druckt, aber noch scannen kann.
 
Plocki erwähnt beiläufig, dass er einen Tintenstrahldrucker besitzt, der nicht mehr druckt, aber noch scannen kann.
Wenn er nun scannen will, nutzt er diesen Tintenstrahldrucker, leitet die gescannte Datei dann an einen Laserdrucker weiter (der gar nicht scannen kann) und druckt die Datei mit diesem Laserdrucker aus.
+
Wenn er nun scannen will, nutzt er diesen Tintenstrahldrucker, 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!  :-)
 
Problem gelöst!  :-)

Version vom 25. August 2024, 21:22 Uhr

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.

Erst 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:

  1. Das "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" würde einen Link markieren und ein vorangestelltes "-" (Minuszeichen) steht für eine Datei (nicht ein Verzeichnis)
  2. dann der erste Block rwx--x---; er ist dem Eigentümer der Datei / des Verzeichnisses zugeteilt
  3. der zweite Block rwx--x---; ist als Arbeitsgruppe für die User verfügbar, welche der Arbeitsgruppe "users" (bzw. "root") zugeteilt sind
  4. der dritte Block rwx--x---; ist für "others" bestimmt (hier ohne jegliche Rechte)
  • 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, seine Arbeitsgruppe "root" darf 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 Testverzeichnissudo 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 für alle Mitglieder der Gruppe "users" auf das Verzeichnis "Testverzeichnis" root:users) 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 haben die Mitglieder 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------ 32 holger holger 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/g+w hat in der Gruppe ("g") das zuvor fehlende Schreibrecht ("w") hinzugefügt.
    *; Vorher: drwx
    r-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: drwx
    rwxr-x 1 root users 0 24. Aug 21:30 Testverzeichnis hat die Gruppe "users" nun Lese- ("r"), Schreib- ("w") und Rechte zur Ausführung (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------ 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 nur 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
[sudo] Passwort für root: (Passwort wird "blind" eingegeben)

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!


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

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.


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 installiert werden und werden über die Konsole ausgeführt
  3. cat /proc/cpuinfo; auch dieses Programm muss meist installiert werden und wird über die Konsole aufgerufen cat /proc/cpuinfo
  • Sämtliche Programme greifen auf die Bibliothek 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.

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 nicht mehr druckt, aber noch scannen kann. Wenn er nun scannen will, nutzt er diesen Tintenstrahldrucker, 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