@EmachinesDIMA
junior DevOps

Что необходимо настроить, чтобы не прописывать sudo для системных команд?

Прошу пояснить следующую ситуацию: системная команда требует sudo даже от суперпользователя. как так ?

$ iptables
bash: iptables command not found
$ sudo iptables
-- работает

$ su
# whoami
root
#iptables
bash: iptables command not found
# sudo iptables
-- работает
  • Вопрос задан
  • 340 просмотров
Решения вопроса 1
@EmachinesDIMA Автор вопроса
junior DevOps
в общем надо читать было маны :)

вот хорошая статья - ответ на мой вопрос.
https://www.kubuntu.ru/node/10964
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
martin74ua
@martin74ua Куратор тега Linux
Linux administrator
su
и
su -

это разные команды.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Правильный ответ заключается в том, что для sudo без аргументов, переменная PATH захардкожена

* sudo по дефолту не использует PATH от вашего юзера или от root
* sudo также игнорирует глобальные переменные из /etc/environment или /etc/profile.d/*.sh.
* PATH для sudo захардкожен и равен /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Если нужно сделать свой PATH в судо, то можно сделать или так: "sudo bash" и уже в открытом bash настроить PATH или другие переменные.
Или можно прописать то, что вам нужно в глобальный конфиг /etc/profile.d/name_anything.sh используя export, и запустить
sudo su -

Для справки, можно почитать man sudo, искать env_reset
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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