Como adicionar usuário a um grupo usando o bash scripting? [fechadas]

0

Estou tendo dificuldade em adicionar um usuário a um grupo no script. Por exemplo, eu tenho um script que pede ao usuário para responder várias perguntas, e se as respostas estiverem corretas, esse usuário deve ser adicionado a um determinado grupo. Então, eu provavelmente preciso de uma maneira de identificar de alguma forma qual usuário está respondendo a perguntas (existem vários usuários) e, em seguida, com base em suas respostas, adicionando-o a um grupo. Alguém pode ajudar?

    
por tera_789 26.06.2018 / 08:58

2 respostas

1

Eu também criei um script simples.
Abaixo script está criando um novo usuário no sistema.
Estou muito feliz se você puder usá-lo como referência.
Definir o nome do grupo para a variável VALIDGROUPS de antemão e
selecione-o no momento da execução.

 1  #!/bin/bash
 2
 3  VALIDGROUPS="GROUP1, GROUP2, GROUP3"
 4
 5  printf "Add your account on this system\n\n"
 6  printf "Enter your name here, No space allowed for your user name : "
 7  read USERNAME
 8
 9  printf "Valid user groups are $VALIDGROUPS Choose select one: "
10  read USERGROUP
11
12  grep $USERGROUP /etc/group 2>&1>/dev/null
13  if [ $? != 0 ]
14  then
15      printf "Group Name you entered $USERGROUP is not valid\n"
16      printf "Creating Abort!\n"
17      exit 1
18  else
19      useradd -g $USERGROUP -d /home/$USERNAME -s /bin/bash -m $USERNAME
20      passwd $USERNAME
21  fi
22
23  id $USERNAME
24
25  printf "done!\n"
26
27  exit 0
    
por 26.06.2018 / 10:41
0

Você pode adicionar uma linha ao seu script para descobrir quem está executando o script usando

user=$(whoami)
echo $user

Se o script precisar ser executado com o sudo, whoami sempre dará root como usuário, então você precisa usar $SUDO_USER variable

user=$SUDO_USER
echo $user

Se o usuário usar su - e, em seguida, executar o script, as soluções acima não funcionarão, use who am i

user=$(who am i | awk '{print $1}')
echo $user
    
por 26.06.2018 / 09:06