====== crearUsuario.sh====== Un ejemplo de clase sencillo para estudiar los pasos realizados al momento de crear un nuevo usuario en nuestro sistema: Este script debe ser ejcutado como ''root'' #!/bin/bash useradd $1 passwd $1 addgroup $1 usermod -G$1 -a $1 cp -r /etc/skel /home/$1 chown -R $1:$1 /home/$1 chmod -R g+rx /home/$1 chmod -R g-w /home/$1 chmod -R o-rwx /home/$1 Un paso interesante sería agregar a éste script controles para los parámetros recibidos, por ejemplo: * cantidad mínima de parámetros * existencia del usuario/grupo previo a creación Para esto, deberemos agregar las siguientes preguntas: **Control de cantidad parámetros:** if [ $# -lt 1 ]; then echo "Faltan parámetros!" exit 1 fi **Control de existencia de usuario/grupo:** cat /etc/passwd | cut -f1 -d":" | grep "^$1$" if [ $? -eq 0 ]; then echo "Atención, el usuario '$1' ya existe!" exit 2 fi cat /etc/group | cut -f1 -d":" | grep "^$1$" if [ $? -eq 1 ]; then addgroup $1 fi El resultado quedaría de la siguiente forma: #!/bin/bash if [ $# -lt 1 ]; then echo "Faltan parámetros!" exit 1 fi cat /etc/passwd | cut -f1 -d":" | grep "^$1$" if [ $? -eq 0 ]; then echo "Atención, el usuario '$1' ya existe!" exit 2 fi useradd $1 passwd $1 cat /etc/group | cut -f1 -d":" | grep "^$1$" if [ $? -eq 1 ]; then addgroup $1 fi usermod -G$1 -a $1 cp -r /etc/skel /home/$1 chown -R $1:$1 /home/$1 chmod -R g+rx /home/$1 chmod -R g-w /home/$1 chmod -R o-rwx /home/$1 exit 0 **Esta variación permite crear múltiples usuarios en un mismo paso:** #!/bin/bash if [ $# -lt 1 ]; then echo "Faltan parámetros!" exit 1 fi for usuario in $@; do cat /etc/passwd | cut -f1 -d":" | grep "^$usuario$" if [ $? -eq 0 ]; then echo "Atención, el usuario '$usuario' ya existe!" exit 2 fi useradd $usuario passwd $usuario cat /etc/group | cut -f1 -d":" | grep "^$usuario$" if [ $? -eq 1 ]; then addgroup $usuario fi usermod -G $usuario -a $usuario cp -r /etc/skel /home/$usuario chown -R $usuario:$usuario /home/$usuario chmod -R g+rx /home/$usuario chmod -R g-w /home/$usuario chmod -R o-rwx /home/$usuario done exit 0