LINUX.ORG.RU
ФорумAdmin

chmod +x или запуск скрипта от юзера

 , sh startup


0

2

Доброго времени суток, уважаемые форумчане!

Есть такой вопрос по поводу chmod: Стоит Debian 7 Wheezy lxde. Есть скрипт, который лежит в /home/user. Задача - запускать его при запуске системы. Проблема: Скрипт запускается только от рута, а от пользователя не хочет. Делал chmod +x script.sh, chmod 771 script.sh - не помогает. Запускается только от рута...

Что нужно сделать, чтобы скрипт запускался от пользователя (и при запуске системы от него же)?

Спасибо.

Запускается только от рута

Что это значит? В скрипте проверка на $EUID? Исправляй и запускай себе.

anonymous
()
Ответ на: комментарий от beastie

Чтобы дропнуть привелегии достаточно su.

anonymous
()
Ответ на: комментарий от anonymous

Это значит, что скрипт от пользователя не запускается, только из под рута: su pass script.sh

На самом деле скрипт простой и запускает сервис vnc...

Если запустить терминал от рута, то скрипт выполняется и из-под винды есть подключение по vnc. Но нужно, чтобы скрипт выполнялся при запуске системы под простым юзером, чтобы в любой момент можно было подключиться к ПК удаленно.

brainGainer
() автор топика
Ответ на: комментарий от beastie

в /etc/rc.local до «exit 0» вставка команды запуска этого скрипта при запуске тоже ни работает. Если просто вставить и потом запустить rc.local - то работает, vnc server стартует и подключиться можно, но при старте системы - болт :(

brainGainer
() автор топика
Ответ на: комментарий от brainGainer

Это значит, что скрипт от пользователя не запускается

Тролль штоле? Ошибки какие пишет?

anonymous
()
Ответ на: комментарий от brainGainer

от рута: su -c 'script.sh' username скрипт запустится от username

elijah_sd
()
Ответ на: комментарий от af5

Кстати, такую же лажу заметил недавно на оффтопике - два впн-канала должны подниматься один внутри другого при входе пользователя в систему, иногда поднимаются, иногда нет. Машина была чужая, разбираться было некогда.

pianolender ★★★
()

Вопрос не совсем понятен.

1. Что значит «от пользователя не хочет»? Зачем ему права рута?

2. Автозапуск сервиса не вариант, нужно только по требованию? Если да, то вводить каждый раз пароль ок или нет?

qux
()
Ответ на: комментарий от qux

Что значит «от пользователя не хочет»? Зачем ему права рута?

я так понимаю, ему надо чтобы сервис стартовал при загрузке с правами простого пользователя. но при старте системы скрипт выполняется с правами рута.

KJIayC
()
Ответ на: комментарий от KJIayC

Да догадываться можно, вопрос точно чего нужно...

Если так, то запуск от юзера уже показали, но нужно ж еще знать почему не хочет.

qux
()
Ответ на: комментарий от KJIayC

Не совсем. Да, нужно, чтобы скрипт, который запускает службу vncserver запускался при запуске системы когда пользователь логинится. Т.е. запустились иксы, пользователь вводит пароль и скрипт должен запускаться (такая задача стоит). Пользователь при этом ничего не должен вводить/подтверждать/запускать ручками...

А на деле скрипт не выполняется/не запускается и соответственно vncserver не стартует. Как следствие, подключиться к этому ПК нельзя.

Вот такая собственно ситуация.

brainGainer
() автор топика
Ответ на: комментарий от Artificial_Thought

И что в таком случае делать?

echo su username -c '/bin/sh /path/to/script.sh' | at now +2 minutes

Этот скрипт (который предложил pianolender) поможет в этом деле? Вроде бы как он должен запускать скрипт через 2 минуты после запуска системы?

brainGainer
() автор топика

Не знаю, опишу всё полностью, чтобы по возможности было меньше лишних вопросов. Задача: Сделать подключение к linux-машине из-под Windows-систем посредством VNC. Система: Установлена Debian 7.1.0 lxde Что было сделано: (не знаю, как здесь выделять код для удобочитаемости, поэтому прошу прощения заранее, если не получится)

sudo apt-get install x11vnc
x11vnc -storepasswd

Создаем файл в каталоге /home/user/x11vnc_start.sh

#!/bin/bash

/usr/bin/x11vnc -dontdisconnect -display :0 -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/user/.vnc/passwd exit 0 Дальше делаем

chmod +x x11vnc_start.sh

Далее добавляю опцию автозагрузки в файл /etc/lightdm/lightdm.conf

greeter-setup-script=/home/user/x11vnc_start.sh

Перегружаемся и...... и нифига не получилось :( vncserver почему-то не стартует...

brainGainer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.