В настоящее время я работаю над созданием системы-члена для моего FTP-сервера для близких друзей, которым я хочу иметь доступ к серверу, однако FTP-сервер, который я использую (proFTPd), использует пользователей linux в качестве учетной записи каждого участника. Поэтому мне нужно использовать html-форму с php, конечно, которая будет иметь доступ к серверу и сможет создать пользователя в системе.Создайте пользователя linux, используя php?
Прямо сейчас у меня есть форма, полностью настраиваемая с его проверкой имени/имени пользователя/пароля и сохранением его в моей базе данных sql. Единственное, чего мне не хватает, это создать нового пользователя, чтобы закончить его.
Я знаю, что это не всегда самое безопасное, однако я хочу, чтобы это сделать, и я знаю об опасности, так что любая помощь будет хорошо ...
Как прямо сейчас от того, что я всегда используется для создать пользователя на Linux (или моей версии Ubuntu по крайней мере) это:
useradd [username] -p [password] -d [/path_to_home_directory] -s [/bin/false]
без скобок конечно.
Я также знаю команды php: shell_exec, exec, system() Однако я пробовал каждый из них с линией для создания пользователя в ней, и ничего не будет работать.
Я сделал немного больше исследований и заметил, что веб-сервер работает на www-data (каким он должен быть), и у него нет доступа к команде useradd. Так что я 'viduso' это и до сих пор не изменилось.
Из того, что я видел, я могу предоставить доступ к www-данным скрипту на сервере, который затем создаст пользователя как root, но я не знаю, как перенести переменные, хранящиеся в php, в скрипт.
Если вам нужна дополнительная информация, чтобы помочь просто спросить. Это последнее, что мне нужно, чтобы завершить мой последний 2-месячный проект, который включает настольное приложение и все такое. Это так близко, но я не могу понять.
Посмотрите на это: http://stackoverflow.com/questions/7300299/how-to-run-cmd-as-root-from-apache-centos/7300402#7300402 Все советуют запускать shell-скрипт, который будет создайте пользователя как root. – Hast
@Hast Я видел это, однако это восходит к проблеме, которую я испытывал с переменными. Я не уверен, как использовать переменные, определенные в php в сценарии оболочки в системе. –
В чем проблема? Передайте переменную php как аргумент параметра shell-script. Как 'exec ('./ myscript.sh'. $ Var1. ''. $ Var2);' – Hast