Wie kann ich einen neuen Benutzer mit einem bereits vorhandenen Home-Verzeichnis erstellen?

Wie kann ich einen neuen Benutzer mit einem bereits vorhandenen Home-Verzeichnis erstellen?

Nehmen wir an, ich habe einen Benutzer namensPanoramenund sein Home-Verzeichnis befindet sich unter /home/panos. Dann erstelle ich einen weiteren Benutzer namensTom:

adduser Tom

Es erstellt einen BenutzerTomWer hat das Home-Verzeichnis:/home/Tom

Die Frage ist: Was ist, wenn ich einen neuen Benutzer erstellen und ihm als Home-Verzeichnis das Home-Verzeichnis eines anderen Benutzers geben möchte? Erstellen wir zum Beispiel den BenutzerJerryund übergeben Sie ihm als sein Home-Verzeichnis das Home-Verzeichnis des BenutzersPanoramen:

adduser -d /home/panos Jerry

aber es gibt einen Fehler, der besagt:

adduser: warning: the home directory already exists.
Not copying any file from skel directory into it.

/etc/passwdWenn Sie sich jedoch die Datei ansehen :

tail -n 3 /etc/passwd
anthony:x:501:501::/home/anthony:/bin/bash
panos:x:502:502::/home/panos:/bin/bash
Jerry:x:503:503::/home/panos:/bin/bash

es scheint, als hätte es funktioniert. Aber als ich versuchte, mich als Jerry anzumelden:

[root@LinuxAcademy ~]# su Jerry
bash-4.1$ bash: /home/panos/.bashrc: Permission denied
bash-4.1$ 

es verhindert, dass ich mich als Jerry anmelde und es ändert auch meine Eingabeaufforderung (diePS1).

Also, wie kann ich das machen? Ist das möglich?

Antwort1

Sie haben einen Benutzer mit einem bereits vorhandenen Home-Verzeichnis erstellt.

adduser: Warnung: Das Home-Verzeichnis existiert bereits. Es
werden keine Dateien aus dem Skel-Verzeichnis dorthin kopiert.

Dies ist kein Fehler, sondern eine Warnung. Normalerweise liegt der Grund, warum kein Home-Verzeichnis erstellt werden soll, darin, dass ein Benutzer kein Home-Verzeichnis haben sollte. Hier existiert es, was höchstwahrscheinlich auf einen Fehler des Systemadministrators zurückzuführen ist (z. B. ein fehlerhaftes Kopieren und Einfügen oder ein fehlerhaftes Skript). Da Sie wirklich ein vorhandenes Home-Verzeichnis verwenden wollten, ignorieren Sie diese Warnung.

[root@LinuxAcademy ~]# su Jerry
bash-4.1$ bash: /home/panos/.bashrc: Permission denied
bash-4.1$ 

Sie haben sich als Jerry angemeldet. Bash 4.1 läuft als Jerry. Jerry hat keine Berechtigung, seine zu lesen ~/.bashrc, entweder weil die Datei .bashrcnur für panos(und möglicherweise eine Gruppe, zu der Jerry nicht gehört) lesbar ist oder weil Jerry /home/panosselbst nicht auf das Verzeichnis zugreifen kann ( xBerechtigung). Bash teilt Ihnen also mit, dass es seine Startdatei nicht lesen kann, und zeigt seine Standardeingabeaufforderung an.

Es ist sehr ungewöhnlich, dass mehrere Benutzer dasselbe Home-Verzeichnis haben (ausgenommen Systemkonten, deren Home-Verzeichnis keine Rolle spielt). Was Sie hinsichtlich der Berechtigungen tun sollten, hängt davon ab, was Sie damit erreichen möchten. Wahrscheinlich möchten Sie allen diesen Benutzern zumindest erlauben, ihr Home-Verzeichnis zu lesen.

Antwort2

Na klar. Es versucht zu lesen und auszuführen /home/panos/.bashrc. Diese Datei gehört dem Benutzer panosund ist vermutlich auf -rwx------oder so ähnlich eingestellt. Es Jerryversucht also, sie zu lesen, kann es aber nicht. Permission denied, genau wie es heißt.

Es ist möglich, dass JerrytatsächlichIstangemeldet. Versuchen Sie es whoami.

Legen Sie sie also in dieselbe Gruppe und machen Sie sie zu „group-rx“ oder „world-rx“ oder etwas in der Art. Und machen Sie dasselbe für das Home-Verzeichnis (ausführbar bedeutet für ein Verzeichnis durchsuchbar).

Antwort3

$ mv /home/jerry /home/xxx
$ userdel -r jerry
$ rm -rf /var/spool/mail/jerry
$ useradd jerry
$ mv /home/xxx /home/jerry

Jerry Home existiert bereits, daher werden Sie aufgefordert,

bash-4.1$ bash 

Um dies zu vermeiden, wechseln Sie zum vorhandenen Home-Verzeichnis und erstellen Sie den Benutzer erneut

verwandte Informationen