2016-07-22 80 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))''。 –