Я создаю внутренний инструмент, которому требуется немного функциональности типа cpanel / webmin, но это не та ситуация, когда я мог бы использовать один из этих
Прямо сейчас мне нужно иметь возможность создавать пользователей, группы и каталоги Linux через PHP. Вот что у меня сейчас:
копии useradd / groupadd / chpasswd в / bin пользователя, SUID от пользователя root. разрешения настроены так, что только root и определенная группа могут получить к ним доступ (группа, в которой находится пользователь).
Если я запускаю это из командной строки, он работает нормально, но я надеялся использовать suexec для доступа к ним, но похоже, что PHP не будет работать с suexec, если я не запустил его через CGI, чего я действительно не хочу делать.
Я также мог бы разрешить wwwrun получить доступ к этим двоичным файлам с SUID, но мне это кажется немного небезопасным.
Какой мой следующий шаг здесь? Спасибо!
Это плохая идея. Используйте PAM, чтобы переместить authdb в нечто вроде базы данных, где вам не нужно вызывать системные инструменты для внесения изменений.