Como encontro meu ID de usuário e grupo no Mac OS X?

59

Tentando executar este compand no terminal:

sudo chown -R yourid:yourgroup local

No entanto, não tenho idéia de qual é meu ID e meu grupo ou onde encontrá-los. Alguma ideia?

Starkers
fonte

Respostas:

61

No OS X, seu grupo principal é sempre, a staffmenos que você ou seu gerente de diretório do usuário o altere.

O que é um grupo principal ? O grupo principal de um usuário é, por padrão, o proprietário de todos os arquivos criados por esse usuário.


Para os fins do chmodseu computador, você pode usar seu ID numérico do usuário (por exemplo, 501) ou o nome da sua conta (por exemplo danielbeck). Este último é diferente do nome de usuário que você costuma ver na interface do usuário (por exemplo, Daniel Beck ).

Você pode determinar o nome da sua conta usando qualquer um dos seguintes:

  • É o nome do seu diretório pessoal (a menos que você o tenha personalizado) no título ou na barra lateral do Finder

  • Execute whoamino Terminal - portanto, um chown -R $(whoami):staffdeve ser suficiente. Você também pode obter seu grupo principal groups $(whoami) | cut -d' ' -f1.

  • Abra Preferências do Sistema »Usuários e Grupos , desbloqueie o painel, se necessário, clique com o botão direito do mouse em seu nome de usuário (a entrada da lista única na seção Usuário Atual ) e selecione Opções Avançadas… . É o campo Nome da conta na janela de diálogo recém-aberta. Essa caixa de diálogo também mostra seu grupo principal.

  • Execute idno Terminal para obter uma saída mais detalhada. Isso incluirá seu ID de usuário numérico. Ele também listará todos os grupos dos quais você é membro, não apenas o seu grupo principal. O primeiro grupo é o principal.

Daniel Beck
fonte
3
Em vez de usar whoami, você pode usar idem um oneliner compatível com posix shells e csh. chown -R `id -u`:`id -g` FOLDER
Fd0
Se você usar a autenticação LDAP, seu nome de usuário não será necessariamente staff. Não no meu trabalho Mac OS X de qualquer maneira.
Sridhar Sarnobat 31/07/2015
11
@ Sridhar-Sarnobat Abordo isso na segunda metade da primeira frase da minha resposta.
Daniel Beck
42

Use o idcomando do terminal. Ele exibirá seu uid e os grupos aos quais você pertence. Por exemplo, aqui está minha saída mostrando minha identificação de usuário (534), identificação de grupo (20) e os grupos aos quais pertenço (também 20).

uid=534(galuga) gid=20(staff) groups=20(staff)
galuga
fonte
15

Isso mostrará seu ID do usuário.

$ id -u
502

Isso mostrará os nomes dos seus grupos. Os nomes dos grupos estão entre parênteses.

$ id
uid=502(whoami) gid=20(staff) groups=20(staff),702(com.apple.sharepoint.group.2),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh)
Gabriel Wu
fonte
4

no Terminal, vá ~/Documentse corra ls -la. Seu nome de usuário e grupo serão listados ao lado de cada um dos arquivos / diretórios.

Deve ficar assim:

drwxr-xr-x  2 username usergroup  4096 Oct 17  2012 Templates
miah
fonte
super fácil e direto, obrigado pela dica.
Teradyl # 26/16
3

Só comentaria se eu pudesse. Não tenho karma suficiente neste site.

Não tenho idéia do motivo de alguém ter votado contra @callaginn, pois ele traz um ponto válido.

Os métodos a seguir são válidos (e provavelmente as melhores opções para scripts de shell):

id -u  # returns UID

id -un # returns username

id -g  # returns primary (a.k.a. effictive) GID

id -gn # returns primary Group Name

Veja man idpara mais opções.

Para responder a essa pergunta específica, se eu estivesse escrevendo um script que funcionasse em qualquer ambiente, não assumiria que o grupo padrão staffestá em uso. Em vez disso, faria o seguinte se estivesse escrevendo um script que poderia ser executado por qualquer usuário. (independentemente de terem modificado ou não o seu sistema):

chown "$(id -un):$(id -gn)" some_file

É sempre melhor ser independente da plataforma sempre que possível (se não for muito demorado), pois você terá menos dívidas técnicas mais tarde.

Observe que chowna -Rbandeira deve ser usada com a máxima confiança. Você pode realmente atrapalhar seu sistema (embora valha a pena notar que a Apple dificultou a execução desde a implementação System Integrity Protection).

Considere, por exemplo, se você fosse chown -R 755 /varem vez de chown -R 755 /var/wwwcomo root com System Integrity Protectionpessoas com deficiência Eu acredito que você estaria em para ele. Eu não posso te dizer o que quebraria primeiro, mas ele quebraria primeiro em um sistema Darwin, mas aceite minha palavra de que não seria bonito.

Felizmente, alguém acha isso útil.

Robert J
fonte
2

Um método ainda mais curto para encontrar o grupo principal:

id -gn
callaginn
fonte