В CentOS 7 я установил некоторые исполняемые файлы в /opt/app-version/bin/executable
. Эти исполняемые файлы имеют следующие разрешения:
rwxrwxr-x. 500 500
Владение каждым каталогом в пути /opt/app-version/bin/
составляет 500 500
--except /opt
, который является root root
.
Мой первый вопрос: что это за 500 500
бизнес? Учитывая, что я установил исполняемые файлы с помощью sudo
, разве владелец и группа не должны быть root
?
Я выполнил следующую команду от имени пользователя root для создания символических ссылок на исполняемые файлы в /usr/local/bin/
:
ln /opt/app-version/bin/executable /usr/local/bin/executable --symbolic
Я могу запускать executable
из командной строки как обычный пользователь, но не как обычный пользователь, использующий sudo
.
Запущенный sudo executable
возвращает sh: executable: command not found
.
Запуск sudo echo $PATH
показывает, что /usr/local/bin/
находится в $PATH
для сред sudo. (Или это? Я вижу содержимое $PATH
для среды суперпользователя или $PATH
для среды пользователя с именем sudo
? Создает ли CentOS новую среду для команд, запускаемых с помощью sudo
, или он просто запускает команду в среде вызывающего? )
Запуск sudo ls -la /usr/local/bin/executable
возвращает список executable
в /usr/local/bin/
с владельцем lrwxrwxrwx. 1 root root
. ( Действительно ли ln --symbolic
создает глобально редактируемые ссылки по умолчанию? Разве это не ужасная идея? Насколько я понимаю, это показывает, что sudo
должен запускать executable
.
Что мне не хватает?