Один из способов с использованием SUID.
Дайте разрешение на выполнение только для группы и других в сценарии оболочки и информационном файле.
Напишите программу-оболочку C для вызова сценария оболочки.
Установите бит SUID в исполняемом файле C. (chmod файл u+s)
Конечный пользователь будет вызывать исполняемый файл C.
Нет, в этом случае использование символической ссылки допустимо и часто предпочтительнее. Например, скажем, у вас есть что-то вроде:
/opt/some-program-2.0/bin/
который содержит набор двоичных файлов, вы можете создать символическую ссылку:
/opt/some-program -> /opt/some-program-2.0
и добавьте /opt/some-program/bin
к PATH. В будущем, когда выйдет some-program-3.0
, можно будет создать:
/opt/some-program-3.0/
и обновите символическую ссылку, чтобы она указывала на новый каталог. Таким образом, больше ничего не должно меняться.
Управление JVM в дистрибутиве часто следует этому шаблону.