Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # buscar un usuario y determinar su 'UID' si esta es menor que '1000' debe cambiarse a una ID que se mayor o igual que 1000.
- # Guardo la linea que haga match con el usuario
- # si el usuario que ejecuta no es root se sale
- if [ $UID -ne 0 ]; then
- echo "Ejecute este script como usuario 'root'."
- exit 1
- fi
- user="$1"
- # primero evaluar si el argumento pasado es valido
- # con el signo '!' invertimos la comparacion
- # si grep arroja 'exit status 1' se lo considera 'true'
- # si grep arroja 'exit status 0' se lo considera 'false'
- if ! grep ^$user /etc/passwd;then
- echo "No se encontro el usuario '$user'. Se sale."
- exit 1
- fi
- # si la comparacin anterior devolvio 'false' el programa continua normalmente
- uid=$(cat /etc/passwd | grep ^$user | cut -d ":" -f 3)
- if [ $uid -lt 1000 ]; then
- echo "El usuario '$user' tiene la 'id' $uid"
- # listar las ID disponibles
- cat /etc/passwd | cut -d ":" -f 3 | sort -n
- read -p "Ingrese un valor mayor que 1000: " uid
- usermod -u $uid $user
- else
- echo "El usuario '$user' tiene una ID correcta: $uid"
- exit 0
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement