Красивого пути чтоб реализовать именно это, насколько я знаю - нет.
Из костылеподобных - я бы скриптом переписывал этот файл в зависимости от текущего юзера.
(не пробовал, но думаю должно получиться)
Как сквид различит пользователя? Аутентификация на проксе? Нет, не слышал! %) очень неудобно Неудобно гадить в почтовый ящик. А прописать логины-пароли - не такое уж и сложное дело.
Та все я слышал, о чем ниже и написал. МНЕ кажется, что в случае ТС (заблокировать вк на одной машине) сквид - это во первых из пушки по воробъям, во вторых - геморно и с паролями для каждого пользователя неудобно. ИМХО.
ну ради одного одного ВК - да. А так, действительно можно впендюрить в пользовательскую автозагрузку скрипт, который будет вываливать в хостс требуемое содержимое.
Думаю на баше вполне реализуемо. Но за Вас, разумеется, делать это никто не будет. Изучайте.
Алгоритм приблизительно такой:
- получили текущего пользователя
- сравнили с сохраненным в файле значением
- если отличается - переписали хостс файлом с настройками для данного пользователя
- сохранили в файл текущего пользователя
А можно по такому алгоритму:
- создать рядом с оригинальным hosts. kolya_hostts, vasya_hosts
- когда происходит логин, скрипт подхватывает имя и просто задействует его хост файл(префикс имени)
система в принцепе может работать с другим именем файла, отличным от hosts?
зы а если на питоне написать - кажется питон проще...?
Это самый простой и глупый способ. В идеале проверку сделать, типа if [ -f $(cat /etc/hosts |grep $name) ]; then
заменяем конфиг
else
ничего не трогаем
fi
А в каждом хосте сделать надпись закомментированную #name (имя юзера) для каждого юзера
И, да, на питоне проще, если ты его знаешь. Но зачем, если на баше 3 строчки? А на питоне это растянется поболе...
Бегло глянул - помоему он не того юзера детектит. Нужен же тот, который в кедах залогинин (kdeinit4: kded4 [kdeinit]).
--добавлено--
Не будет работать если используется переключение пользователя. При этом в команде w висят все пользователи и абсолютно непонятно кто сейчас активен в кедах. :( Способ детекта пользователя не подходит. Может через d-bus как-то можно? (не искал пока)
Ну тогда просто grep делать не по :0, а по "kdeinit4: kded4 [kdeinit]"
Ну и немного перестроить осталное.
А вообще не думаю что там одновременнонесколько пользователей залогинено будет... Комп то один вроде и по ssh туды никто дополнительно стучаться е будет.
по ssh захожу постоянно, когда нужно выключить комп или виснит рабочий стол.
После установки 14.04. Когда завершаю сеанс(чтобы переключится на др. пользователя), очень часто черный экран и одна панель задач (на работе такое было тоже неоднократно) На 12.04 такого небыло никогда!
Красивого пути чтоб реализовать именно это, насколько я знаю - нет.
Из костылеподобных - я бы скриптом переписывал этот файл в зависимости от текущего юзера.
(не пробовал, но думаю должно получиться)
А сделать так чтоб в момент логина каждому пользователю подсовывался свой hosts ?
Думаю это возможно, но как, понятия не имею.
Squid в помощь.
Заводишь учетные записи и блокируешь firewall'ом пропуск трафика.
ТС хочет делать все на одной машине. Как сквид различит пользователя?
Делать разные пароли для прокси для разных пользователей - очень неудобно имхо.
А кто тебе мешает установить кальмара на локальную машину и выставить небольшой таймаут?
Аутентификация на проксе? Нет, не слышал! %)Неудобно гадить в почтовый ящик. А прописать логины-пароли - не такое уж и сложное дело.
Та все я слышал, о чем ниже и написал. МНЕ кажется, что в случае ТС (заблокировать вк на одной машине) сквид - это во первых из пушки по воробъям, во вторых - геморно и с паролями для каждого пользователя неудобно. ИМХО.
ну ради одного одного ВК - да. А так, действительно можно впендюрить в пользовательскую автозагрузку скрипт, который будет вываливать в хостс требуемое содержимое.
В пользовательскую нельзя. Я думал об этом. У пользователя будут права ее отключить. Надо чтоб от рута это происходило.
Можно не в момент логина. Можно по хрону раз в минуту чекать пользователя и если он поменялся - менять хостс
Как это сделать?
Я так понимаю нужен скрипт на каком языке?
Вобщем понятия не имею как это реализовать.
Думаю на баше вполне реализуемо. Но за Вас, разумеется, делать это никто не будет. Изучайте.
Алгоритм приблизительно такой:
- получили текущего пользователя
- сравнили с сохраненным в файле значением
- если отличается - переписали хостс файлом с настройками для данного пользователя
- сохранили в файл текущего пользователя
и вызывать по хрону раз в минуту к примеру.
А можно по такому алгоритму:
- создать рядом с оригинальным hosts. kolya_hostts, vasya_hosts
- когда происходит логин, скрипт подхватывает имя и просто задействует его хост файл(префикс имени)
система в принцепе может работать с другим именем файла, отличным от hosts?
зы а если на питоне написать - кажется питон проще...?
В крон суём ежеминутный скрипт, в котором вот такая бабуйня:
#!/bin/bash
name=$(w |awk '{print $1 $2}'|grep ":0"|rev | cut -c 3- | rev)
cp "/root/"$name"_hosts" /etc/hosts
Это самый простой и глупый способ. В идеале проверку сделать, типа
А в каждом хосте сделать надпись закомментированную #name (имя юзера) для каждого юзера
И, да, на питоне проще, если ты его знаешь. Но зачем, если на баше 3 строчки? А на питоне это растянется поболе...
Бегло глянул - помоему он не того юзера детектит. Нужен же тот, который в кедах залогинин (kdeinit4: kded4 [kdeinit]).
--добавлено--
Не будет работать если используется переключение пользователя. При этом в команде w висят все пользователи и абсолютно непонятно кто сейчас активен в кедах. :( Способ детекта пользователя не подходит. Может через d-bus как-то можно? (не искал пока)
Ну тогда просто grep делать не по :0, а по "kdeinit4: kded4 [kdeinit]"
Ну и немного перестроить осталное.
А вообще не думаю что там одновременнонесколько пользователей залогинено будет... Комп то один вроде и по ssh туды никто дополнительно стучаться е будет.
по ssh захожу постоянно, когда нужно выключить комп или виснит рабочий стол.
После установки 14.04. Когда завершаю сеанс(чтобы переключится на др. пользователя), очень часто черный экран и одна панель задач (на работе такое было тоже неоднократно) На 12.04 такого небыло никогда!
Отправить комментарий