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, adduserstattdessen Ubuntu (und Debian sowie andere Debian-basierte Systeme) zu verwenden. Möglicherweise möchten Sie den Benutzer nur mit userdeloder entfernen deluserund mit neu erstellen adduser. Andernfalls...
Reparieren des Heimatverzeichnisses
Wenn Sie das Benutzerkonto behalten und das Problem beheben möchten, müssen Sie Folgendes beachten:
- Der Name des Basisverzeichnisses, für das das Benutzerkonto tatsächlich konfiguriert ist
- Der Name des Verzeichnisses, das Sie tatsächlich erstellt haben
Diese müssen genau gleich sein. Die Fehlermeldung, die Sie erhalten, su -l pennerbesagt, 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 passwdund man grepfür weitere Informationen):
grep penner /etc/passwd
Sie sollten eine Zeile wie diese sehen:
penner:x:1000:1000:Eliah Kagan,,,:/home/penner:/bin/bash
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/pennererstellen, da viele Programme davon ausgehen, dass alle privaten rootVerzeichnisse von Nichtbenutzern identisch sind ./home/username
Sie können das Ausgangsverzeichnis in ändern penner, /home/pennerindem Sie diesen Befehl ausführen:
sudo usermod -d /home/penner penner
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:
ls -ld /home/penner
Sie sollten etwas sehen, das so aussieht (obwohl Datum und Uhrzeit unterschiedlich sein werden):
drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
Wenn Sie stattdessen drwxr-xr-xetwas haben, das -eher mit als beginnt d, 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 penneretwas anderes haben, besitzt der Benutzer sein Basisverzeichnis nicht. Machen Sie ihn zu seinem Eigentümer:
sudo chown penner /home/penner
Wenn drwxr-xr-xin den nächsten drei Zeichen nach dem dkeine Bindestriche angezeigt werden , hat der Benutzer dort keinen vollständigen Zugriff. Beheben Sie das wie folgt:
sudo chmod u+rwx /home/penner
( In pennerder 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 gibt ws statt -s in den letzten sechs Buchstaben, dann neben Benutzer pennerSchreibzugriff haben , kann pennerHome - 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:
sudo chmod -R go-w /home/penner
Andere Standardeinstellungen
Es gibt einige andere Änderungen, die Sie möglicherweise vornehmen möchten. Standardmäßig in Ubuntu (wenn Sie ein Benutzerkonto mit adduseroder 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 rund xin drwxr-xr-xlaufen:
sudo chmod 755 /home/penner
( In pennerder 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 pennerin drwxr-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 groupsWeitere Informationen finden Sie unter.) Folgendes sollte angezeigt werden:
penner : penner adm dialout cdrom plugdev lpadmin sambashare
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öchten penner, dass es so ist, stellen Sie sicher, dass es so ist. Wenn nicht, ändern Sie es:
sudo usermod -g penner penner
Wenn Sie eine Fehlermeldung erhalten, dass die Gruppe pennernicht existiert, müssen Sie sie mit diesem Befehl erstellen (und dann den obigen Befehl erneut ausführen):
sudo addgroup penner
- Siehe
man addgroupfür weitere Informationen. (Wenn Sie möchten, können Sie alternativ den groupaddBefehl 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 meine penner : penner adm dialout cdrom plugdev lpadmin sambashare. Für Desktop - Anwender, die adm, dialout, cdrom, plugdev, lpadmin, und sambasharebieten Fähigkeiten , die Desktop - Benutzer sollten in der Regel haben. Sofern Sie keinen Grund haben, etwas anderes zu tun, pennersollten Sie sich daher in diesen Gruppen befinden. Dies sind jedoch keine primären Gruppen, weshalb sie unterschiedlich festgelegt sind. Angenommen, Sie pennerbefinden sich in keiner dieser Gruppen und möchten pennersich in allen befinden, führen Sie den folgenden Befehl aus:
sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare penner
Falls Sie interessiert sind, haben alle diese Gruppen folgende Bedeutung:
(Quelle: Privilegien , im Ubuntu-Dokumentations-Wiki.)
Den Benutzer zum Administrator machen
Wenn Sie kein pennerAdministrator sein möchten , müssen Sie wahrscheinlich nichts weiter tun. Sie können überprüfen, ob pennerein Administrator mit groups penner. Wenn weder adminnoch sudoaufgeführt ist, dann pennerist kein Administrator.
Wenn Sie pennerAdministrator werden möchten , fügen Sie pennereine der vorhandenen Gruppen hinzu. (Sie können auch pennerzu 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 Sie pennereinen Administrator eingerichtet:
sudo usermod -a -G admin penner
sudo usermod -a -G sudo penner
- Der Grund, warum es zwei Gruppen gibt, ist, dass sich Administratoren vor Ubuntu 12.04 LTS in der
adminGruppe befanden . Ab Ubuntu 12.04 LTS sind Administratoren in der sudoGruppe. 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 Versionen sudound admin. Wenn eine dieser Gruppen keine administrativen Fähigkeiten besitzt, ist sie einfach nicht vorhanden. Das Ausführen der beiden oben genannten Befehle (getrennt, nicht als sudo usermod -a -G admin,sudo penner) ist im Allgemeinen eine sichere und effektive Möglichkeit, pennereinen Administrator zu erstellen .