[Ayuda] Script linux

Vereis tengo un script que funciona todo menos la linea que pone passwd user_smx_$departament$i -l que en teoria tiene que bloquear la contrasenya pero no se porque no lo hace.


#!/bin/bash

echo A quin departament pertany els usuaris
read departament
for i in $(seq 10 11)
do
useradd -G $departament -d /home/user_smx_$departament$i -m -p '' user_smx_$departament$i
passwd user_smx_$departament$i  -l
echo user_smx_$departament$i:Olesa01 |chpasswd
done
en el passwd no debería ir primero las opciones y después el usuario?

passwd -help
Usage: passwd [options] [LOGIN]
Lo he probado de ambas formas y el resultado es el mismo.
ejecuta el script paso a paso, bash -x script.sh y comprueba lo que le estás ejecutando
Me sale esto pero no saco nada en claro (he cambiado el -l por -lock)

root@david-desktop:/home/david/Escriptori# bash -x crea.sh
+ echo A quin departament pertany els usuaris
A quin departament pertany els usuaris
+ read departament
jamonu
++ seq 10 11
+ for i in '$(seq 10 11)'
+ useradd -G jamonu -d /home/user_smx_jamonu10 -m -p '' user_smx_jamonu10
useradd: avís: el directori personal ja existeix.
No s'hi copiarà cap fitxer del directori skel.
+ passwd --lock user_smx_jamonu10
passwd: password expiry information changed.
+ echo user_smx_jamonu10:Olesa01
+ chpasswd
+ for i in '$(seq 10 11)'
+ useradd -G jamonu -d /home/user_smx_jamonu11 -m -p '' user_smx_jamonu11
useradd: avís: el directori personal ja existeix.
No s'hi copiarà cap fitxer del directori skel.
+ passwd --lock user_smx_jamonu11
passwd: password expiry information changed.
+ echo user_smx_jamonu11:Olesa01
+ chpasswd


No pregunteis por los nombres de los grupos xD
passwd --lock user_smx_jamonu11
passwd: password expiry information changed.


yo por lo que leo ha funcionado bien.... mira el fichero /etc/shadow y si el usuario tiene algo del estilo usuario:! es que esta bloqueado
Vale fallo mio, había entendido por bloquear, que el usuario no lo pudiese cambiar.

Si alguien sabe como hacer que el usuario no pueda cambar su propia contraseña lo agradecería muchísimo.

Y gracias nu_kru por la ayuda.
simplemente restringe el uso del comando passwd solamente a root y listo :D

Mira si el comando esta en /bin o /usr/bin, si esta por ahi, muevelo a /sbin y lo borras de los primeros y despues cambias los permisos de ejecucion:

(como root)
chown root:root /sbin/passwd
chmod 700 /sbin/passwd

y listo, ningun usuario podra modificar su contraseña, solamente el root :D
7 respuestas