Ejercicio:
Diseñar un pequeño script que reciba como parámetro un nombre de directorio, de forma que se cree ese directorio en el interior del directorio de inicio de sesión de unos determinados usuarios. Debe cumplir los siguientes requisitos:
El nombre del directorio se pasa como parámetro
Si no hay parámetros se toma como nombre del directorio “defecto” y si el número de parámetros es mayor a uno, se toma el último parámetro.
El directorio se creará para todos los usuarios cuyo uid sea mayor o igual a 500
Si el directorio ya existe añadirá un mensaje con el usuario y la fecha y hora actual al fichero errores.txt
El directorio tendrá permisos de lectura,escritura y acceso solamente para el propietario
El directorio pertenecerá al usuario correspondiente.
#! /bin/bash
clear
if [ $# -eq 0 ];then
directorio= "defecto"
else
if [ $# -gt 2 ];then
while [$# -gt 1 ];do
shift
directorio= $1
done
else
directorio=$1
fi
fi
#echo "$directorio"
cat /etc/passwd |cut -d : -f 3| while read usuario
do
if [ $usuario -gt 500 ] && [ $usuario -ne 65534 ]; then
#echo $usuario
home1=`cat /etc/passwd| grep $usuario | cut -d : -f 6`
#echo "$home1/$directorio"
if [ -d $home1 ];then
if [ -d $home1/$directorio ];then
echo "$home1/$directorio erroneo ya existe" >> error.txt
else
mkdir $home1/$directorio
chown $usuario $home1/$directorio
chmod 7 $home1/$directorio
fi
fi
fi
done