¿Cómo crear usuario y grupo si no existen?

in #gnulast year

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

Via LibreByte