Ändern Sie den Benutzer, um das Basisverzeichnis zu entfernen
340
eponymous
Der passwd-Dateieintrag für einen Benutzer, der einem Dienst (Squeezelite) zugeordnet ist, gibt an, dass der Benutzer über ein Basisverzeichnis (/ home / squeezelite) verfügt. Dieser Ordner existiert nicht (und ich vermute, dass er es nie getan hat).
Der Dienst läuft einwandfrei. Daher neige ich dazu, die passwd-Datei zu ändern, um anzuzeigen, dass der Benutzer kein Basisverzeichnis hat. Gibt es eine Möglichkeit, dies mit usermod zu erledigen, oder sollte ich die passwd-Datei direkt bearbeiten? Wenn ich die passwd-Datei bearbeiten möchte, welche Änderung sollte ich vornehmen? Ersetzen /home/squeezelitedurch/
2 Antworten auf die Frage
1
RalfFriedl
Von man usermod
-d, --home HOME_DIR
Das neue Login-Verzeichnis des Benutzers.
Wenn das alte Zuhause keine Rolle spielte, spielte das neue Zuhause wahrscheinlich auch keine Rolle, aber Sie könnten so etwas verwenden, /var/nonexistentum anzuzeigen, dass das Heimatverzeichnis nicht benötigt wird oder vorhanden sein sollte.
0
Fanatique
Sie können entweder die Antwort von @ RalfFriedl verwenden und die -dOption verwenden, die meistens /nonexistentfür diesen Fall verwendet wird, oder Sie können die /etc/passwdDatei bearbeiten :
Einfach löschen /home/squeezelite: Von so etwas wie:
squeezelite:x:1001:1001::/home/squeezelite:
Sie können es entweder machen:
squeezelite:x:1001:1001:::
oder
squeezelite:x:1001:1001::/nonexistent:
Sie können auch das Stammverzeichnis /für das Basisverzeichnis verwenden. Mein oberster Vorschlag ist jedoch, einfach /home/squeezeliteaus der passwdDatei zu löschen . Dann hat der Benutzer kein Basisverzeichnis.
Wenn Sie `` / nonexistent`` angeben und `` / var / nonexistent`` die `` shadow.service``-Bedingung erfüllen, die mit `` `user 'squeezelite' 'fehlschlägt: Das Verzeichnis' / home / squeezelite 'existiert nicht``.
eponymous vor 5 Jahren
0
@ anonym nicht, das geht nicht. Es wird immer noch sagen, dass das Verzeichnis nicht existiert. Deshalb schlage ich das erste Beispiel vor, indem ich es als "Squeezelite: x: 1001: 1001 :::` "mache
Fanatique vor 5 Jahren
0
Interessanterweise wandte sich `` shadow.service`` dagegen aus, das Feld leer zu lassen, also gab ich `` / `` ein, was es akzeptierte. Vielen Dank.
eponymous vor 5 Jahren
0
Ich denke, Arch akzeptiert das dann nicht. Für mich unter Debian 9 hat es funktioniert.
Fanatique vor 5 Jahren
0