automatiza adduser e adiciona ao grupo em um scrpit de shell [closed]

-2

Porisso,estouprocurandoumamaneirarápidaefácildeacoplaroaddusere,aomesmotempo,adicionaresseusuárioquevocêestácriandoaumgrupo.Eutenteimuitosmaneiradeescreveremshellscrpitenãofuncionouprecisardeajuda.Oualguémjátemessecódigo?

euuseipelaprimeiravezisso

#!/bin/bash#ScripttoaddausertoLinuxsystemif[$(id-u)-eq0];thenread-p"Enter username : " username
    read -s -p "Enter password : " password
    egrep "^$username" /etc/passwd >/dev/null
    if [ $? -eq 0 ]; then
        echo "$username exists!"
        exit 1
    else
        pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
        useradd -m -p $pass $username
         [ $? -eq 0 ] && echo "User has been added to system!" || echo "    Failed to add a user!"
fi
else
    echo "Only root may add a user to the system"
    exit 2
fi

Obrigado

    
por dreddknight 18.11.2015 / 17:26

1 resposta

1

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.

    
por Byte Commander 18.11.2015 / 18:25