У меня проблема с правами доступа в Ubuntu.
У меня есть пользовательприложениепользовательна моей системе он может запускать node, npm и т. д.
Но теперь мне нужно установить пакет net-tools
Вот этот:https://zoomadmin.com/HowToInstall/UbuntuPackage/net-tools
Проблема в том, что я устанавливаю его с помощью
sudo apt-get update -y
как пользователь root, так как у меня нет привилегий appuser.
А когда я пытаюсь запустить его как пользователь root, например, команда: arp
она работает нормально.
Но когда я хочу запустить его как appuser, он не работает, даже если я добавляю appuser в sudoers.
При запуске arp
от имени appuser я получаю:
bash: arp: command not found
решение1
Если вы установили net-tools
(как root), вы сможете запустить его arp
как непривилегированный пользователь, указав абсолютный путь,например
/usr/sbin/arp
или гарантируя, что это будет в PATH
интересах пользователя;напримерв соответствующем файле инициализации ( .profile
или эквивалентном для вашей оболочки/среды) добавьте строку, например:
PATH="$PATH:/usr/sbin"
решение2
- Для установки всегда следует использовать
apt-get
root. Это не означает, что только root может запускать установленные программы. sudo apt-get update -y
ничего не устанавливает. Используйтеsudo apt install net-tools
для установки net-tools.apr
находится в/usr/sbin
этом каталоге, не в обычном пользовательском PATH. Вы можете добавить его в свой путь (изменить~/.profile
). или запустить его как/usr/sbin/arp
.