почему sudo не работает с экспортированным путем?

Если вы не уверены, что это близко (или даже дубликат) Почему sudo не добавляет PATH root в Ubuntu 12.04? , я все еще пишу этот вопрос, потому что ничего не понял оттуда, если это дубликат, пожалуйста, не отмечайте его как таковой, просто объясните это лучше, чем этот вопрос, или опубликуйте другой ответ в другом вопросе.

Я установил ISE из Xilinx. Мне посоветовали экспортировать путь, что я и сделал, введя

echo "PATH=\$PATH:/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/" >> ~/.bashrc

, затем

echo "export PATH" >> ~/.bashrc

. После этого я могу запустить программу, введя ise в терминале, но если я введу sudo ise, это не сработает. Я что-то забыл?

0
задан 13 April 2017 в 15:23

1 ответ

sudo перезаписи путь из соображений безопасности с "безопасным" путем. Однако можно изменить этот безопасный путь для включения пользовательской папки. Предупреждение: это оставляет Ваш компьютер немного незащищенным. можно выполнить эти шаги для редактирования безопасный путь.

  • Выполняются, команда sudo visudo для редактирования /etc/sudoers
  • Находят эту строку (это должно быть в начале файла):

    Defaults       secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    
  • , Если, Вы хотите включать свой пользовательский путь здесь, отредактировать secure_path переменная. Это было бы похоже на это:

    Defaults       secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/"
    
  • , Если, Вы хотите обойти полностью эти меры безопасности (не рекомендуемый) , просто прокомментировать ту строку. Это позволит $PATH переменная "передавать" через sudo команда

2
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: