Warum wird der Benutzer zu niemandem?

8378
Rosser

Ich habe ein Problem mit dem Linux-Benutzer. Ich benutze einen Befehl, um einen Benutzer hinzuzufügen:

useradd -u 532 -d /data/test01 -g test test01 

aber wenn ich mich als anmelde test01und laufe mkdir x, wird es wie folgt:

niemand testet x

Warum wird der Benutzer nobody? Wie kann ich das beheben?

0
Vielleicht besser bei Ask Ubuntu? 11684 vor 11 Jahren 0
oder Superuser, wenn es nicht Ubuntu ist. [Hinweis an Admin: Diese beiden Kommentare sind älter als die Migration und könnten gelöscht werden] Denys Séguret vor 11 Jahren 0
Könnten Sie die Ausgabe von `grep 532 / etc / passwd` bereitstellen? Huygens vor 11 Jahren 0
test01: x: 532: 528 :: / data / test01: / bin / bash Rosser vor 11 Jahren 0
Wenn Sie `ls -ldn x` verwenden, erhalten Sie` 532 528 x` für den Besitz Ihres Verzeichnisses? Und was ist mit "grep nobody / etc / passwd"? Huygens vor 11 Jahren 0
ja, die Dateieigner-UID ist 99 und nicht 532, aber ich benutze chown test01: test x, es wäre wieder niemand, daher weiß ich nicht, wie ich das beheben soll. Rosser vor 11 Jahren 0
niemand: x: 99: 99: Niemand: /: / sbin / nologin Rosser vor 11 Jahren 0
Was sind die vollständigen Berechtigungen des übergeordneten Verzeichnisses von 'x'? Huygens vor 11 Jahren 0
drwxr-xr-x. 2 niemander test 6 Mar 13 17:04 x Rosser vor 11 Jahren 0
Übrigens, mein Server verwendet nfs, aber ich füge Benutzer auf allen Servern immer von derselben uid hinzu. Rosser vor 11 Jahren 0
Versuchen Sie es einmal: `touch / tmp / test01; ls -l / tmp / test01` ist die Ausgabe korrekt, siehe @glglgl-Antwort. Es ist wahrscheinlich mehr als Ihre NFS-Konfiguration in diesem Feld, die untersucht werden sollte. Huygens vor 11 Jahren 0
Mein NFS-Server ist in Ordnung, er hat kein Problem, aber andere NFS-Client hat. Was kann ich machen? Rosser vor 11 Jahren 0
@ Rosser OK, ich habe dir in meiner vorhandenen Antwort eine alternative Erklärung + Lösung gegeben. Huygens vor 11 Jahren 0

3 Antworten auf die Frage

2
glglgl

Eine andere mögliche Erklärung ist, dass Sie dieses Zeug auf einem Dateisystem ausführen, das für einen Benutzer festgelegt ist.

Fälle dafür könnten ntfsoder sein vfat.

Ein nfsMount mit root_squash(der Standardeinstellung) kann ein anderer Grund sein.

0
Huygens

Alias ​​des Benutzers

Eine mögliche Erklärung ist, dass Sie bereits mit der UID (Benutzer-ID) 532 einen Benutzer mit dem Namen nobody aufgerufen haben. Das Ergebnis ist, dass Sie einen "Benutzeralias" erstellt haben.

Sie können entweder versuchen, eine andere UID für Ihren Benutzer anzugeben (oder das System eine abholen lassen). Oder du kannst es so lassen. Das einzige Sicherheitsrisiko besteht darin, dass, wenn ein Dienst oder ein anderer Benutzer auf nobodydie Daten zugreifen kann, dieser auf Ihre Daten zugreifen kann.

NFS-Benutzer-ID-Zuordnung

Damit Benutzer das Gefühl haben, auf ihre eigenen Dateien zuzugreifen, sollte die UID auf dem NFS-Server mit der UID auf den NFS-Clients übereinstimmen. Obwohl Sie das rootzumindest vermeiden wollen .

Standardmäßig wählt NFS exportfs eine UID / GID von 65534, die der nobodyUID Ihres Benutzers entspricht . Sie müssen den NFS-Server anweisen, nicht alle UID 65534 zuzuordnen, oder wenn dies das gewünschte Verhalten ist, müssen Sie die zugeordnete Standard-UID angeben.

Für den ersten Fall entfernen Sie das all_squashund ersetzen es durch. Beachten Sie root_squashjedoch, dass alle Benutzer ohne Rootberechtigung mit einer ähnlichen UID zwischen dem NFS-Server und den Clients übereinstimmen.

Für den zweiten Fall behalten Sie all_squashaber das Hinzufügen anonuid=532(Sie können auch anongidfür die GID (oder Gruppen-ID) verwenden).

Beispiel:

/ pc001(rw,root_squash) /home/joe pc002(rw,all_squash,anonuid=532,anongid=100) 

Hinweis: Die Änderungen sollten in der Datei /etc/exportsauf dem NFS-Server vorgenommen werden.

Mein Niemand ist 99: Niemand: X: 99: 99: Niemand: /: / sbin / nologin Rosser vor 11 Jahren 0
Vielen Dank für Ihre Erklärung + Lösung, aber die Datei / etc / passwd in meinem NFS-Server hat dieselbe Form wie ein NFS-Client, und mein NFS-Server-Set sieht wie folgt aus: (rw, no_root_squash, sync), es sollte dieselbe uid verwenden, und zwar niemand. . Rosser vor 11 Jahren 0
0
Guardian

You can use the usermod command to modify various user parametes like the username and the UID.