我正在使用 Fabric 部署项目并遇到一个问题:
fabric 目前(据我所知)无法为其 sudo 命令指定选项,因此我无法使用sudo -E
本地用户的代理设置。
我该如何设置 root 的代理设置?
这需要通过命令行进行,因为我在没有 GUI 的服务器机上工作。
答案1
我不知道这是否可以帮助你,但我使用tsocks
袜子代理,如Tor
安装最新版本的 tor 和 tsockssudo apt-get install tor tsocks
编辑 tsocks 配置文件sudo gedit /etc/tsocks.conf
,最后几行应该是:
server = 127.0.0.1
# Server type defaults to 4 so we need to specify it as 5 for this one
server_type = 5
# The port defaults to 1080 but I've stated it here for clarity
server_port = 9050
并使用 tor 代理执行任何命令,tsocks sudo apt-get update
例如。
答案2
仅供参考。Fabric
完全允许该sudo
命令。从文档
fabric.operations.sudo(command, shell=True, pty=True, combine_stderr=None, user=None, quiet=False, warn_only=False, stdout=None, stderr=None, group=None)
这是来自文档的示例。
sudo("~/install_script.py")
sudo("mkdir /var/www/new_docroot", user="www-data")
sudo("ls /home/jdoe", user=1001)
result = sudo("ls /tmp/")
with settings(sudo_user='mysql'):
sudo("whoami") # prints 'mysql'
顺便说一句,很高兴您使用 Fabric。它是一个很好的部署工具。