URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 10385
[ Назад ]

Исходное сообщение
"Как ограничить время логина пользователя в FreeBSD?"

Отправлено bio , 17-Ноя-01 22:13 
Как ограничить время логина пользователя в FreeBSD?
Например логиниться на FreeBSD только с 12:00 до 14:00 каждый день?
остальное время nologin

Содержание

Сообщения в этом обсуждении
"RE: Как ограничить время логина пользователя в FreeBSD?"
Отправлено amdk7 , 18-Ноя-01 00:31 
>Как ограничить время логина пользователя в
>FreeBSD?
>Например логиниться на FreeBSD только с
>12:00 до 14:00 каждый день?
>
>остальное время nologin
Вопрос интересный. Как это сделать средствами Free или Linux не знаю если кто знает сообщите плиз, будет интересно, наверно можно. Зато знаю как можно обойти. Если логинятся что бы пользоваться нетом, то поступи просто в 14 ставь блок пакетам, если у тебя какой-нибудь ipchains а в 12 убирай его или всё разрешай. Не будет никто висеть даже если подсоединиться если от него пакеты не идут. Ну минут по 5 будет терят на тупых пользователей.
Либо другой радикальный метод. Впрочем и против тех кто много сидит где-то. Запускай прогу по cron
некий скрипт.
Пусть скрипт смотрит по ps список процессов и когда они запущены с помощью sed и cut вырезай время нужного и сравнивай если пользователь засиделся или ему не положено сидеть в это время то пускай чего хочешь.. шли ему предупреждения либо просто kill -9 далее_pid_процесса нерадивого пользователя и всё. После того как просекут что более минуты висеть не получиться не будут.
Чем не выход?


"RE: Как ограничить время логина пользователя в FreeBSD?"
Отправлено nubi , 18-Ноя-01 01:25 
Да вы что.. Это тривиально.

пишешь скрипт 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 не силен, напиши , проверь.


"RE: Как ограничить время логина пользователя в FreeBSD?"
Отправлено nubi , 18-Ноя-01 01:30 
А по поводу убития клиента по истечении срока -
умничать не буду, наверняка кто-то что-нить красивое подскажет. (в лоб можно по крону вырубать, вести лог, все-такое.)

"RE: Как ограничить время логина пользователя в FreeBSD?"
Отправлено lavr , 18-Ноя-01 15:53 
>Да вы что.. Это тривиально.
>
>пишешь скрипт 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 (как альтернатива верхнему)


"RE: Как ограничить время логина пользователя в FreeBSD?"
Отправлено green , 18-Ноя-01 16:14 
dlya ineta samiy luchiy variant stavit radius

a 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


"RE: Ъръ юуПрэшВшРЭ тПхьЪ ыюушэр яюыЭчютрРхыЪ т FreeBSD?"
Отправлено bio , 19-Ноя-01 12:10 
ёярёшсю чр ёютхРШ, ёючфры ъырёёШ яюыЭчютрРхыхщ ш тёИ ЮЪ


"RE: Как ограничить время логина пользователя в FreeBSD?"
Отправлено Vlad , 24-Ноя-01 16:10 
>Как ограничить время логина пользователя в
>FreeBSD?
>Например логиниться на FreeBSD только с
>12:00 до 14:00 каждый день?
>
>остальное время nologin
man login.conf

times.allow=1200-1400:

второй вариант idled