2016-07-22 42 views
4

我正在創建一個可以訪問用戶主目錄的Django應用程序。爲此,我想使用類似os.mkdir('/home/user/new_directory')子流程命令創建一個目錄。從django訪問用戶主目錄

因爲Django是由apache服務器啓動的,所以python充當了apache用戶,並且無法訪問我的用戶主目錄。

目前,我知道我的用戶登錄,因爲他們必須登錄網站。有沒有解決方案用戶名從Django/Python執行unix命令?

+0

在web應用程序的用戶帳戶是指通過從服務於web應用在機器上的用戶的不同的事情。甚至可能有許多不同的機器服務於同一個web應用程序。 – wim

+0

在我的情況下,我在網絡上的webapps和不同的可訪問服務器之間使用統一的分散認證系統。它對於unix認證是透明的。 –

回答

0

您可以通過MEDIA_URL /或符號鏈接本身來設置主目錄。 我想到了符號鏈接和os.system調用的組合方式。

what-is-symlinking-and-how-can-learn-i-how-to-to-do-this

要更改apache用戶,使用os.system(su <command>) changing-user-in-python

+0

這種方式並不能真正改變用戶執行命令。只在'os.system()'調用期間改變用戶。在調用期間,必須設置具有憑據的整個命令:'os.system(「echo%s | su%s -c'bash命令'」%(password,username))''。 –