У меня есть jsTree, который вызывает веб-сервис RESTful, чтобы получить список файлов и каталогов. Я хотел бы ограничить возможности этого веб-сервиса на основе разрешений POSIX пользователя, который делает этот вызов.
Другими словами, этот конкретный веб-сервис должен перечислять только те файлы и каталоги, к которым у пользователя есть права доступа POSIX.
В настоящее время веб-служба ищет зашифрованные данные в файле cookie, который проверяет пользователя, который вошел на веб-сайт. Как только пользователь аутентифицирован, веб-служба выдает ответ для папки, указанной в jsTree (например, все файлы и каталоги в /home/userA
). Веб-служба вызывается еще раз для подкаталогов, и снова для подкаталогов и т. Д.
Однако веб-служба работает с разрешениями root
-уровня и, таким образом, если другое имя пользователя было каким-либо образом указано в userA
, например, чтобы просмотреть /home/userB
, userA
может увидеть список файлов и каталогов, которые ему или ей не были предоставлены права на просмотр.
Существует ли какой-нибудь эквивалент suExec
, который может запускать веб-службу с разрешениями указанного пользователя?
Если это поможет, моя конкретная служба - это скрипт на Perl, использующий File::Find::Rule
для одноуровневого глубокого перечисления содержимого указанного пути.
EDIT
Все передается по SSL-зашифрованному соединению.