FreeBSD / FreeNAS: Como mudar de grupo para múltiplos usuários?

1

Eu preciso alterar a associação ao grupo para vários usuários.

Como faço para

  1. lista todos os usuários?
  2. alterar vários usuários para nogroup grupo principal?
  3. adicionar grupos secundários / auxiliares a vários usuários?

Basicamente, preciso alterar todos os usuários que estão atualmente no grupo clients para nogroup e adicionar clients como um grupo auxiliar a eles.

Isso pode ser feito via shell sem editar cada usuário individualmente?

    
por Ze'ev 03.12.2014 / 22:18

1 resposta

0
  1. list all users?
pw usershow -a
  1. change multiple users to nogroup primary group?

Existem centenas de maneiras diferentes de fazer isso ... Eu gostaria:

foreach u ("list" "of" "users")
    pw usermod -n $u -g NewPrimaryGroup
end

Você pode até obter a lista de usuários de um subcomando, como pw groupshow OldGroupName | sed -e "s/.*://" -e "s/,/\ /"

  1. add secondary/auxiliary groups to multiple users?

Novamente, algumas maneiras de fazer isso ...

Se você conhece a lista completa de grupos secundários em que os usuários devem estar:

pw usermod -n UserName -G "Secondary Group List"

Se você não conhece a lista completa ou apenas deseja adicionar usuários a um grupo:

pw groupmod -n SecondaryGroup -m NewUserName

E a remoção é similateral

pw groupmod -n SecondaryGroup -d OldUserName

Basically I need to change all the users that are currently in the clients group to nogroup and add clients as an auxiliary group to them.

foreach u ('pw groupshow clients | sed -e "s/.*://" -e "s/,/\ /"')
    pw usermod $u -g nogroup
    pw groupmod clients -m $u
end

(O snippet acima não foi testado, mas parece ser bom depois de 3 segundos de checagem dupla, também escrito para csh como o shell padrão do FreeBSD para os usuários)

    
por 03.12.2014 / 22:41