![Por que não consigo usar meu usuário recém-criado com chown?](https://rvso.com/image/1452895/Por%20que%20n%C3%A3o%20consigo%20usar%20meu%20usu%C3%A1rio%20rec%C3%A9m-criado%20com%20chown%3F.png)
Então, estou tentando criar um novo usuário e grupo e, em seguida, alterar a propriedade de um diretório para esse novo usuário/grupo. No entanto, quando faço isso, chown volta com uma mensagem de "nome de usuário ilegal".
Aqui está um script de shell simplificado que mostra o que estou tentando fazer:
#!/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
... e a saída que recebo é:
chown: _jira: illegal user name
Estou faltando um passo? É porque o nome de usuário é prefixado com um sublinhado?
Observação:Posso listar todos os usuários e grupos existentes e ver o usuário _jira e o grupo _jira, e também ver se o usuário está atribuído a esse grupo.
Responder1
Você não atribuiu um número de ID de usuário (o que o dscl chama de UniqueID) ao usuário _jira e, como a propriedade do arquivo é registrada pelo ID do usuário, não há como transferir arquivos para uma conta sem um. Adicione algo como:
dscl . create /Users/_jira UniqueID 301
Você também deve definir o PrimaryGroupID do usuário, e eu usaria isso para atribuí-lo ao grupo _jira em vez de adicionar o usuário ao grupo:
dscl . create /Users/_jira PrimaryGroupID 301
Se quiser continuar adicionando uma associação secundária no grupo _jira, você deve atribuir algum outro ID de grupo como primário e, em seguida, adicionar a associação secundária com dseditgroup:
sudo dseditgroup -o edit -a _jira -t user _jira
Isso não apenas adiciona "_jira" à lista GroupMembership do grupo, mas também adiciona o UUID do usuário à lista GroupMembers do grupo - é recomendado fazer as duas coisas e, embora seja possível fazer isso com dscl, é mais simples com dseditgroup.