Программа cgi отказывается от установки root

424
rich

У меня есть программа C .cgi, которая работает и в основном работает. Тем не менее, мне нужно сделать некоторые манипуляции с файлами, поэтому я выбрал root & chmod + s программу .cgi:

-rwsr-sr-x 1 root root 59140 2015-07-20 13:39 sectl.cgi 

При запуске программа не имеет необходимых разрешений; команда переименования () не выполняется. Вывод команды

system("whoami"); 

это wwwrun. Что тут происходит?
(Я уверен, что я сделал то же самое на других системах успешно)

openSUSE 11.2

0

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

1
Thomas Dickey

Есть несколько вещей, которые нужно иметь в виду:

1. Это программа на Си. 2. Если я наберу "mount", я не вижу ничего, похожего на "nosuid". Я вижу ACL. Getfacl не показывает ничего неожиданного. Модуль загрузчика yast не проверял «enable selinux», а man -k selinux ничего не возвращает. Я подумал, что, возможно, сам Apache делает это, но я ничего не вижу в файлах конфигурации по этому поводу (grep setuid) rich 9 лет назад 0
SELinux является вероятным виновником - я бы протестировал его с отключенным, просто чтобы убедиться в этом (и если да, то почитать, чтобы узнать, как его успокоить). Thomas Dickey 9 лет назад 0
Нет SELinux, который я мог найти, но я нашел apparmor. Перезагрузка, затем `/etc/init.d/boot.apparmor stop`, однако, не помогла. Я не видел способ отключить его полностью. rich 9 лет назад 0
Возможно [aa-complain] (http://manpages.ubuntu.com/manpages/jaunty/man8/aa-complain.8.html) - это обходной путь (за исключением полного удаления apparmor). Thomas Dickey 9 лет назад 0
Я пытался жаловаться `, и я попробовал` aa-complain / usr / sbin / httpd2-1tk` Ни одна из них, похоже, не принесла пользы. Я что-то пропустил? rich 9 лет назад 0
Ваша конкретная программа не имеет своего собственного профиля, но, вероятно, apparmor имеет профили для более общих вещей, таких как apache. Thomas Dickey 9 лет назад 0
Давайте [продолжим обсуждение в чате] (http://chat.stackexchange.com/rooms/26096/discussion-between-rich-and-thomas-dickey). rich 9 лет назад 0
Я не могу комментировать в окне чата, к сожалению. rich 9 лет назад 0
В любом случае, у меня были проблемы с поиском информации об аппарморе. Я не знаю, как доказать, что это виновник. Я не знаю, нужен ли профиль apache или моему .cgi. Я попробовал aa-genprof в моей программе .cgi, но все еще без setuid. Я не нашел документации о настройке управления оборудованием. Я собираюсь отказаться и переустановить Linux на компьютер, о котором идет речь. rich 9 лет назад 0

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