Я написал приложение cgi-bin на C, которое запускается в браузере и позволяет пользователю открывать интерактивную оболочку и просматривать и редактировать файлы на компьютере с Linux. Он работает как стандартный пользователь Apache "www-data". Я просто добавил экран входа в систему, где пользователь вводит свое имя и пароль (в форме), но я не могу аутентифицировать пользователя, используя getspnam , поскольку эта функция работает только при запуске от имени пользователя root.
Какие опции у меня есть, чтобы проверить учетные данные пользователя, когда он не работает от имени root?
PS: В моей интерактивной оболочке я могу набрать "su root", а затем ввести мой пароль, и он действительно повышается до уровня root, так что, очевидно, это можно сделать в интерактивном режиме.