• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Anmeldung hängt in Schleife

Status
Für weitere Antworten geschlossen.
Moin,

nachdem ich längere Zeit die Finger von Linux gelassen hatte (und hier im Forum nicht aktiv war), habe ich nunmehr eine LPIC 1 Schulung belegt und für Übungszwecke mehrere VMs aufgesetzt (Debian, Opensuse 13.1 und 42.1).

Nun habe ich neue Benutzer angelegt (useradd, passwd).

In Opensuse 42.1 lande ich nunmehr bei der Anmeldung mit dem neuen User schlicht in einer Schleife: das Passwort wird nicht beanstandet, aber die Anmeldung gelingt auch nicht - es erscheint immer wieder das Login-Menü. In 13.1 hat dieselbe Vorgehensweise zum Erfolg geführt...

Ein Bug oder hab ich was falsch gemacht?

Greetz

kh

P.S. Desktop ist KDE in Standardkonfiguration
 
Warum legst Du den Nutzer nicht mit yast an? Vermutlich wurde kein "Home-Verzeichnis" für diesen Nutzer erstellt, daher kann sich der neue Benutzer dann auch nicht grafisch einloggen....

CU Freddie
 
OP
K

karlheinz01

Newbie
@ Freddie62

Aufgabenstellung war halt, den neuen Benutzer in der bash anzulegen. Ich hab jetzt das Heimatverzeichnis für den neuen Nutzer händisch angelegt und das Schleifenproblem ist beseitigt, dafür gibt's aber nach Anmeldung keinen KDE, nur nen schwarzen Bildschirm (vermutlich weil in ~ der Ordner .kde4 nebst Inhalt fehlt). Runterfahren ist dann nur als root mit "shutdown now" möglich.

Bleibt die Frage, warum das, was unter 13.1 reibungslos geklappt hat, in 42.1 nicht funzt... ("type" gibt aus, das "useradd" und "passwd" keine Shell builtins sind, also sind die beiden ext. Kommandos möglicherweise nicht 1:1 übernommen worden...) :???:
 

josef-wien

Ultimate Guru
karlheinz01 schrieb:
vermutlich weil in ~ der Ordner .kde4 nebst Inhalt fehlt
Die Vermutung ist falsch.

karlheinz01 schrieb:
sind die beiden ext. Kommandos möglicherweise nicht 1:1 übernommen worden
Auch das trifft mit an Sicherheit grenzender Wahrscheinlichkeit nicht zu. Von useradd verwendete Default-Werte werden unter anderem durch /etc/login.defs und /etc/skel/ festgelegt.

Verwendest Du kdm oder sddm als display manager? Funktioniert ein anderer window manager wie z. B. IceWM? Welche Grafikkarte werkt?
Code:
lspci -nnk | egrep -iA3 'vga|3d|display'
 
OP
K

karlheinz01

Newbie
@ josef-wien:

Die angegebenen bash-Befehle helfen nur begrenzt, da ich nix rauskopieren kann (System läuft in VM).

Hier ein Auszug aus /etc/sysconfig/displaymanager: DISPLAYMANAGER="sddm"

---

Graka: VGA compatible Controller [0300]: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter [80ee:beef]

Beides händisch abgetippt.

Beim ersten Versuch, IceWM auszuwählen, hängte sich der Login-Screen auf. Beim zweiten Mal kam dann wieder die altbekannte Schleife...

Schönes Wochenende ersma, Montag geht's weiter... (Schulung beendet, die Dozenten wollen nach Hause) :D
 
OP
K

karlheinz01

Newbie
josef-wien schrieb:
Funktioniert es, wenn Du auf kdm umstellst?


Allein auf kdm umzustellen, noch nicht, aber zumindest erhielt dann ich die Fehlermeldung, das Heimatverzeichnis des neu angelegten Nutzers sei schreibgeschützt (die tatsächliche Fehlermeldung war natürlich etwas komplexer). Ich habe daraufhin den Schreibschutz mit "chmod 0777 /home/Benutzername" entfernt und der Laden läuft.

Greetz

kh

... und ich möchte doch mal annehmen, dass das "useradd"-Kommando in 42.1 fehlerhaft arbeitet...
 
Erstens: 777 für ein home-Verzeichnis ist keine gute Idee. Schau dir mal die anderen an. Wenn nicht vorhanden, leg mal per yast einen neuen Benutzer an.
Zweitens: Das useradd "kaputt" ist, halte ich für sehr unwahrscheinlich, da es dann auch mit yast nicht gehen würde. Vermutlich war dein Befehl fehlerhaft zusammen gesetzt. Poste doch mal genau (guck in der .bash_history und kopiere deinen Aufruf) den von dir verwendeten Befehl. Dann können wir mal drauf gucken und dir sagen wo der Fehler liegt. Damit lernst Du dann evtl. noch etwas. Für die Prüfung langt es nicht die Aufgabe "irgendwie" zu lösen.

Und als letzte Anmerkung: Hast Du jemanden dem das Zertifikat wichtig ist? Fortbildung oder Einstellungskriterium oder etwas in der Art? Wenn nicht, kannst Du das Geld für die Prüfung sparen. Damit kannst Du dir normalerweise dein Wohnzimmer tapezieren, ansonsten kräht da kein Hahn nach.
 
A

Anonymous

Gast
Geier0815 schrieb:
Das useradd "kaputt" ist, halte ich für sehr unwahrscheinlich, da es dann auch mit yast nicht gehen würde.
Ich vermute, dass Suse Linux Enterprise Desktop (SLED), auf dem openSUSE Leap basiert, mit useradd einfach sehr restriktiv umgeht.
Da hilft vielleicht ein Blick in die Datei /etc/default/useradd und evtl. /etc/login.defs sowie man useradd.
 
OP
K

karlheinz01

Newbie
Geier0815 schrieb:
Vermutlich war dein Befehl fehlerhaft zusammen gesetzt.

Wie ich weiter oben schrieb, habe ich auf exakt dieselbe Weise einen neuen Nutzer in Opensuse 13.1 angelegt und da hat alles geklappt. Ich bin jetzt schon wieder daheim und kann es daher nicht überprüfen, aber wenn useradd ohne -d keine ~-Ordner mehr anlegt, wäre das die Erklärung; ich hab den Ordner dann händisch als root angelegt, damit hatte "Neuer Benutzer" keine Schreibberechtigung. Das "0777" als Parameter für chmod nicht das Optimum war, ist klar; sollte nur erstmal aufzeigen, worin das Problem bestand ("Diagnosis ex juvantibus", ;)).

Geier0815 schrieb:
Und als letzte Anmerkung: Hast Du jemanden dem das Zertifikat wichtig ist? Wenn nicht, kannst Du das Geld für die Prüfung sparen.

Wo steht denn, dass ich die Prüfung ablege will? Ich schrieb nur, dass ich einen LPIC1-Kurs belegt hab... Hier unterrichtet einer mit 15 Jahren Erfahrung als Admin; da lern ich ne ganze Menge.
 

Sauerland

Ultimate Guru
ich hab den Ordner dann händisch als root angelegt, damit hatte "Neuer Benutzer" keine Schreibberechtigung.
Darüber wunderst du dich?

Ein
Code:
 chown -R Username:users /home/Username
als root hätte genügt, wobei natürlich Username den Gegebenheiten anzupassen wäre.

Statt Konsole könnte man für so etwas sogar einen Dateimanager (natürlich als Systemadministrator) benutzen.
 
A

Anonymous

Gast
karlheinz01 schrieb:
wenn useradd ohne -d keine ~-Ordner mehr anlegt, wäre das die Erklärung;
Bei useradd mit der Option -d, --home-dir muss das /home/HOME_DIR-Verzeichnis bereits vorhanden sein.
Um zusammen mit dem Benutzer ein /home/HOME_DIR des Benutzernamens anzulegen, ist -m, --create-home zu verwenden.

Siehe: man useradd
oder: useradd -h, --help
___________________

Unter openSUSE Leap 42.2 lauten die Zugriffsrechte eines neuen Benutzerverzeichnisses: user:rwx group:r-x others:r-x
Nix mit Schreibschutz auf /home/HOME_DIR.
 

marce

Guru
Code:
[root@vm-031 tmp]# ls -la /home
total 24
drwxr-xr-x.  6 root      root      4096 Apr 22  2014 .
dr-xr-xr-x. 29 root      root      4096 Nov 24 08:46 ..
drwx------   3 icinga    icinga    4096 Nov 21 14:11 icinga
[root@vm-031 tmp]# useradd -d /home/test test
[root@vm-031 tmp]# ls -la /home
total 28
drwxr-xr-x.  7 root      root      4096 Dec 19 19:20 .
dr-xr-xr-x. 29 root      root      4096 Nov 24 08:46 ..
drwx------   3 icinga    icinga    4096 Nov 21 14:11 icinga
drwx------   2 test      test      4096 Dec 19 19:20 test
[root@vm-031 tmp]#
Na sowas... hat mein useradd wohl seine Doku nicht gelesen? :)

Oder - es hält sich exakt an die Doku, was wiederum bedeuten würde, mal sollte man in die
Code:
/etc/login.defs
reinschauen.
 
A

Anonymous

Gast
openSUSE Leap 42.2:
Code:
linux-s9se:~ # mkdir -m 755 /home/bob
linux-s9se:~ # chgrp users /home/bob/
linux-s9se:~ # useradd -d /home/bob alice
linux-s9se:~ # chown alice /home/bob/
linux-s9se:~ # su - alice
alice@linux-s9se:~> ls -la
insgesamt 8
drwxr-xr-x 2 alice users 4096 19. Dez 20:45 .
drwxr-xr-x 4 root  root  4096 19. Dez 20:45 ..
alice@linux-s9se:~> pwd
/home/bob
alice@linux-s9se:~>
 

marce

Guru
klar. Wenn das Verzeichnis schon da ist wird es nicht angepasst und auch nix aus dem Skeleton reinkopiert.

Steht auch in der Doku.

wenn das Verzeichnis nicht da ist - wird es angelegt. Zumindest, solange in der /etc/login.defs nix anderes drin steht (was aber eigentlich bei jedem System heute üblich ist...)
 
A

Anonymous

Gast
openSUSE Leap 42.2:
man useradd schrieb:
-d, --home-dir HOME_DIR
The new user will be created using HOME_DIR as the value for the user's login
directory. The default is to append the LOGIN name to BASE_DIR and use that as the
login directory name. The directory HOME_DIR does not have to exist but will not be
created if it is missing.
 

marce

Guru
Code:
      -d, --home-dir HOME_DIR
           The new user will be created using HOME_DIR as the value for the
           user's login directory. The default is to append the LOGIN name to
           BASE_DIR and use that as the login directory name.
...

       -m, --create-home
           Erstellt das Home-Verzeichnis des Benutzers, wenn es nicht
           vorhanden ist. Die Dateien und Verzeichnisse im Gerüstverzeichnis,
           das mit der Option -k festgelegt werden kann, werden in das
           Home-Verzeichnis kopiert.

           Wenn diese Option nicht angegeben wird und CREATE_HOME nicht
           aktiviert wurde, wird standardmäßig kein Home-Verzeichnis erstellt.
Code:
[marc@radagast ~]$ grep CREATE /etc/login.defs 
CREATE_HOME	yes
[marc@radagast ~]$
abgesehen von der lustigerweise sehr unvollständigen dt. Übersetzung.... - jta, soviel zum Thema "Standard".
 
A

Anonymous

Gast
openSUSE Leap 42.2:
Code:
grep CREATE -B 6 /etc/login.defs
#
# If useradd(8) should create home directories for users by default (non
# system users only).
# This option is overridden with the -M or -m flags on the useradd(8)
# command-line.
#
CREATE_HOME     no

(Hatte ich auch oben schon erwähnt.)
 
OP
K

karlheinz01

Newbie
Sauerland schrieb:
ich hab den Ordner dann händisch als root angelegt, damit hatte "Neuer Benutzer" keine Schreibberechtigung.
Darüber wunderst du dich?

Vielleicht bin ich zu empfindlich, aber geht es etwas weniger herablassend?

Sauerland schrieb:
Ein
Code:
 chown -R Username:users /home/Username
als root hätte genügt, wobei natürlich Username den Gegebenheiten anzupassen wäre.

Statt Konsole könnte man für so etwas sogar einen Dateimanager (natürlich als Systemadministrator) benutzen.

Bevor ich hier was geschrieben habe, habe ich mir diese https://wiki.ubuntuusers.de/Homeverzeichnis/ Seite sorgfältig durchgelesen; wirf doch mal einen Blick auf den Abschnitt "Rechte korrigieren"...

Anders ausgedrückt: Dein Vorschlag hat nicht funktioniert (falsche Gruppenzugehörigkeit); erst chmod mit 0777 brachte den Erfolg (wie ich jetzt zum 3ten Mal erkläre).
 
Die Anleitung von Ubuntu ist für einen suse-user mit Vorsicht zu genießen. Unter debian, und damit auch Ubuntu, wird für einen User normalerweise eine Gruppe gleichen Namens wie der Benutzername angelegt. Suse hat, zumindest früher, als Standard die Gruppe users. Ebenso unterscheiden/unterschieden sich die Start-IDs für Nicht-System-Nutzer. Und sicherlich unterscheiden sich noch andere Dinge in den Standardeinstellungen der Distributionen. Von daher solltest Du immer die Dokumentation der jeweiligen Distribution lesen. Ich weiß: leichter gesagt als getan weil sie häufig nicht vorhanden ist, unvollständig oder veraltet. Häufig helfen aber dann auch "höhere" Werkzeuge, unter suse zB yast oder unter debian der Befehl adduser.
 
Status
Für weitere Antworten geschlossen.
Oben