Есть комп с убунту и есть киндер, который злоупотребляет оным. Необходимо что бы в 11 часов вечера тачка вырубалась и не загружалась до 7 утра. Что лороветяне мне посоветуют ?
Поставить в крон на выполнение раз в минуту скрипт, который будет проверять время и гасить машину при необходимости. Этот же скрипт запихать в /etc/rcX.d
Проблему надо решать от ее причины, а не бороться со следствиями.
Если киндер умный, то придумает как обойти все ваши наивные способы защиты (кстати, пароль надо уж тогда на Биос ставить, а не на загрузчик). А если тупой -- то вместо сидения с 11 до 7 за компьютером, будет вылазить в форточку и гоп-стопом заниматься или травку в подворотне курить в то же время.
Почему киндер не хочет спать ночью как все нормальные сапиенсы? Днем отсыпается? Как он потом в школе сидит или в университете? Вот отсюда и танцуйте. А не кабель воруйте.
если серьезно - необходимость использования технических средств для такого тривиала показывает что ребенок не под контролем. Использование их - тоже плохо, дите укрепляется в мысли что ему никто не указ, и если на что-то тянет - то можно.
ремень - лучше чем крон джоб, но, вобщем, тоже - признание неэффективности воспитательных методов.
> ремень - лучше чем крон джоб, но, вобщем, тоже - признание неэффективности воспитательных методов.
Не нравится ремень, вот вам другой, осень воспитательный метод.
Проникновенно глядя в клаза киндеру, говорите: Твое сидение за машиной ночью вредит твоему здоровью/работе/учебе (нужное подчеркнуть). Если ты сам не можешь контролировать свои соблазны, я тебе один раз помогу. Если еще хоть раз я узнаю, что ты сидел за машиной в неположенное время, ты ее лишаешься на неделю. Если это повторится -- лишишься насовсем. А сейчас марш на кухню посуду мыть, маме помощь нужна. И паркет заодно натри.
Главное, если сказал -- именно так и сделать.
Развивает гражданскую отвтственность. :)
/etc/security/time.conf здесь задаешь период времени (7:00-23:00)
когда юзер может логиниться в систему.
В крон /etc/cron.d/killuser2300 ставишь что-то вроде:
0 23 * * * root pkill -u $USERNAME ; sleep 3; pkill -9 -u $USERNAME
P.S. 2all : Говорящие о воспитании и морали лучше идите в толкс.
> P.S. 2all : Говорящие о воспитании и морали лучше идите в толкс.
Подход настоящего программиста - это решать _настоящую_ задачу заказчика, а не то, что заказчик думает про свою задачу (и не то, как он ее формулирует).
Вопросы воспитания несомненно обсудить нужно, но техническое решение это не отменяет.
Дочь начала злоупотреблять играми, с временем согласна но "ещё немножко", "не усмотрела" и т.д. Рассердился и сделал тупое poweroff после часа логина. В виндосе тоже нашёл какую-то приблуду.
Через некоторое время она и говорит "виндос предупреждает а линукс сразу", говорю ей "хочешь всё выключу, будешь класть рядом часы и сама следать за временем" -- "нет, оставь так".
Я об этом и говорю. Заказчик пришел не с проблемой, а уже с готовым сценарием ее решения (такое случается почти всегда). Задача правильного разработчика - узнать, в чем суть проблемы и, если нужно, предложить более оптимальное решение, даже если оно не согласуется с "заготовкой" заказчика. Конечно, это требует доверия со стороны заказчика и некоторой отваги со стороны разработчика...
>>Твое сидение за машиной ночью вредит твоему здоровью/работе/учебе (нужное подчеркнуть). > Цитата: "Ой, что уже мне нельзя за компьютером посидеть ? Я же никому не мешаю. Я же тихонько фильм смотрю".
Мда. Проблема глубже, чем я думал. Родители тоже ничего не слышат из того, что им говорят... Наследственность. :D Еще раз прочитайте предложенную фразу.
Твое сидение за машиной ночью вредит ***ТВОЕМУ*** здоровью/работе/учебе (нужное подчеркнуть).
При чем тут "никому не мешаю"? :)
Пожразумевается: "Я несу ответственность за твое здоровье и учебу. Поэтому, делай, что тебе говорят." > Вовсяком случае что именнно надо делать с кроном ? Как выглядит эта ежеминутная проверка времени ?
> Пожразумевается: "Я несу ответственность за твое здоровье и учебу.
Да, это правильно.
Только совсем идеально, если получится не "я несу, говорю" а "мне в общем всё равно, но через столько времени ты останешься без глазок, пищеварения, простуженным и т.д.".
>"Я несу ответственность за твое здоровье и учебу. Поэтому, делай, что тебе говорят."
приблизительный ответ: "Ой, что уже мне нельзя за компьютером посидеть ? Я же никому не мешаю. Я же тихонько фильм смотрю". ;)
Во всяком случае, как заметили вверху, я сказал в чём мне помочь и именно это я хочу услышать.
Автору который написал пример для крона: дык если так то тачка вырубится,а киндер потом её опять врубит и будет сидеть как ни в чём не бывало. Кроме того что бы оно вырубалось в 23-00 мне надо тчо бы оно и не врубалось до 7 утра методом проверки времени каждые 3 минуты. Как это сделать ?
00 23 * * * /sbin/shutdown -h now 1>/dev/null 2>&1
в /etc/rc.d/rc.local добавляешь:
curtime=`date +%H`
if [ "$curtime" -lt "7" ]; then
shutdown -h now
fi
Глобально и надежно. Ежели киндер не осилит параметров загрузки ядра (типа single или init=/bin/sh), то нормально. А ежели осилит - то пусть сидит. Человек из него получится :)
> Это там чикагщина так способствует рацвету снобизма?
Отож! :D
Так делать не принято. Готовое решение можно требовать с человека, которому платишь деньги. Если хочешь получить что-то на халяву, дай возможность людЯм потрендеть, и сделай вид, будто они "направляют" тебя к правильному решению, которое ты потом "обнаружишь" сам.
Это сетевая этика, а не снобизм.
Впрочем, может, кому-то нравится, что его держат за мальчика на побегушках. ;)
ЗЫ По теме - невозможно придумать полностью защищенное решение. Дети по определению сообразительней родителей - через месяц-другой парнишка освоит загрузку в single user и отполирует кронтаб. Дальше будет гонка вооружений, в которую вы ГАРАНТИРОВАННО проиграете - если не технически (однажды купите закрытую железку или просто отберете комп), то педагогически (потеряв остатки доверия ребенка).
И, да, это не рабочий вариант, как несложно заметить (ребенок с мамой один ноутбук делят, лень туда к ним лезть). Но вроде без заметных ошибок, думаю несложно разобраться и причесать (по моему туда я только скопировал и поправил переменные).
> Готовое решение можно требовать с человека, которому платишь деньги
Если я спрашиваю совета а кто-то говорит что у него уже есть готовое изделие но он мне его не даст, то к такому человеку я отнесусь с подозрением. Как минимум.
Строго говоря, это вообще не твоя задача. Этот скрипт считает время пользователя и при превышении лимита останавливает машину. Но с другой стороны, если он отыграет днем, то ночью время всё равно кончится.
Время указано всего 6 минут, там в начале, это как раз для проверки работы перед запуском. И местоположение файлов, в которых считается время, нужно правильное указать.
>киндер, который злоупотребляет оным
запрет не поможет, вобще бесполезно.
Запретишь играть, включит телевизор. Зомбоящик выключишь, уидёт играть с друзьями/у друзей. Надо ставить renice ребёнку на дела, которые он делает. Если у него приоритет уроков никакой, то запрет играть это вообще не решение, а инициатива сбоку, влияющая лишь косвенно. Надо ему прямо ткнуть, что уроки важнее.