Warum kann ich meinen neu erstellten Benutzer nicht mit Chown verwenden?

Warum kann ich meinen neu erstellten Benutzer nicht mit Chown verwenden?

Ich versuche also, einen neuen Benutzer und eine neue Gruppe zu erstellen und dann den Eigentümer eines Verzeichnisses auf diesen neuen Benutzer/diese neue Gruppe zu übertragen. Wenn ich das tue, gibt chown jedoch die Meldung „ungültiger Benutzername“ zurück.

Hier ist ein vereinfachtes Shell-Skript, das zeigt, was ich versuche:

#!/usr/bin/bash

# Create Group
dscl . create /Groups/_jira
dscl . create /Groups/_jira gid 301"

# Create User
dscl . create /Users/_jira
dscl . append /Groups/_jira GroupMembership _jira

# Change Ownership
chown -R _jira:_jira /Some/random/directory

... und die Ausgabe, die ich erhalte, ist:

chown: _jira: illegal user name

Habe ich einen Schritt übersehen? Liegt es daran, dass dem Benutzernamen ein Unterstrich vorangestellt ist?

Notiz:Ich kann alle vorhandenen Benutzer und Gruppen auflisten und den _Jira-Benutzer und die _Jira-Gruppe sehen und auch sehen, dass der Benutzer dieser Gruppe zugewiesen ist.

Antwort1

Sie haben dem _jira-Benutzer keine Benutzer-ID-Nummer zugewiesen (die dscl UniqueID nennt), und da der Dateibesitz durch die Benutzer-ID aufgezeichnet wird, gibt es keine Möglichkeit, Dateien einem Konto ohne Benutzer-ID zuzuweisen. Fügen Sie etwas wie Folgendes hinzu:

dscl . create /Users/_jira UniqueID 301

Sie sollten auch die PrimaryGroupID des Benutzers festlegen. Ich würde diese verwenden, um ihn der _jira-Gruppe zuzuweisen, anstatt den Benutzer zur Gruppe hinzuzufügen:

dscl . create /Users/_jira PrimaryGroupID 301

Wenn Sie beim Hinzufügen einer sekundären Mitgliedschaft in der Gruppe „_jira“ bleiben möchten, sollten Sie eine andere Gruppen-ID als primäre zuweisen und dann die sekundäre Mitgliedschaft mit „dseditgroup“ hinzufügen:

sudo dseditgroup -o edit -a _jira -t user _jira

Dadurch wird nicht nur „_jira“ zur GroupMembership-Liste der Gruppe hinzugefügt, sondern auch die UUID des Benutzers zur GroupMembers-Liste der Gruppe. Es wird empfohlen, beides zu tun, und obwohl dies mit dscl möglich ist, ist es mit dseditgroup einfacher.

verwandte Informationen