2013-05-02 16:34:01 +0000 2013-05-02 16:34:01 +0000
62
62

Como encontro o meu ID de utilizador e grupo no Mac OS X?

Tentar executar este compand em terminal:

sudo chown -R yourid:yourgroup local

Contudo, não faço ideia do meu ID e do meu grupo, ou onde os encontrar. Alguma ideia?

Respostas (6)

65
65
65
2013-05-02 16:49:08 +0000

No OS X, o seu grupo primário é sempre staff a menos que você ou o seu gestor de directório de utilizadores o alterem.

O que é um grupo primário? O grupo primário de um utilizador é, por defeito, o proprietário de todos os ficheiros criados por esse utilizador.


Para efeitos de chmod no seu computador, pode usar ou o seu ID de utilizador numérico (ex. 501), ou o seu nome de conta (ex. danielbeck). Este último é diferente do nome de utilizador que normalmente vê na IU (por exemplo Daniel Beck).

Pode determinar o nome da sua conta utilizando qualquer uma das seguintes opções:

  • É o nome do seu directório home (a menos que o tenha personalizado) no título ou barra lateral do Finder

  • Corre whoami no Terminal - portanto um chown -R $(whoami):staff deverá ser suficiente. Também pode obter o seu grupo primário com groups $(whoami) | cut -d' ' -f1.

  • Abrir Preferências do Sistema “ Utilizadores e Grupos, desbloquear o painel se necessário, clicar com o botão direito do rato no seu nome de utilizador (a entrada da lista única na secção Usuário actual), e seleccionar Opções Avançadas…. É o campo Nome da conta na janela de diálogo recém-aberta. Este diálogo também lhe mostra o seu grupo primário.

  • Executar id no Terminal para mais saída verbosa. Isto incluirá a sua identificação numérica de utilizador. Irá também listar todos os grupos de que é membro, e não apenas o seu grupo primário. O primeiro grupo é o grupo primário.

42
42
42
2013-11-27 01:56:17 +0000

Utilizar o comando id do terminal. Mostrará o seu uid e os grupos a que pertence. Por exemplo, aqui está a minha saída mostrando o meu id de utilizador (534), id de grupo (20) e os grupos a que pertenço (também 20).

uid=534(galuga) gid=20(staff) groups=20(staff)
16
16
16
2016-08-03 09:47:16 +0000

Isto mostrará o seu utilizador.

$ id -u
502

Isto mostrará os nomes dos seus grupos. Os nomes dos grupos estão dentro de 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)
4
4
4
2013-05-02 16:42:49 +0000

em Terminal, ir para ~/Documents e correr ls -la. O seu nome de utilizador e grupo serão listados ao lado de cada um dos ficheiros/directórios.

Deverá ter este aspecto:

drwxr-xr-x 2 username usergroup 4096 Oct 17 2012 Templates
4
4
4
2019-05-14 03:44:29 +0000

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

Não faço ideia porque é que alguém desvalorizou @callaginn, uma vez que ele traz à baila um ponto válido.

Os seguintes métodos são válidos (e provavelmente as melhores opções para shell scripting):

id -u # returns UID

id -un # returns username

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

id -gn # returns primary Group Name

Ver man id para mais opções.

Para responder a esta pergunta específica se eu estivesse a escrever um script que funcionasse em qualquer ambiente, não assumiria que o grupo padrão staff está em uso e, em vez disso, faria o seguinte se estivesse a escrever um script que pudesse ser executado para qualquer utilizador (independentemente de terem ou não modificado o seu sistema):

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

É sempre melhor ser agnóstico da plataforma sempre que possível (se não for uma troca de tempo excessiva), uma vez que incorrerá em menos dívidas técnicas mais tarde.

Note que a bandeira chown da -R da System Integrity Protection deve ser usada com a máxima confiança. Poderia realmente estragar o seu sistema (embora valha a pena notar que a Apple tornou-o difícil de fazer desde que implementaram o chown -R 755 /var).

Considere, por exemplo, se fosse para chown -R 755 /var/www em vez de System Integrity Protection como raiz com 0x6& desactivado, acredito que o faria. Não lhe posso dizer o que se partiria primeiro, mas partiria primeiro num sistema Darwin, mas por favor aceite a minha palavra de que não seria bonito.

Esperemos que alguém considere isto útil.

2
2
2
2019-05-06 15:55:00 +0000

Um método ainda mais curto para encontrar o grupo primário:

id -gn