В 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 .
Что мне не хватает?
