Скрипты в rc.d запускаются от рута?

Kubuntu, Xubuntu и другие

Модератор: Модераторы разделов

fergios
Сообщения: 512
ОС: debian stable

Скрипты в rc.d запускаются от рута?

Сообщение fergios »

Скрипты в rc.d запускаются от рута?
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Скрипты в rc.d запускаются от рута?

Сообщение t.t »

Да.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: Скрипты в rc.d запускаются от рута?

Сообщение fergios »

Автозапуск гостевой ОС VirtualBox'a.

Что я делаю не так?
1.Создаем файл в /etc/init.d/vbox_guest
#! /bin/sh
sudo -u user VBoxManage startvm debian --type headless //запуск не от рута, а от простого пользователя user)
2.Команду
update-rc.d vbox_guest defaults 98

После перезагрузки не запущена гостевая ос.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Скрипты в rc.d запускаются от рута?

Сообщение sash-kan »

fergios писал(а):
11.08.2010 21:18
#! /bin/sh
неудивительно.

логи смотрите.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: Скрипты в rc.d запускаются от рута?

Сообщение fergios »

Что сделано:
1.Создан файл /etc/init.d/vbox_guest
#! /bin/sh
### BEGIN INIT INFO
# Provides: vbox_guest
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Example initscript
### END INIT INFO

PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions

#

do_start() {
log_begin_msg "Run VirtualBox_Guest"
sudo -u user VBoxManage startvm debian --type headless
}

do_stop() {
log_begin_msg "Stop VirtualBox_Guest"
sudo -u user VBoxManage controlvm debian savestate
}

case "$1" in
start)
do_start
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
do_stop
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
2. chmod +X /etc/init.d/vbox_guest
3.update-rc.d vbox_guest defaults 99

После перезагрузки Виртуальная Машина не стартует.

Помогите найти ошибку, для меня это темный лес.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Скрипты в rc.d запускаются от рута?

Сообщение serzh-z »

fergios писал(а):
11.08.2010 23:35
После перезагрузки Виртуальная Машина не стартует.
Вы ожидаете, что сейчас люди накинутся и начнут вразнобой задавать вопросы "А как не стартует?", "А что пишет?", "А на какой номер строки ругается?", "А мигают ли лампочки?", ага? Они просто пожмут плечами, подумают "Пусть сам думает, как лучше представить свой вопрос" и пойдут спать.

P.S.: отлаживать скрипт /etc/init.d/vbox_guest можно и без перезагрузки.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Скрипты в rc.d запускаются от рута?

Сообщение SLEDopit »

fergios писал(а):
11.08.2010 23:35
Что сделано:
Вам же уже указали ошибку.
fergios писал(а):
11.08.2010 23:35
Помогите найти ошибку, для меня это темный лес.
читать до полного просветления.
serzh-z писал(а):
12.08.2010 01:59
Вы ожидаете, что сейчас люди накинутся и начнут вразнобой задавать вопросы "А как не стартует?", "А что пишет?", "А на какой номер строки ругается?", "А мигают ли лампочки?", ага?
Конечно, вокруг же одни телепаты. Просто все очень ленятся лишний раз чужие мысли прочитать. А вопросы задают специально, чтобы позлить собеседника (:
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
polovinamozga
Сообщения: 99
ОС: gentoo

Re: Скрипты в rc.d запускаются от рута?

Сообщение polovinamozga »

fergios писал(а):
11.08.2010 21:18
Автозапуск гостевой ОС VirtualBox'a.

Что я делаю не так?
1.Создаем файл в /etc/init.d/vbox_guest
#! /bin/sh
sudo -u user VBoxManage startvm debian --type headless //запуск не от рута, а от простого пользователя user)

2.Команду
update-rc.d vbox_guest defaults 98

После перезагрузки не запущена гостевая ос.




как вы выясняете что она не запущена?
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: Скрипты в rc.d запускаются от рута?

Сообщение fergios »

P.S.: отлаживать скрипт /etc/init.d/vbox_guest можно и без перезагрузки.
Скрипт работает, если его запустить так : /etc/init.d/vbox_guest start - вирт.машина запускается.
как вы выясняете что она не запущена?
Не пингуется её адрес, нет процесса VBoxHeadless, в Gui VirtualBox'a не отображается надпись "Работает".

ДОПОЛНИТЕЛЬНО :
Команда в /etc/rc.local
iptables -A INPUT -s 77.77.77.77 -j DROP работает при включении системы и при запуске из консоли
а команда :
sudo -u user VBoxManage startvm debian --type headless
не работает при включении системы, но работает при запуске из консоли.

Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Скрипты в rc.d запускаются от рута?

Сообщение serzh-z »

fergios писал(а):
12.08.2010 13:48
p.s: может проблема в том что скрипты в ubuntu 10 запускаются через upstart ?
См. логи, на кофейной гуще можно очень долго гадать. Не запускаться может по причине того, что срипт стартует *раньше* того момента, когда были загружены модули VB.
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: Скрипты в rc.d запускаются от рута?

Сообщение fergios »

ммм.....не умею смотреть логи. Но разбираюсь.

ВЫЯВЛЕНО :
Команда в /etc/rc.local
iptables -A INPUT -s 77.77.77.77 -j DROP работает при включении системы и при запуске из консоли
а команда :
sudo -u user iptables -A INPUT -s 77.77.77.77 -j DROP не работает при включении системы, но работает при запуске /etc/rc.local из консоли.

Команды имеющие вначале sudo -u user (запуск от простого пользователя) НЕ ЗАПУСКАЮТСЯ.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Скрипты в rc.d запускаются от рута?

Сообщение SLEDopit »

fergios писал(а):
12.08.2010 15:04
Команды имеющие вначале sudo -u user (запуск от простого пользователя) НЕ ЗАПУСКАЮТСЯ.
Не знаю как sudo, но su -c 'команда' user работает отлично. Проверено.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: Скрипты в rc.d запускаются от рута?

Сообщение fergios »

В консоли набрал :
su -c 'touch fdsf' user

выдало :
Sessions still open, not unmounting

Что это?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Скрипты в rc.d запускаются от рута?

Сообщение sash-kan »

fergios писал(а):
12.08.2010 16:32
Sessions still open, not unmounting
зашифрованная файловая система?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: Скрипты в rc.d запускаются от рута?

Сообщение fergios »

Sash-kan, незнаю, но скорее всего да, т.к.
в ubuntu при установке по умолчанию выбран пункт "Зашифровать домашний каталог и требовать пароль для доступа к нему".

Может нужно настроить безпарольный запуск команды touch для user , чтобы все таки выполнялась su -c 'touch fdsf' user ?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Скрипты в rc.d запускаются от рута?

Сообщение sash-kan »

fergios писал(а):
12.08.2010 19:21
Может нужно настроить безпарольный запуск команды touch для user
ого. а что, команда touch требует у вас пароля? ну, тогда настраивайте.

fergios писал(а):
12.08.2010 19:21
в ubuntu при установке по умолчанию выбран пункт "Зашифровать домашний каталог и требовать пароль для доступа к нему".
ну, если выбрали такой пункт, думаю, вероятность того, что домашний каталог вашего пользователя зашифрован и недоступен другим пользователям системы, всё-таки чуть выше нуля.
гугль вам в помощь. спросите его, как расшифровать раздел или как получить к нему доступ от имени другого пользователя или как расположить образ диска и конфигурационный файл вашей виртуальной машины вне вашего домашнего каталога.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: Скрипты в rc.d запускаются от рута?

Сообщение fergios »

ого. а что, команда touch требует у вас пароля? ну, тогда настраивайте.
нет, вот бы уметь так делать )
у, если выбрали такой пункт, думаю, вероятность того, что домашний каталог вашего пользователя зашифрован и недоступен другим пользователям системы, всё-таки чуть выше нуля.
Файлы не создавались в home из за включенной функции "Зашифрованный домашний каталог.

В ubuntu 10 чтобы запускать свои скрипты нужно использовать upstart.

Решено "Автозапуск через UpStart Создание папок в / и в /home/user " :
Создаем файл /usr/bin/create_dir :
do_start() {
mkdir /_34234_
mkdir /home/user/_45345435_
}

do_stop() {
rm -R /_34234_
rm -R /home/user/_45345435_
}

case "$1" in
start)
do_start
;;
stop)
do_stop
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
И создаем файл /etc/init/create_dir.conf
start on runlevel [2345]
stop on [016]

post-stop script
/usr/sbin/create_dir stop
end script

exec /usr/bin/create_dir start
Проверяем sudo telinit 2 или перезагружаем систему.
Спасибо сказали:
Аватара пользователя
polovinamozga
Сообщения: 99
ОС: gentoo

Re: Скрипты в rc.d запускаются от рута?

Сообщение polovinamozga »

сам себе буратино.

не сдержался.
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: Скрипты в rc.d запускаются от рута?

Сообщение fergios »

Проблема остается.
данный Upstart скрипт /usr/local/sbin/vbox_guest:
do_start() {
su -c 'VBoxManage startvm debian --type headless' user
su -c 'mkdir /home/what/sdfsdf' user
}

do_stop() {
su -c 'VBoxManage controlvm debian savestate' user
}

case "$1" in
start)
do_start
;;
stop)
do_stop
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
при команде telinit 2
успешно создает папку через su.
НО не может запустить гостевую ос через su.

Вывод (или непрвильный вывод?) : проблема в правах доступа или в наличии в группе.
Есть идеи?
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: Скрипты в rc.d запускаются от рута?

Сообщение fergios »

помогло sudo usermod -a -G vboxusers user
Но возникли некоторые другие маленькие недоработки.

Спасибо ВСЕМ отписавшимся, форумчане.
Спасибо сказали: