Ecco il codice dello script che sto usando ora:
getent group $MYGROUP
if [ $? -ne 0 ] ; then
sudo su -c "groupadd $MYGROUP"
fi
sudo su -c "useradd mynewuser -p mypassword -m -g $PRIMARYGRP -G $MYGROUP"
Questo approccio funziona bene su openSuse. Ma ci sono diversi problemi con l'account utente che crea su Ubuntu, quindi sto cercando aiuto qui.
- il prompt del terminale non è impostato (
echo $PS1
non restituisce nulla) - i tasti freccia e il tasto tab non funzionano correttamente nel terminale
- la password non sembra funzionare (sebbene non sia ancora chiaro quale sia esattamente questo problema)
- i diritti / etc / sudoers impostati per questo nuovo utente non sono onorati
Se invece creo manualmente l'utente con adduser
(anziché useradd) non ho questi problemi su Ubuntu. Ma non posso usare adduser
su openSuse (afaik). Pertanto, ho bisogno di uno script o di un metodo non esclusivo di Debian per aggiungere account utente tramite il mio script bash che funziona su Ubuntu (e non smette di funzionare su altre distro).
Infine, vorrei capire le differenze tra adduser
e useradd
. Ad esempio, voglio sapere da quale directory di scheletro viene utilizzata adduser
poiché potrebbe essere il motivo per cui useradd
non funziona come previsto (perché ho appena accettato il valore predefinito).
Grazie
sudo su -c "cmd arg1 arg2"
equivale a sudo cmd arg1 arg2
.
sudo su -c "cmd arg1 arg2"
modo che funzioni ovunque abbia bisogno che funzioni.
adduser
è uno script perl lungo più di 1000 righe, quindi per le differenze puoi dare un'occhiata allo script.
adduser
ma non conosco il perl. Quindi non è un buon approccio per me.
man useradd
): useradd è un'utilità di basso livello per l'aggiunta di utenti. Su Debian, gli amministratori dovrebbero invece usare adduser (8) invece.