Comando de terminal para incluir o usuário atualmente conectado


1

Eu estou tentando escrever um script que faz com que nosso administrador de rede (diretório ativo) usuários locais em seus macs. Eu tenho o script que fará isso:

dseditgroup -o editar -n / local / padrão -a networkuser -t usuário admin

mas eu estou olhando para substituir 'networkuser' com o usuário conectado no momento, ou até mesmo todos os usuários no computador. A razão para isso é que eu quero empurrar isso para vários computadores usando o Apple Remote Desktop, e isso economizaria muito tempo do que executar o script individualmente por usuário.

Alguém sabe como editar esse script para afetar o usuário conectado no momento ou todos os usuários no computador?

obrigado


faz whoami trabalhar para você em macland? funciona na maioria dos shells linux.
— Frank Thomas

whoami (como 'quem sou eu') irá imprimir o usuário atual, mas eu não acho que isso permitirá que o script funcione.
— jasetech

como Louis mencionou, na maioria dos shells você pode embutir comandos e outras invocações dentro de uma string de comando usando aspas `` (aquela na tecla til para um teclado americano). por exemplo "echo hoje é date "imprime" hoje é sexta-feira, 9 de maio 12:56:46 BRT 2014 "Editar: eu rodei o comando" data "nos backticks, no comando acima. SE aparentemente renderiza os exemplos de código, então você não pode vê-los no meu exemplo.
— Frank Thomas

Respostas:


1

Você poderia tentar o seguinte comando:

dseditgroup -o edit -n /Local/Default -a `whoami` -t user admin

Observe os backticks antes e depois whoami. Estes irão executar o whoami comando e use a saída em seu comando.


whoami dará o nome de usuário que o script está rodando como ("root"), não o usuário atualmente logado.
— Gordon Davisson
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.