首先我创建了一个新组tcpdumpers,将当前用户添加到该组,然后根据此链接的最佳答案编辑/ etc / sudoers:Running commands from within python that need root access
import os
os.system("% sudo tcpdump")
os.system("cd /var/www/tbg/media/uploads/")
os.system("mkdir " + str(request.user.id))
os.system("cat .htaccess")
os.system("chown www-data:www-data .htaccess")
myfile = open(".htaccess", "a")
这会产生错误Permission denied: .htaccess
这是Django中的Apache,因此request.user.id
是Django中的用户对象ID。
我还使用了touch
命令而不是cat
,这产生了相同的结果。无论我做什么,似乎Python都没有权利。
编辑:我想指出使用mkdir命令不会创建任何目录。所以问题从那里开始,而不是.htaccess。它甚至不存在。