На сервере установлена FreeBSD 4.7. К нему подключены 2 модема: пость будут modem1 и modem2. Людям розданы пароли и они их пользуют. С помощью crontab'a доступ одного из пользователей (за счет прописывания-стирания его логина в файле паролей) ограничен с 18 до 22 часов. Однако, если его не выгнать в 22 - сам не уходит до 23. Мера в виде "killall pppd" в 22 часа помогает, но зато другой пользователь тоже принудительно отключается, а это ему не нравится. Подскажите, как это можно ПРОСТО организовать без скриптов.
Отключение пользователя надо проводить не через killall pppd а через kill -9 `cat /var/run/pppN` где N-номер отключаемого интерфейса ppp. Тогда второй пользователь останется там где надо.
>На сервере установлена FreeBSD 4.7. К нему подключены 2 модема: пость будут
>modem1 и modem2. Людям розданы пароли и они их пользуют. С
>помощью crontab'a доступ одного из пользователей (за счет прописывания-стирания его логина
>в файле паролей) ограничен с 18 до 22 часов. Однако, если
>его не выгнать в 22 - сам не уходит до 23.
>Мера в виде "killall pppd" в 22 часа помогает, но зато
>другой пользователь тоже принудительно отключается, а это ему не нравится. Подскажите,
>как это можно ПРОСТО организовать без скриптов.# man login.conf
# whereis idledна выбор, или совместно
Да, можно поробовать и так:
#!/usr/bin/perl
$username='ТОТ_КОГО_НАДО_УБРАТЬ';
open COMMAND, "ps au|";
@pids = grep(s/$username\s+(\d+)\s+([\w\W]+)/$1/ei,<COMMAND>);
close COMMAND;
foreach $pid(@pids){system "kill -9 $pid";}При желании можешь добавить обработку командной строки. Этот скрипт прикроет все процессы, которые открыл юзер.