Я пытаюсь предоставить ограниченный доступ к определенным функциям, используя ссылки, сценарии bash и SUID. Скрипт SUID не запускается с root-доступом

РЕДАКТИРОВАТЬ: этот сценарий с включенным липким битом не может записывать в корневой файл, похоже, аналогичная проблема.

РЕДАКТИРОВАТЬ: Как я могу использовать SetUID в сценарии оболочки для запуска от имени пользователя без полномочий root?тоже очень похоже.

У меня есть сценарий, назовем его read.sh. У меня есть файл, назовем его секретным.

      # cd /home/normie
# echo "some stuff" > secret
# echo "#!/bin/bash" > read.sh
# echo "cat secret" >> read.sh
# chmod 600 secret
# chmod 4755 read.sh
# su normie
$ ./read.sh
<<Error about not having access to secret>>

Я что-то пропустил? Я думал, что бит SUID заставляет сценарий запускаться от имени владельца? Когда я запускаю следующее

      # echo "touch newfile" > sumfile.sh
# chmod 4755 sumfile.sh
# su normie
$ ./sumfile.sh
$ ls -alh
<<newfile shows as owned by root>>

Что здесь происходит и как мне заставить это работать так, как я хочу? Я хочу, чтобы обычные пользователи выполняли определенный скрипт с полным root-доступом. (Я думал, это то, что сделал бит suid)

0 ответов

Другие вопросы по тегам