Voici le code de script que j'utilise maintenant:
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"
Cette approche fonctionne bien sur openSuse. Mais il y a plusieurs problèmes avec le compte utilisateur qu'il crée sur Ubuntu donc je cherche de l'aide ici.
- l'invite du terminal n'est pas définie (
echo $PS1
ne renvoie rien) - les touches fléchées et la touche de tabulation ne fonctionnent pas correctement dans le terminal
- le mot de passe ne semble pas fonctionner (bien que je ne sache pas exactement de quoi il s'agit)
- les droits / etc / sudoers définis pour ce nouvel utilisateur ne sont pas respectés
Si, au lieu de cela, je crée manuellement l'utilisateur avec adduser
(au lieu de useradd), je n'ai pas ces problèmes sur Ubuntu. Mais je ne peux pas l'utiliser adduser
sur openSuse (afaik). Par conséquent, j'ai besoin d'un script ou d'une méthode non exclusive à Debian pour ajouter des comptes d'utilisateurs via mon script bash qui fonctionne sur Ubuntu (et qui ne cesse de fonctionner sur d'autres distributions).
Enfin, je voudrais comprendre les différences entre adduser
et useradd
. Par exemple, je veux savoir quel répertoire squelette est utilisé adduser
car cela pourrait être la raison useradd
pour laquelle cela ne fonctionne pas comme prévu (car j'ai juste accepté la valeur par défaut).
Merci
sudo su -c "cmd arg1 arg2"
équivalent à sudo cmd arg1 arg2
.
sudo su -c "cmd arg1 arg2"
pour qu'il fonctionne partout où j'en ai besoin pour fonctionner.
adduser
est un script Perl de plus de 1000 lignes, donc pour les différences, vous pouvez jeter un œil au script.
adduser
mais je ne connais pas perl. Ce n'est donc pas une bonne approche pour moi.
man useradd
): useradd est un utilitaire de bas niveau pour ajouter des utilisateurs. Sur Debian, les administrateurs devraient généralement utiliser adduser (8) à la place.