2010-07-30 83 views
3

對於一個新項目,我必須編寫一個web界面,它可以修改配置文件。這個系統運行的是標準的debian安裝,帶有apache和php5。 我到目前爲止唯一的想法是編寫小型c程序,將setuid位設置爲root,並將該字符串作爲參數提供給配置文件。不過,我真的對此感覺不好,因爲出於安全原因,我寧願避免在我的系統中使用任何setuid程序。 不幸的是,如果配置文件沒有獨佔的根權限,巫婆配置文件的程序屬於拒絕啓動。Web界面修改配置文件的最佳實踐

webmin這樣的項目如何解決這個問題?我真的很感謝一些最佳實踐經驗,以及如何實現這一點。

在此先感謝

+0

你指的是什麼特定的配置文件? – user400850 2010-08-01 10:47:11

+0

特別是用戶主目錄中的.authorized密鑰文件。我希望用戶能夠將他的公鑰粘貼到Web界面上,以便他能夠使用ssh。不幸的是,.ssh /授權密鑰文件需要擁有600個權限,而用戶擁有它。 :-( – ftiaronsem 2010-08-01 11:34:37

回答

2

你不需要Web服務器在所有寫這個文件。事實上,這似乎是一個非常糟糕的主意。我假設這是一個僅限Intranet的網站?如果是我,我只需將公鑰存儲在數據庫中,然後通過cron作業腳本並驗證證書,然後插入它。當然,腳本必須以根用戶身份運行(將其保存在根用戶的crontab中),但是您不必爲了使用root權限而在Web服務器上寫入文件而失去睡眠。 :)

+0

感謝,它被認爲是一個內聯網網站^^。數據庫的想法聽起來不錯,我會試試看。 – ftiaronsem 2010-08-08 08:11:16

+0

你甚至可以儘可能的讓python做key-gen,它會出現。請參閱http://stackoverflow.com/questions/2466401/how-to-generate-ssh-key-pairs-with-python – Bretticus 2010-08-10 18:29:37