LINUX.ORG.RU

Права на запуск скрипта

 ,


0

1

Помогите разобраться и понять что не так с правами на запуск скрипта. Вот собственно сам скрипт http://pastebin.com/5bvSkmyg

Запуск скрипта:

# /etc/init.d/rhodecode-daemon start
Starting rhodecode
start-stop-daemon: unable to start /var/www/rhodecode-venv/bin (Permission denied)
# ls -la /var/www/rhodecode-venv/bin/
total 2264
drwxr-xr-x 2 root root    4096 Apr  3 11:41 .
drwxr-xr-x 5 root root    4096 Apr  3 11:41 ..
-rw-r--r-- 1 root root    2070 Apr  3 11:41 activate
-rw-r--r-- 1 root root    1003 Apr  3 11:41 activate_this.py
-rwxr-xr-x 1 root root     342 Apr  3 11:41 easy_install
-rwxr-xr-x 1 root root     350 Apr  3 11:41 easy_install-2.6
-rwxr-xr-x 1 root root     300 Apr  3 11:41 pip
-rwxr-xr-x 1 root root 2288272 Apr  3 11:41 python
# ls -la /var/www/rhodecode
total 136
drwxr-xr-x 3 www-data www-data   4096 Apr  3 12:03 .
drwxr-xr-x 4 root     root       4096 Apr  3 11:43 ..
drwxr-xr-x 4 www-data www-data   4096 Apr  3 12:03 data
-rw-r--r-- 1 www-data www-data  13196 Apr  3 11:57 production.ini
-rw-r--r-- 1 www-data www-data 103424 Apr  3 12:03 rhodecode.db


su -u www или sudo -u www

А на запись www никто, кроме www не имеет права

ziemin ★★ ()
Ответ на: комментарий от Extraterrestrial

$APP_PATH=«/var/www/rhodecode/production.ini»

echo "Starting $APP_NAME"
  PYTHON_EGG_CACHE="/tmp" start-stop-daemon -d $APP_PATH \
Это запускаю.

Nokman ()

PYTHON_PATH=«/var/www/rhodecode-venv»
DAEMON=«$PYTHON_PATH/bin»

Вы таки запускаете директорию.

-d - это директория, в которую нужно сделать chdir перед запуском демона, а не сам демон. Поменяйте DAEMON и APP_PATH местами.

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

Что-то не совсем понимаю, что даст перемена местами.. наверное, уже плохо соображаю сегодня. Ладно буду разбираться, спасибо.

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

DAEMON у Вас - директория. Директорию нужно передавать параметру -d / --chdir.

Впрочем, я ошибся, и APP_PATH - тоже директория. Просто отыщите правильный исполняемый файл в /var/www/rhodecode-venv/bin и допишите значение DAEMON до пути к этому файлу.

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

Указал полный путь к питону

PYTHON_PATH="/var/www/rhodecode-venv/bin/python"
DAEMON="$PYTHON_PATH"

Сделал, теперь такая ошибка при запуске:

Starting rhodecode
/var/www/rhodecode-venv/bin/python: can't open file 'serve': [Errno 2] No such file or directory
Мда, совсем запутался. Скрипт не мой, разобраться трудновато. Мне нужно чтобы в скрипте выполнился запуск - команда:
# paster serve production.ini

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

Спасибо большое! Сделал find в / и оказалось, что paster лежит здесь /usr/local/bin/paster.

Изменил в скрипте PYTHON_PATH=«/usr/local/bin/paster» и все запустилось.

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