Загрузить файлы в «/»
This commit is contained in:
parent
2f0aa77af3
commit
4eff0fd3dd
31
block_local_users
Normal file
31
block_local_users
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Скрипт будет работать если определена переменная окружения I_AM_SURE=1
|
||||||
|
|
||||||
|
if [ "$EUID" -ne 0 ]
|
||||||
|
then echo "root only"
|
||||||
|
exit 255
|
||||||
|
fi
|
||||||
|
|
||||||
|
# диапазон локальных уидов берем из /etc/login.defs
|
||||||
|
uid_max=$(grep UID_MAX /etc/login.defs | awk '{print $2}')
|
||||||
|
uid_min=$(grep UID_MIN /etc/login.defs | awk '{print $2}')
|
||||||
|
|
||||||
|
# диапазон исключений
|
||||||
|
reserved_min=1000
|
||||||
|
reserved_max=1100
|
||||||
|
|
||||||
|
local_users=$(awk -v RMIN=$reserved_min -v RMAX=$reserved_max -v UID_MAX=$uid_max -v UID_MIN=$uid_min -F ':' \
|
||||||
|
'{if ( (($3>=UID_MIN) && ($3<RMIN)) || (($3>RMAX) && ($3<=UID_MAX)) ) {print $1} }' \
|
||||||
|
/etc/passwd | sort -n )
|
||||||
|
|
||||||
|
DRYRUN='/usr/bin/echo'
|
||||||
|
|
||||||
|
if [ "xxx${I_AM_SURE}" == "xxx1" ]; then
|
||||||
|
DRYRUN=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
# блокируем всех пользователей, кто остается за пределами списков
|
||||||
|
for i in $local_users; do
|
||||||
|
${DRYRUN} /usr/sbin/passwd --lock $i
|
||||||
|
done
|
Loading…
Reference in New Issue
Block a user