Aquí está el código del script que estoy usando ahora:
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"
Este enfoque funciona bien en openSuse. Pero hay varios problemas con la cuenta de usuario que crea en Ubuntu, así que estoy buscando ayuda aquí.
- el indicador de terminal no está configurado (
echo $PS1
no devuelve nada) - las teclas de flecha y la tecla tab no funcionan correctamente en el terminal
- la contraseña no parece funcionar (aunque todavía no estoy claro exactamente cuál es este problema)
- no se respetan los derechos / etc / sudoers establecidos para este nuevo usuario
Si, en cambio, creo manualmente el usuario con adduser
(en lugar de useradd) no tengo estos problemas en Ubuntu. Pero no puedo usar adduser
en openSuse (afaik). Por lo tanto, necesito un script o método no exclusivo de Debian para agregar cuentas de usuario a través de mi script bash que funciona en Ubuntu (y no deja de funcionar en otras distribuciones).
Finalmente, me gustaría entender las diferencias entre adduser
y useradd
. Por ejemplo, quiero saber qué directorio de esqueleto utiliza, adduser
ya que esa podría ser la razón por la useradd
que no funciona como se esperaba (porque acabo de aceptar el valor predeterminado).
Gracias
sudo su -c "cmd arg1 arg2"
es equivalente a sudo cmd arg1 arg2
.
sudo su -c "cmd arg1 arg2"
para que funcione en todos los lugares donde lo necesito.
adduser
es un script perl de más de 1000 líneas de largo, por lo que para las diferencias, puede echar un vistazo al script.
adduser
pero no sé Perl. Entonces ese no es un buen enfoque para mí.
man useradd
): useradd es una utilidad de bajo nivel para agregar usuarios. En Debian, los administradores generalmente deberían usar adduser (8) en su lugar.