我想在Python脚本中运行具有特定用户权限的命令。
import os
os.subprocess("sudo su user; cd <directory_path> ; touch test", shell=True)
此处的测试文件不是使用我与sudo su一起使用的用户的所有权创建的。
我也尝试过与sudo -u和sudo -i相同的命令,但它没有用。
答案 0 :(得分:1)
您正在以您拨打sudo su
或sudo -i
的方式生成新的shell,并且新的shell未通过cd;touch
。
你可能想要一些
的内容sudo -u user touch <dir>/test
(如果目录不存在,其行为与预期代码略有不同)。