View difference between Paste ID: 1Az7ZWZw and xbZEr8hm
SHOW: | | - or go back to the newest paste.
1
#!/bin/bash
2
#ismael moreno
3
#for.sh
4
#peso de cada perfil,superan 200MB ¿bloquear el accesso?,bin/false
5
#se que me falta comentarle
6
7-
for VARIABLE in `ls - /home`
7+
# Vale, pues lo comentaré yo. (angeldp)
8-
do
8+
9-
PERSOPERFILES=`du -s "/home/$VARIABLE" 2> /dev/null | cut -d: -f1`
9+
10-
echo " el peso de los perfiles es de $PESOPERFILES "
10+
# Vale, lista de carpetas en /home
11-
done
11+
# el problema es que 
12-
sleep 2
12+
for VARIABLE in `ls /home`
13-
echo " este perfil es de $VARIABLE "
13+
	do
14
# Mejor du -sh
15-
if [ "$PERSOPERFILES" -gt "200000" ]
15+
	PESOPERFILES=`du -s "/home/$VARIABLE" 2> /dev/null | cut -d: -f1`
16-
then
16+
# Mejor echo "El directorio $VARIABLE ocupa $PESOPERFILES"
17-
echo " la carpeta /home/$VARIABLE del usuario $VARIABLE pasa del limite permitido"
17+
	echo " el peso de los perfiles es de $PESOPERFILES "
18-
echo " ¿quiere bloquear la cuenta? "
18+
# done
19-
sleep 2
19+
# El problema del bucle for anterior es que no lo aprovechas.
20-
echo " pulse s para aceptar o n para denegar "
20+
# por eso comento el fin del bucle. Debe finalizar abajo del todo
21-
read -n1 OPC
21+
# Todo lo que pones a continuación debería ir dentro. Una 
22-
fi
22+
# vez que ha finalizado $VARIABLE y $PESOPERFILES no se modifican
23
# sleep 2
24-
case $OPC in
24+
 	echo " este perfil es de $VARIABLE "
25-
s | S )
25+
26-
echo " se esta procediendo a bloquear la cuenta "
26+
# Las comillas son solo para cadenas de caracteres, con números no
27-
echo  " espere "
27+
#	if [ "$PERSOPERFILES" -gt "200000" ]
28-
sleep 1
28+
	if [ $PESOPERFILES -gt 200000 ]
29-
echo "."
29+
		then
30-
sleep 1
30+
		echo " la carpeta /home/$VARIABLE pasa del limite permitido"
31-
echo "."
31+
		echo " ¿quiere bloquear la cuenta? "
32-
sleep 1
32+
		echo " pulse s para aceptar o n para denegar "
33-
echo "."
33+
		read -n1 OPC
34-
BLOQUEAR=`more etc/passwd | grep ^{$VARIABLE}: | cut -d ":" -f7 > campo bueno.txt
34+
# El if no acaba aquí
35-
# creo que eh cogido bien el campo siete del usuario que yo queria ahora no se como cogiendo ese campo como modificarle... y cambiarle por /bin/bash.
35+
# fi
36-
echo " terminaria de hacerlo" ;;
36+
		case $OPC in
37
			s | S )
38
			echo " se esta procediendo a bloquear la cuenta "
39
			echo  " espere "
40
			sleep 1
41
			echo "."
42
			sleep 1
43
			echo "."
44
			sleep 1
45
			echo "."
46
# La variable BLOQUEAR no pinta nada, ojo con las llaves,corta los campos buenos (-f1-6) y ojo con espacios en nombres de archivos			
47
# BLOQUEAR=`more etc/passwd | grep ^{$VARIABLE}: | cut -d":" -f7 > campo bueno.txt
48
			LINEA=`more /etc/passwd | grep ^${VARIABLE}: | cut -d: -f1-6`
49
# creo que eh cogido bien el campo siete del usuario que yo queria ahora no se como cogiendo ese campo como 
50
# modificarle... y cambiarle por /bin/bash.
51
# Pues algo así como añadir /bin/false a la línea que no tenía campo 7
52
			LINEA="${LINEA}:/bin/false"
53
Solo queda eliminar la línea del archivo con grep -v
54
			more /etc/passwd | grep -v ^${VARIABLE}: > miPasswd
55
# Añadir la línea al fichero modificado
56
			echo $LINEA >> miPasswd
57
# Y mover el archivo a su sitio (tienes que ser root, igual deberías comprobarlo antes y redireccionar los errores
58
			mv miPasswd /etc/passwd;;
59
# echo " terminaria de hacerlo" ;;
60
n | N )
61
echo " gracias por todo "
62
exit
63
esac
64
# cuando lo leas no seas malo y no te rias mucho de mi ajajajjaja
65
# el exit le eh puesto hay pero dudaba si ponerle antes
66
# no pongas el examen muy dificil que mira que nivel mas bajo tengo jajaj