Загрузить файлы в «/»
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