setuid не работает над сценарием

290
Lupuss

Я работаю на машине RHEL 6.7. Я хотел бы сделать скрипт, который принадлежит root, но может быть запущен другими пользователями. Однако я все еще хочу, чтобы действия внутри скрипта запускались от имени пользователя root. Поэтому я хочу установить бит suid в этом скрипте. Прямо сейчас у меня есть следующие результаты:

[root@devmachine BACKUP]# chmod a+s fix_properties.sh [root@devmachine BACKUP]# ls -halt fix_properties.sh -r-sr-s-r-x 1 root root 42 May 12 00:08 fix_properties.sh 

Это не достаточно хорошо, так как лямбда-пользователь сможет выполнить его, но не получит выгоды от прав доступа root. После некоторого копания я узнал, что это может быть связано с тем, как установлена ​​ФС. Когда я проверяю файл fstab, я вижу следующее:

/dev/mapper/systemvg-op /opt ext3 defaults,nosuid,nodev 1 2 ... /dev/systemvg/opt_backup /opt/BACKUP ext4 acl,user_xattr 1 2 

Означает ли это, что nosuidбудет также этикет на /opt/BACKUPперегородке?

В качестве обходного пути, я думаю, я мог бы назначить этот файл определенной группе, частью которой является мой целевой пользователь?

0
См. Http://unix.stackexchange.com/a/2910/1209. Короткий ответ: вам, вероятно, следует использовать sudo для делегирования полномочий на запуск скрипта от имени пользователя root. Zoredache 7 лет назад 1
Смотрите также [Разрешить setuid для сценариев оболочки] (http://unix.stackexchange.com/q/364/80216). G-Man 7 лет назад 1

0 ответов на вопрос

Похожие вопросы