Eu sei que esta resposta não está realmente resolvendo sua tarefa de dever de casa (isto é porque você deve pensar um pouco), mas na minha opinião não há necessidade de automatizar o processo de criação do usuário ainda mais.
Use apenas adduser
em vez de useradd
!
Exemplo (criando usuário example
, nome de exibição Mr. Example
):
$ sudo adduser --gecos "Mr. Example" example
Adding user 'example' ...
Adding new group 'example' (1002) ...
Adding new user 'example' (1002) with group 'example' ...
Creating home directory '/home/example' ...
Copying files from '/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Ou, se preferir não ver as mensagens de status, redirecione o STDOUT para /dev/null
, pois o prompt importante da senha é impresso por STDERR:
$ sudo adduser --gecos "Mr. Example" example > /dev/null
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Não há muito mais que você possa automatizar ou simplificar do que este comando acima. Ele cria um grupo primário adequado para o novo usuário automaticamente, bem como um diretório inicial.
Para adicionar um usuário existente a outro grupo (já existente!), use também adduser
:
$ sudo adduser example cdrom
Adding user 'example' to group 'cdrom' ...
Adding user example to group cdrom
Done.
Não vejo como tudo pode ser simplificado e automatizado.