我目前正在爲我的FTP服務器創建一個成員系統,以便我想訪問服務器,但是我正在使用的FTP服務器(proFTPd)利用linux用戶作爲每個成員的帳戶。所以我需要使用一個帶有php的html表單,當然這個表單可以訪問服務器並且能夠在系統上創建一個用戶。使用php創建linux用戶?
現在我已經完成表單的設置,驗證電子郵件/用戶名/密碼並將其保存到我的sql數據庫。我唯一缺少的就是創建新用戶來完成它。
我知道它並不總是最安全的事情,但是我確實想做到這一點,我不知道危險,因此任何幫助將是不錯...
至於現在從我總是習慣在Linux上創建用戶(或我的Ubuntu atleast版本):
useradd [username] -p [password] -d [/path_to_home_directory] -s [/bin/false]
當然沒有括號。
我也知道php命令:shell_exec,exec,system()但是我已經嘗試過每一行這些行來創建用戶,並且什麼都不會起作用。
我做了一些更多的研究,發現Web服務器在www-data上運行(它應該是這樣),並且它無法訪問useradd命令。所以我'viduso'它,仍然沒有改變。
從我所看到的,我可以給www服務器上的腳本的數據訪問,然後將創建用戶作爲根,但我不知道如何將變量存儲在PHP中的腳本。
如果您需要更多的細節來幫助請問。這是我需要完成我最近2個月的項目的最後一件事,其中包括桌面應用程序和所有這些。這是如此接近,但我似乎無法得到它。
看看這個:http://stackoverflow.com/questions/7300299/how-to-run-cmd-as-root-from-apache-centos/7300402#7300402每個人都建議運行一個shell腳本,它將以root身份創建用戶。 – Hast 2013-02-20 17:16:07
@我見過這個,但是這回到了我對變量的問題。我不知道如何在系統的shell腳本中使用php中定義的變量。 – 2013-02-20 17:21:13
這是什麼問題?傳遞一個php變量作爲shell腳本參數的參數。像'exec('./ myscript.sh'。$ var1。''。$ var2);' – Hast 2013-02-20 17:23:25