Как ограничить время логина пользователя в FreeBSD?
Например логиниться на FreeBSD только с 12:00 до 14:00 каждый день?
остальное время nologin
>Как ограничить время логина пользователя в
>FreeBSD?
>Например логиниться на FreeBSD только с
>12:00 до 14:00 каждый день?
>
>остальное время nologin
Вопрос интересный. Как это сделать средствами Free или Linux не знаю если кто знает сообщите плиз, будет интересно, наверно можно. Зато знаю как можно обойти. Если логинятся что бы пользоваться нетом, то поступи просто в 14 ставь блок пакетам, если у тебя какой-нибудь ipchains а в 12 убирай его или всё разрешай. Не будет никто висеть даже если подсоединиться если от него пакеты не идут. Ну минут по 5 будет терят на тупых пользователей.
Либо другой радикальный метод. Впрочем и против тех кто много сидит где-то. Запускай прогу по cron
некий скрипт.
Пусть скрипт смотрит по ps список процессов и когда они запущены с помощью sed и cut вырезай время нужного и сравнивай если пользователь засиделся или ему не положено сидеть в это время то пускай чего хочешь.. шли ему предупреждения либо просто kill -9 далее_pid_процесса нерадивого пользователя и всё. После того как просекут что более минуты висеть не получиться не будут.
Чем не выход?
Да вы что.. Это тривиально.пишешь скрипт timedlogin.sh
#!/bin/sh
set `date "+ %H`
if [ $1 gt 12 & $1 le 13 ] then
/usr/bin/login
else
/usr/bin/nologin
fiПотом этот скрипт в /etc/shells
и поставить chsh user ему этот шелл.что то такое, я в sh не силен, напиши , проверь.
А по поводу убития клиента по истечении срока -
умничать не буду, наверняка кто-то что-нить красивое подскажет. (в лоб можно по крону вырубать, вести лог, все-такое.)
>Да вы что.. Это тривиально.
>
>пишешь скрипт timedlogin.sh
>
>#!/bin/sh
>set `date "+ %H`
>if [ $1 gt 12 &
>$1 le 13 ] then
>
>/usr/bin/login
>else
>/usr/bin/nologin
>fi
>
>Потом этот скрипт в /etc/shells
>и поставить chsh user ему этот
>шелл.
>
>что то такое, я в sh
>не силен, напиши , проверь.
>как вариант, но НЕ ЗАБЫТЬ поставить trap на
прерывания, иначе этот shell-script в качестве
логина можно срубить.Правильнее использовать login.conf:
`man login.conf` - во FreeBSD by default
в систему встроен tcpwrapper и все что душе
угодно доступно через login.conf:- можно использовать системный для умолчаний
(к примеру развести интерактивных пользователей
по группам, классам и наваять для них все что
необходимо)
- можно раскладывать пользователям, но chown
от root'а чтобы не могли изменить.для срубания: ideld (как альтернатива верхнему)
dlya ineta samiy luchiy variant stavit radiusa esli prosto vhod v sistemu po shell'i - mozhno ispolzovat class'i ..
mozhno sozdat class usera s limitov po vhodu ..
a potom prisvoit etot class useru
ёярёшсю чр ёютхРШ, ёючфры ъырёёШ яюыЭчютрРхыхщ ш тёИ ЮЪ
>Как ограничить время логина пользователя в
>FreeBSD?
>Например логиниться на FreeBSD только с
>12:00 до 14:00 каждый день?
>
>остальное время nologin
man login.conftimes.allow=1200-1400:
второй вариант idled