Es probable que algún momento necesite crear programáticamente un usuario y grupo solo si no existe, por lo que el día de hoy mostramos cómo lograrlo.
BusyBox
BusyBox combina versiones pequeñas de muchas utilidades comunes de UNIX en un solo ejecutable pequeño. Proporciona reemplazos para la mayoría de las utilidades que normalmente encuentra en GNU fileutils, shellutils, etc. Distribuciones que usan BusyBox: Alpine Linux, Chimera Linux.
# grep -q "^grupo:" /etc/group || addgroup -S grupo
# grep -q "^usuario:" /etc/passwd || adduser -S usuario grupo
Debian/Ubuntu
# grep -sq "^grupo:" /etc/group || addgroup --system grupo
Adding group `grupo' (GID 115) ...
Done.
# grep -sq "^usuario:" /etc/passwd || adduser --system --ingroup grupo usuario
Adding system user `usuario' (UID 109) ...
Adding new user `usuario' (UID 109) with group `grupo' ...
Creating home directory `/home/usuario' ...
RHEL/Fedora/Rocky/Alma
# grep -sq "^grupo:" /etc/group || groupadd --system grupo
# grep -sq "^usuario:" /etc/passwd || adduser --system -g grupo usuario
En los ejemplo anteriores hemos creado usuarios y grupo del sistema para crear usuarios y grupos estándards, consulte los manuales correspondientes.
Referencias
- addgroup -h
- adduser -h
- man addgroup
- man adduser
- man groupadd
- man adduser