› Foros › PC › Software libre
mik0 escribió:Nivel Facil
Haz un script para cambiar el UID/GID del usuario. El nombre del usuario / numero de uid / numero de gid se comprobara antes de modificar nada. Si ya existe un usuario con ese uid / gid se empezará desde 0 comentandole a user donde ha fallado (si el uid esta ocupado, si el gid esta ocupado, si el usuario no existe...) Si existe y el uid / gid no estan ocupados, se cambiará.
Es el ultimo script que he tenio que hacer para el proyecto en el que estoy. El script no deberia llevarte mas de 5 min en hacerlo...
Salu2
Mercuren escribió:mik0 escribió:Nivel Facil
Haz un script para cambiar el UID/GID del usuario. El nombre del usuario / numero de uid / numero de gid se comprobara antes de modificar nada. Si ya existe un usuario con ese uid / gid se empezará desde 0 comentandole a user donde ha fallado (si el uid esta ocupado, si el gid esta ocupado, si el usuario no existe...) Si existe y el uid / gid no estan ocupados, se cambiará.
Es el ultimo script que he tenio que hacer para el proyecto en el que estoy. El script no deberia llevarte mas de 5 min en hacerlo...
Salu2
u_u lo siento pero a tantas no llego ni por asomo.
Todavía no he dado un nivel tan "fácil" pero estoy intentando aprender scripting por mi cuenta, por eso estoy mirando manuales.
Sé que en ese script hay que usar variables, cosas como "then" "if"...
Pero si quieres podrías poner el script así me hago una idea.
Y ahora por preguntar una cosa, eres de superior o de universidad?
#!/bin/bash
echo -n "Introduce el nombre de usuario que va a modificar: "
read user
echo -n "Introduce numero de UID que desea (usuario): "
read uid_user
echo -n "Introduce numero de GID que desea (grupo): "
read gid_user
if [ "$user" = "`cut -d: -f1 /etc/passwd | grep $user`" ]; then
echo Usuario valido
else
echo Usuario no encontrado
exit 1
fi
if [ "$uid_user" = "`cut -d: -f3 /etc/passwd | grep $uid_user`" ]; then
echo "Disculpe sinior, pero ese UID ya esta pillado..."
else
usermod -u $uid_user $user
fi
if [ "$gid_user" = "`cut -d: -f3 /etc/group | grep $gid_user`" ]; then
echo "Busca otro GID, el que ha metio ya esta pillao"
else
groupmod -g $gid_user $user
fi
#!/bin/bash
echo -n "Introduce el nombre de usuario que va a modificar: "
read user
echo -n "Introduce numero de UID que desea (usuario): "
read uid_user
echo -n "Introduce numero de GID que desea (grupo): "
read gid_user
if [ "$user" = "`cut -d: -f1 /etc/passwd | grep $user`" ]; then
echo Usuario valido
else
echo Usuario no encontrado
exit 1
fi
if [ "$uid_user" = "`cut -d: -f3 /etc/passwd | grep $uid_user`" ]; then
echo "Disculpe sinior, pero ese UID ya esta pillado..."
else
usermod -u $uid_user $user
fi
if [ "$gid_user" = "`cut -d: -f3 /etc/group | grep $gid_user`" ]; then
echo "Busca otro GID, el que ha metio ya esta pillao"
else
groupmod -g $gid_user $user
fi
echo -n "Este script se va a usar para modificar el UID/GID para OpenNebula (s/n)"
read sino
if [ "$sino" = "s" ]; then
if [ "$user" = "oneadmin" ]; then
echo "Ok! El usuario elegido es oneadmin, se sigue con el script!"
ONEHOME=/var/lib/one
chown -R $user:$user "$ONEHOME/.ssh"
chmod 755 "$ONEHOME/.ssh"
chmod 600 "$ONEHOME/.ssh/authorized_keys"
chown -R $user:$user /var/lib/one
chown $user /var/log/one
chown $user /var/run/one
chown $user /var/lock/one
if [ -d "$ONEHOME/images" ]; then
echo "La carpeta images ya existe, omitiendo paso"
else
mkdir -p $ONEHOME/images
chown -R $user:$user "$ONEHOME/images"
fi
else
echo "Nor!!!"
#echo "QUE ME ESTAS CONTANDO SHURMANO, EL UZUARIO HELEJIO NO ES ONEADMIN!!!!!!."
exit 1
fi
else
echo "Pues nada, hasta aqui pescao vendio. BYE!!!"
exit 1
fi
exit 0
KiAn escribió:Yo te voy a comentar uno mas fácil aun
Un script que se quede corriendo (sin necesidad de terminal abierta) y ejecute un comando cada 24h
Esto te puede valer en un futuro si quieres usar rsync con algún servidor
.mp3 5GB
.ogg 3.1GB
.avi 1.5GB
.doc 200MB
etc...
Yog-Sothoth escribió:KiAn escribió:Yo te voy a comentar uno mas fácil aun
Un script que se quede corriendo (sin necesidad de terminal abierta) y ejecute un comando cada 24h
Esto te puede valer en un futuro si quieres usar rsync con algún servidor
Para aprender algunos comandos básicos puede valer, pero en un servidor usarías cron.