it-swarm-eu.dev

CHOWN: Was bedeutet "id -u"?

Ich arbeite daran, Mongodb auf einem Ubuntu-Server zum Laufen zu bringen. Bei der Überprüfung der Anweisungen musste ich ein "\ data\db" -Verzeichnis im Root-Laufwerk erstellen. Zu diesem Zeitpunkt musste ich den Eigentümer mit dem Befehl CHOWN wie folgt ändern:

Sudo chown `id -u` /data/db

Wenn ich diesen Befehl gebe, wie er in der Schnellstartanleitung angezeigt wird, erhalte ich

chown: invalid user: 'id -u'

Ich bin neu in Linux, daher verstehe ich nicht, was das 'id -u' bedeuten sollte. Wenn ich durch meinen Benutzernamen ersetze, wird der Befehl ordnungsgemäß ausgeführt und mongo wird ausgeführt. Kann mir jemand helfen zu verstehen, was die Kurzform 'id -u' einem erfahrenen Linux-Benutzer mitteilen würde, was sie mir nicht mitgeteilt hat?

6

Der Befehl id -u gibt Ihre "numerische Benutzer-ID" (kurz: UID) aus; Wie Sie bereits bemerkt haben, entspricht dies der vollständigen Schreibweise Ihres Benutzernamens in der Befehlszeile chown. In der Tat sollten die folgenden Befehlsaufrufe alle den gleichen Effekt haben:

Sudo chown `id -u` /data/db
Sudo chown $USER /data/db

Der Grund, warum es nicht wie erwartet funktioniert hat, hängt wahrscheinlich mit den Anführungszeichen zusammen: Es muss sich um Anführungszeichen (ASCII-Zeichen 0x60) handeln, während das chown Die Fehlermeldung weist darauf hin, dass Sie einfache Anführungszeichen (ASCII-Zeichen 0x27) verwendet haben.

Eine sehr ausführliche Erklärung der UNIX-Shell finden Sie unter hier .

13
Riccardo Murri

Es gibt Ihre Benutzer-ID zurück. Führen Sie man id aus, um weitere Informationen zu erhalten.

0
Tommy Brunn

id -u druckt Ihre Benutzer-ID auf dem System. Alternativ können Sie einfach diesen Befehl ausführen:

Sudo chown <user> /data/db Ersetzen Sie <user> durch Ihren Benutzernamen auf dem System.

0
Marco Ceppi