linux @ 14 Сентябрь 2008
Не знаю есть, ли возможность перезагружать и выключать компьютер в Fluxbox штатными методами(как например у Gnome есть соответствующий апплет), но ответа на этот вопрос я не нашёл.
Решение пришло мне из статьи , которую я буквально недавно написал.
Там есть строчка про добавление строки в /etc/sudoers:
Я сегодня собственно и подумал, а почему бы такое же не сделать для /bin/halt и /bin/reboot.
Чтобы не вводить постоянно пароль когда захочу перезагрузиться, или выключить компьютер, да и возможность это делать через меню Fluxbox является приятной. Единственное, что это недостаточно безопасно.
Итак, по порядку:
Нам понадобится Live CD какой либо операционной системы Linux, знание имени пользователя и того как Вы устанавливали систему(точнее как вы разбивали диски), под которым вы работаете(надеюсь это не root), и немного выпрямленные манипуляторы типа руки.
1. У меня был разбит так, что /usr и /var были на отдельных разделах(sda5 и sda6) а на / (sda1) висели другие разделы, кроме /home.
Узнать на каком разделе у Вас находится /etc можно командой:
Файловую систему под которую у вас отформатирован Ваш раздел можно узнать командой:
где /dev/sda1 результат первой команды
2. Теперь у нас есть вся необходимая информация, загружаемся с Live CD и открываем терминал и выполняем:
По шагам:
Создаём директорию куда будем подключать раздел. Подключаем его(данные о разделе и типе файловой системы мы узнали ранее). Переходим внутрь. Меняем права на работу с файлом на доступ для всех.(по умолчанию они только на чтение)
Открываем текстовым редактором файл, добавляем строки:
Где user - пользователь под которым вы работаете в системе.
Сохраняем, и выполняем:
После этого перегружаемся в обычную систему, добавляем в ~/.fluxbox/menu
Сохраняем и пользуемся :)
Решение пришло мне из статьи , которую я буквально недавно написал.
Там есть строчка про добавление строки в /etc/sudoers:
ivman ALL = NOPASSWD: /bin/umountЯ сегодня собственно и подумал, а почему бы такое же не сделать для /bin/halt и /bin/reboot.
Чтобы не вводить постоянно пароль когда захочу перезагрузиться, или выключить компьютер, да и возможность это делать через меню Fluxbox является приятной. Единственное, что это недостаточно безопасно.
Итак, по порядку:
Нам понадобится Live CD какой либо операционной системы Linux, знание имени пользователя и того как Вы устанавливали систему(точнее как вы разбивали диски), под которым вы работаете(надеюсь это не root), и немного выпрямленные манипуляторы типа руки.
1. У меня был разбит так, что /usr и /var были на отдельных разделах(sda5 и sda6) а на / (sda1) висели другие разделы, кроме /home.
Узнать на каком разделе у Вас находится /etc можно командой:
df /etc | grep dev | awk '{print $1}'Файловую систему под которую у вас отформатирован Ваш раздел можно узнать командой:
mount | grep /dev/sda1 | awk '{print $5}'где /dev/sda1 результат первой команды
2. Теперь у нас есть вся необходимая информация, загружаемся с Live CD и открываем терминал и выполняем:
mkdir ~/root
sudo mount -t ext3 /dev/sda1 ~/root
cd ~/root
sudo chmod 777 etc/sudoers
sudo gedit etc/sudoersПо шагам:
Создаём директорию куда будем подключать раздел. Подключаем его(данные о разделе и типе файловой системы мы узнали ранее). Переходим внутрь. Меняем права на работу с файлом на доступ для всех.(по умолчанию они только на чтение)
Открываем текстовым редактором файл, добавляем строки:
user ALL = NOPASSWD: /bin/halt
user ALL = NOPASSWD: /bin/rebootГде user - пользователь под которым вы работаете в системе.
Сохраняем, и выполняем:
sudo chmod 440 etc/sudoersПосле этого перегружаемся в обычную систему, добавляем в ~/.fluxbox/menu
[exec] (Shutdown) {sudo halt 0}
[exec] (Reboot) {sudo reboot 0}Сохраняем и пользуемся :)

Сентябрь 14th, 2008 at 16:16
Хм.. непонятно.. Зачем такие сложности? Зачем awk, не проще ли "cat /etc/fstab"? Зачем вообще грузится с Live-CD, все можно сделать без перезагрузки? И небольшой хинт из man sudoers - все команды можно записывать в одну строчку, разделяя их запятыми:
user ALL = NOPASSWD: /bin/halt, /bin/reboot
P.S. для редактирования файла sudoers есть специальная команда visudo, запускающая редактор из переменной окружения EDITOR (или vi если переменная не определена) и после редактирования проверяющая синтаксис файла на наличие ошибок...
Сентябрь 14th, 2008 at 16:55
2RT200: Ну просто чтобы, что называется не думать :)
За хинт спасибо. А про visudo не знал, а то у меня там ошибка писалась.
Спасибо за подсказку :) Очень всё сокращается тогда.
Сентябрь 15th, 2008 at 19:10
блин когда ввожу в /etc/sudoers: что-нибудь, opensuse 10,3 неможет потом скомпилировать его.. запарился с ним.. приходится все время через
su
init 0
^))
Октябрь 21st, 2008 at 23:32
~/.fluxbox/menu
[exec] (выключение) {shutdown -h now}
[exec] (перезагрузка) {reboot}
Ноябрь 3rd, 2008 at 13:34
Есть еще один вариант, который более проще, чем все эти танцы с бубном:
1. sudo -s
2. ln -s /sbin/shutdown /usr/bin/shutdown
3. chmod a+s /usr/bin/shutdown
4. [exec] (Reboot) {shutdown -r now}
[exec] (Shutdown) {shutdown -h now}