Em vez de depender de scripts para fazer isso, confira ansible , o que torna essas tarefas menos propensas a erros. pode ser executado várias vezes sem problemas, pois é idempotente. Também é sem agente e executa o ssh.
- vars prompt : para pedir nome de usuário e senhas
- módulo do usuário : cria usuários, diretório inicial etc
- módulo de grupo : se você quiser criar grupos fora do módulo de usuário
- linha no arquivo : para modificar os sudoers, há bons exemplos, mas certifique-se de verificar fora aquele com a opção de validação.