Hallo,
Bei mir sieht die Shell irgendwie anders aus. Statt „~>“ seht bei mir „karlheinz@desktop ~ $“.
ja, das ist die Standardeinstellung.
Warum sieht die Shell hier bei mir anders aus als bei Dir?
Weil Jörg sich das abweichend vom Standard so eingestellt hat, warum auch immer.
Nachdem ich mir durch „sudo –s“ die Root-Rechte geholt habe sieht meine Shell ebenfalls anders auf als Deine. Statt „#>“ steht bei mir „desktop ~ #“. Warum sieht die Shell hier bei mir anders aus als bei Dir?
Auch das ist normal. Der Standard-Prompt endet auf '$' für einen normalen Nutzer, und auf '#' für root.
useradd -M -N -g scanner -d /var/lib/scanner/HP_Office_Jet_8620_Pro -s /usr/sbin/nologin /HP_Office_Jet_8620_Pro
Ziemlich kompliziert diese Zeile für einen Anfänger. Hab Sie für mich mal etwas übersichtlicher dargestellt.
useradd -M kein Homeverzeichnis erstellen -N keine Gruppe mit Nutzernamen aber fügt -g Gruppe hinzu -g scanner Name der Gruppe des Nutzers -d /var/lib/scanner/HP_Office_Jet_8620_Pro Heimatverzeichnis der Nutzers -s /usr/sbin/nologin Standardshell (kann sich nicht anmelden) /HP_Office_Jet_8620_Pro Benutzername
Korrekt so. Ja klar, in der Kommandozeile muss halt alles schon in eine Zeile. Darunter leidet manchmal die Übersichtlichkeit etwas.
Mit –M sorgst du dafür das kein Homeverzeichnis erzeugt wird, mit –d sagst du dann das doch ein Homeverzeichnis erzeugt werden soll, ziemlich verwirrend für mich als Einsteiger
Stimmt auch nicht ganz. Mit -M erreicht man in der Tat, dass kein home-Verzeichnis in /home angelegt wird. Mit -d gibt man stattdessen ein anderes, bereits existierendes an.
mit –N sagst du das keine Gruppe die genauso wie der Nutzername heißt erstellt werden soll, stattdessen fügst du den neuen Nutzer der Gruppe hinzu die bei –g (das ist dann die Gruppe scanner) angegeben ist. Bedeutet das ohne die Option –N würde der neue Nutzer zum einen der Gruppe scanner und zum anderen der Gruppe die genauso wie der Nutzer heißt hinzugefügt werden?
Korrekt.
Laut MAN-Page kann ich mit –s ja die Standard-Shell festlegen. Das heißt wenn der Nutzer keine Möglichkeit haben soll sich per Shell anzumelden muss ich dieses /usr/sbin/nologin angeben oder?
Ja, das ist der übliche Eintrag für nicht-interaktive User.
Warum verwendest du beim Benutzernamen „/HP_Office_Jet_8620_Pro Benutzername“ und nicht „HP_Office_Jet_8620_Pro Benutzername“ ohne den führenden „/“?
Oh. Gut beobachtet. Das soll uns Jörg bitte selbst erklären. Ich vermute auch, dass das ein Tippfehler ist.
Wenn ich diese Zeile fertig vor mir sehen ist sie „relativ“ intuitiv. Wie in Gottes Namen schaffst du es sowas einfach so runter zu tippen. Reine Erfahrung? Bei den zig Optionen vergisst man doch fast immer die Hälfte?
Wenn ich mir nicht sicher bin, rufe ich das Kommande meist erstmal nur mit dem Schalter --help auf. Fast alle Kommandozeilentools geben dann eine kurze Zusammenfassung der Syntax, der verfügbaren Switches und ihrer Bedeutung aus. Oft ist es tatsächlich so, dass man sich diffus erinnert, "Mann, da war irgendwas, wie ging das noch?", und dann genügt die Kurzreferenz.
chown root:scanner /var/lib/scanner
Wenn ich das richtig verstanden haben wird wir auf einen Schlag sowohl der Benutzer als auch die Gruppe des Verzeichnisses /var/lib/scanner geändert. Konkrete bedeutet das das der neue Besitzer des Verzeichnisses /var/lib/scanner nun root ist und das die neue Gruppe des Verzeichnisse /var/lib/scanner nun scanner ist. Hab ich das so richtig verstanden?
Ja.
chmod 750 /var/lib/scanner
Der Besitzer der Verzeichnisses darf alles (repräsentiert durch die 7), die Gruppe des Verzeichnisses (scanner) darf lesen und ausführen (repräsentiert durch die 5), der Rest darf nichts (repräsentiert durch die 0). Habe ich das so richtig erklärt?
Ja.
chown HP_Office_Jet_8620_Pro:scanner /var/lib/scanner/HP_Office_Jet_8620_Pro
Hier verstehe ich nicht was diese Zeile soll. Mit „chown root:scanner /var/lib/scanner“ wurden doch Bereits die Nutzer und die Gruppe des übergeordneten Verzeichnisses geändert. Warum dann nochmal für das Verzeichnis darunter und dann och mit anderen Besitzern und Gruppen ändern
Das übergeordnete Verzeichnis /var/lib/scanner wird dem root-Benutzer "geschenkt", da es in diesem Beispiel als Container für mehrere denkbare Scanner herhalten soll. Der Scanner-Nutzer selbst soll aber nur Rechte an "seinem" eigenen Verzeichnis haben.
chmod 770 /var/lib/scanner/HP_Office_Jet_8620_Pro
Du Schreibst „dem Scanner UND der Gruppe scanner“, was mit der Gruppe scanner gemeint ist kann ich nachvollziehen, diese haben wir ja oben angelegt, was du mit „dem Scanner“ meinst weiß ich allerdings nicht. Eine Benutzer, das Gerät selbst oder, oder, oder?
Der individuelle Benutzer HP_Office_Jet_8620_Pro, den wir im ersten Schritt mit useradd angelegt haben.
Angenommen ich habe das Verzeichnis über Samba so freigegeben wie von Dir beschrieben, hätte ich dann nicht vorher den Samba-Server auf dem PC installieren müssen?
Selbstverständlich. Ich dachte, das hätten wir schon geklärt.
Angenommen das neue Verzeichnis existiert und ist korrekt per Samba freigegeben. Nun stehe ich vor dem Drucker und möchte in diese Verzeichnis scannen. Der Drucker entdeckt das freigegebene Verzeichnis doch nicht von alleine. In der Drucker Doku finde ich dazu auch nichts, die bezieht sich nur auf Windows.
Das macht nichts. Denn "von außen", also von der Netzwerkseite her, sieht ein Samba-Server genauso aus wie ein Windows-PC mit Verzeichnisfreigaben. Das ist Absicht, Samba tut quasi so, als wäre er ein Windows-Server. Wenn du am Drucker/Scanner stehst, kannst du also tatsächlich so tun, als wäre der Rechner, auf dem das gescannte Dokument landen soll, ein Windows-PC.
So long,
Martin