Wenn ich versuche, ein Konto auf mein neu erstelltes Konto umzustellen, wird ein schwarzer Bildschirm angezeigt, und ich kehre nach Eingabe des richtigen Kennworts zum Hauptanmeldebildschirm zurück.
Beim Einloggen in mein bisheriges Konto erhalte ich:
"System Program Problem Detected"
Details:
Executable path /usr/bin/Xorg
Package: xserver-xorg-core 2:1.11.4-0ubuntu10.1
Details: Crash
... (tons more, but no way to copy paste or save)
Wenn ich versuche, su
su -l penner
Ich bekomme:
No directory, logging in with HOME=/
Ich habe das Home-Verzeichnis manuell erstellt und dieser Fehler verschwindet, aber immer noch kein Glück mit dem Login. Scheint, dass bei der Benutzererstellung etwas schief gelaufen ist? Wie kann ich das korrigieren?
useradd
switch-user
Penner
quelle
quelle
Antworten:
Wenn Sie das Benutzerkonto mit erstellt haben
useradd
, müssen Sie alles manuell einrichten. Aus diesem Grund wird beim Erstellen von Benutzerkonten über die Befehlszeile empfohlen,adduser
stattdessen Ubuntu (und Debian sowie andere Debian-basierte Systeme) zu verwenden. Möglicherweise möchten Sie den Benutzer nur mituserdel
oder entfernendeluser
und mit neu erstellenadduser
. Andernfalls...Reparieren des Heimatverzeichnisses
Wenn Sie das Benutzerkonto behalten und das Problem beheben möchten, müssen Sie Folgendes beachten:
Diese müssen genau gleich sein. Die Fehlermeldung, die Sie erhalten,
su -l penner
besagt, dass sie nicht identisch sind.Führen Sie den folgenden Befehl aus, um das Basisverzeichnis zu überprüfen, für das das Benutzerkonto tatsächlich konfiguriert ist (siehe
man 5 passwd
undman grep
für weitere Informationen):Sie sollten eine Zeile wie diese sehen:
Das heißt, das
:
sechstgetrennte Feld (nach dem fünften:
) enthält das Ausgangsverzeichnis . Wenn nicht/home/penner
, sollte es sein. Wenn das von Ihnen für den Benutzer erstellte Verzeichnis nicht vorhanden ist/home/penner
, sollte dies auch der Fall sein. Wenn die beiden Verzeichnisse identisch sind, aber keines der beiden/home/penner
, dann könnte das theoretisch funktionieren, aber Sie sollten sie beide/home/penner
erstellen, da viele Programme davon ausgehen, dass alle privatenroot
Verzeichnisse von Nichtbenutzern identisch sind ./home/username
Sie können das Ausgangsverzeichnis in ändern
penner
,/home/penner
indem Sie diesen Befehl ausführen:man usermod
für weitere Informationen.Sicherstellen, dass es sich um ein Verzeichnis handelt und der Benutzer Zugriff hat
Wenn die Namen beide sind (oder nur einmal)
/home/penner
, sollten Sie auch sicherstellen, dass der Benutzer Zugriff auf sein eigenes Basisverzeichnis hat. Lauf:Sie sollten etwas sehen, das so aussieht (obwohl Datum und Uhrzeit unterschiedlich sein werden):
Wenn Sie stattdessen
drwxr-xr-x
etwas haben, das-
eher mit als beginntd
, haben Sie eher eine Datei als ein Verzeichnis erstellt. Löschen Sie die Datei und legen Sie stattdessen dort ein Verzeichnis an.Wenn Sie anstelle des ersten
penner
etwas anderes haben, besitzt der Benutzer sein Basisverzeichnis nicht. Machen Sie ihn zu seinem Eigentümer:man chown
für weitere Informationen.Wenn
drwxr-xr-x
in den nächsten drei Zeichen nach demd
keine Bindestriche angezeigt werden , hat der Benutzer dort keinen vollständigen Zugriff. Beheben Sie das wie folgt:man chmod
für weitere Informationen.( In
penner
der Lage , diesen Befehl ausgeführt wird, wenn sie ihr Heimatverzeichnis besitzen, so dass , wenn Sie möchten, können Sie dies ausgeführt werden:sudo -u penner u+rwx /home/penner
)Sicherstellen, dass andere Benutzer keinen umfassenden Schreibzugriff haben
Wenn statt
drwxr-xr-x
, es gibtw
s statt-
s in den letzten sechs Buchstaben, dann neben Benutzerpenner
Schreibzugriff haben , kannpenner
Home - Verzeichnis ist. Dies ist gefährlich (es sei denn, Sie wissen wirklich , was Sie tun und möchten, dass es so ist und Sie die Dinge so eingerichtet haben, dass es kein Problem darstellt). Etwas reparieren:Andere Standardeinstellungen
Es gibt einige andere Änderungen, die Sie möglicherweise vornehmen möchten. Standardmäßig in Ubuntu (wenn Sie ein Benutzerkonto mit
adduser
oder mit einem grafischen Tool erstellen , was Sie nicht getan haben):Basisverzeichnisse haben Lese- und Schreibberechtigungen für alle Benutzer, nicht nur für den Benutzer, dem sie gehören. Benutzer können dies entweder für das gesamte Basisverzeichnis oder für alle darin enthaltenen Dateien und Unterverzeichnisse ändern. Aber wenn Sie diesen Standard wollen, und Sie haben nicht die zweite und die dritte
r
undx
indrwxr-xr-x
laufen:( In
penner
der Lage , diesen Befehl ausgeführt wird, wenn sie ihr Heimatverzeichnis besitzen, so dass , wenn Sie möchten, können Sie dies ausgeführt werden:sudo -u penner chmod 755 /home/penner
)Jeder Benutzer hat eine eigene Gruppe mit demselben Namen wie der Benutzer. Dies ist die primäre Gruppe des Benutzers. Ihr Home-Verzeichnis gehört dieser Gruppe. Das ist die Bedeutung der Sekunde
penner
indrwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
. Es ist in Ordnung, mit dieser Standardeinstellung zu brechen, wenn Sie wissen, was Sie tun . Aber wenn es nicht Ihre Absicht ist, die Dinge anders zu machen, sollten Sie sich vergewissernpenner
dies so eingerichtet ist, da einige mögliche primäre Gruppenidentitäten für einen Benutzer oder Gruppenbesitzer im Basisverzeichnis des Benutzers zu Sicherheitsproblemen führen können.Rennen
groups penner
. (man groups
Weitere Informationen finden Sie unter.) Folgendes sollte angezeigt werden:Mach dir keine Sorgen, wenn es nicht ganz so ist. Darauf komme ich gleich zurück. Schauen Sie sich stattdessen das erste Wort nach dem an
:
. Das ist der Name der primären Gruppe des Benutzers. Angenommen, Sie möchtenpenner
, dass es so ist, stellen Sie sicher, dass es so ist. Wenn nicht, ändern Sie es:Wenn Sie eine Fehlermeldung erhalten, dass die Gruppe
penner
nicht existiert, müssen Sie sie mit diesem Befehl erstellen (und dann den obigen Befehl erneut ausführen):man addgroup
für weitere Informationen. (Wenn Sie möchten, können Sie alternativ dengroupadd
Befehl zum Erstellen von Gruppen verwenden.)Wenn Sie gelaufen sind
groups penner
, haben Sie möglicherweise eine Liste von Gruppen erhalten, die erheblich kürzer ist als meinepenner : penner adm dialout cdrom plugdev lpadmin sambashare
. Für Desktop - Anwender, dieadm
,dialout
,cdrom
,plugdev
,lpadmin
, undsambashare
bieten Fähigkeiten , die Desktop - Benutzer sollten in der Regel haben. Sofern Sie keinen Grund haben, etwas anderes zu tun,penner
sollten Sie sich daher in diesen Gruppen befinden. Dies sind jedoch keine primären Gruppen, weshalb sie unterschiedlich festgelegt sind. Angenommen, Siepenner
befinden sich in keiner dieser Gruppen und möchtenpenner
sich in allen befinden, führen Sie den folgenden Befehl aus:Falls Sie interessiert sind, haben alle diese Gruppen folgende Bedeutung:
adm
Benutzer können die meisten Systemprotokolldateien in anzeigen/var/log
.dialout
Benutzer können verwenden DFÜ-Modems verwenden.plugdev
Benutzer können mounten und verwenden externe Speichergeräte .lpadmin
Benutzer können Drucker einrichten und verwalten .sambashare
Benutzer können Dateien (über Samba ) über ein Netzwerk mit anderen Computern teilen .(Quelle: Privilegien , im Ubuntu-Dokumentations-Wiki.)
Den Benutzer zum Administrator machen
Wenn Sie kein
penner
Administrator sein möchten , müssen Sie wahrscheinlich nichts weiter tun. Sie können überprüfen, obpenner
ein Administrator mitgroups penner
. Wenn wederadmin
nochsudo
aufgeführt ist, dannpenner
ist kein Administrator.Wenn Sie
penner
Administrator werden möchten , fügen Siepenner
eine der vorhandenen Gruppen hinzu. (Sie können auchpenner
zu beiden hinzufügen , wenn beide vorhanden sind.) Sie können dies erreichen, indem Sie diese beiden Befehle separat ausführen. Wenn einer der beiden erfolgreich ist, haben Siepenner
einen Administrator eingerichtet:admin
Gruppe befanden . Ab Ubuntu 12.04 LTS sind Administratoren in dersudo
Gruppe. Wenn Ihr 12.04 LTS-System jedoch von einer früheren Version aktualisiert wurde (und dies sollte für spätere Ubuntu-Versionen gelten, z. B. 12.10, die von Ubuntu 11.10 oder früher aktualisiert wurden), sind Administratoren aus Gründen der Abwärtskompatibilität Mitglieder beider Versionensudo
undadmin
. Wenn eine dieser Gruppen keine administrativen Fähigkeiten besitzt, ist sie einfach nicht vorhanden. Das Ausführen der beiden oben genannten Befehle (getrennt, nicht alssudo usermod -a -G admin,sudo penner
) ist im Allgemeinen eine sichere und effektive Möglichkeit,penner
einen Administrator zu erstellen .quelle
sudo chmod u+a /home/penner
gibt einen Fehler auf Ubuntu 16.04 (Xenial). Istsudo chmod u+rw /home/penner
ein richtiger Ersatz?useradd
? Halten Sie zufälligen gebrochenen Codeuseradd
unter Ubuntu Probleme verursacht, die auf anderen Systemen nicht auftreten. Auf meinem 16.04-System/etc/default/useradd
hat (als einzige unkommentierte Zeile)SHELL=/bin/sh
und useradd (8) scheint zu sagen, dass derSHELL
Wert dort verwendet wird, wenn das-s
/--shell
flag nicht angegeben ist, aber auf meinem 16.04-System passiert das nicht. Ich habe zu Unrecht so voreilig gesagt, dass Ubuntuuseradd
nicht kaputt ist. Jetzt bin ich mir nicht so sicher. Vielleicht gibt es einen guten Grund für diesen Unterschied zwischen Fedora und Debian (und Ubuntu) ... aber ich habe meinen Kommentar gelöscht, um die Leute nicht irrezuführen.Dies geschieht meistens, wenn Sie den Benutzer erstellen, ohne ein Basisverzeichnis für den Benutzer zu erstellen. Dies kann durch Verwendung dieses Befehls beim Erstellen eines Benutzers behoben werden
Mit dem Flag -m wird das Basisverzeichnis für den Benutzer erstellt. Prüfen Sie nach dem Anlegen des Benutzers, ob das Home-Verzeichnis für diesen Benutzer existiert
Wenn Sie sehen, dass der Benutzername dort aufgeführt ist, müssen Sie diesem Benutzer als Letztes ein Kennwort zuweisen
Sie können sich jetzt mit diesem Benutzernamen und Passwort anmelden
quelle
Strg + Alt + F1 und dort einloggen und ausführen
sudo chown -R $ USER: $ USER $ HOME
Drücken Sie dann Strg + Alt + F7 und versuchen Sie sich anzumelden
Es wird klappen
quelle