Показано с 1 по 5 из 5.

Тема: Работа с $PATH пользователей.

  1. #1
    Junior Member
    Регистрация
    28.08.2017
    Сообщений
    3

    По умолчанию Работа с $PATH пользователей.

    Здравствуйте.
    В системе IPS manager Lite есть некий пользователь, у которого есть доступ к SSH
    На сервере установлен node.js для некоторых проектов.

    Проблема в следующем: node.js устанавливается в директорию /root/.../blablabla, что значит, его может использовать только root. При попытке вызова команды node -v, с пользователя системы нам сообщат, что такой команды не существует.
    Естественно, у пользователя созданного в системе ispmanager туда доступа нет, и тем более $PATH не смотрит туда.

    Решение задачи следующее: скопировать все бинарники ноды в хоум директорию пользователя, прописать $PATH в эту директорию, вуаля мы можем использовать команды ноды
    http://joxi.ru/E2p3J0DCBv0XXm

    В чем собственно тупик:
    Каждый раз, при инициации SSH соединения у пользователя ISP Manager генерируется переменная $PATH, и я не понимаю, где на это можно повлиять.
    Пытался сделать модификацию в .bashrc

    PATH=$PATH:/var/www/wezomnet/.nvm/versions/node/v7.4.0/bin
    export PATH

    Но это не действует

    Подскажите, как можно решить данную задачу, где находятся темплейты для генерации $PATH?

  2. #2
    Junior Member
    Регистрация
    28.08.2017
    Сообщений
    3

    По умолчанию

    Вопрос совсем утонул на форуме.
    Никто не может подсказать?

  3. #3
    Support team Аватар для Fly
    Регистрация
    14.08.2010
    Сообщений
    4,743

    По умолчанию

    Здравствуйте,

    ISPmanager не настраивает $PATH, это идет от системы. Соответственно тут нужно изучать вопрос в сторону настроек $PATH в операционной системе. Готового решения мы подсказать, к сожалению, не можем, не занимались такой настройкой.

  4. #4
    Administrator Аватар для tuupic
    Регистрация
    12.04.2008
    Сообщений
    815

    По умолчанию

    Проблема в следующем: node.js устанавливается в директорию /root/.../blablabla
    А почему не в /usr/local ? Чтоб бинарник был /usr/local/bin/node.

  5. #5
    Junior Member
    Регистрация
    28.08.2017
    Сообщений
    3

    По умолчанию

    Всем привет.
    @tuupic Потому что ставится через nvm.
    А он ставится только с рута, и вот таким конфигом.
    http://joxi.ru/GrqlqEDTNyPv8A

    Решение нашел самостоятельно, пришлось понять, каким образом генерируется $PATH при включении терминала (в нашем случае SSH авторизация)
    Был необходим файл, .bash_profile в домашней директории пользователя.
    Именно он отвечает за выполнение правил при инициализации терминала.


    Код:
    if [ "$BASH" ]; then
      if [ -f ~/.bashrc ]; then
        . ~/.bashrc
      fi
    fi
    
    mesg n
    Именно такой скрипт прочитает наш многострадальный .bashrc, в котором все гайды требовали прописать строчку, которую я приводил выше.

    Код:
    PATH=$PATH:/var/www/wezomnet/.nvm/versions/node/v7.4.0/bin
    export PATH
    Ну и вуаля, после всех махинаций мы смогли использовать команды ноды, и пакетного менеджера сразу при входе на пользователя.

Ваши права в разделе

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •