Fabric:本地命令用法

mlz*_*boy 5 python fabric

我想执行一个在本地机器上需要sudo的命令.因此,正如文档所示,我使用了本地命令,但它要求我输入密码.我怎么能避免这个?有一些地方可以保存我的本地机器密码吗?

local('sudo /etc/init.d/tomcat6 start',capture=True)
Run Code Online (Sandbox Code Playgroud)

小智 5

如果您不打算共享 fabfile,您可以使用:

echo "password\n" | sudo -S /etc/init.d/tomcat6 start
Run Code Online (Sandbox Code Playgroud)

根据 sudo 手册页:

-S (stdin) 选项使 sudo 从标准输入而不是终端设备读取密码。密码后必须跟一个换行符。


eum*_*iro 4

检查visudo命令,这将允许您编辑/etc/sudoers文件,您可以在其中定义计算机上的用户、命令和密码要求(例如,用户 mlzboy 不需要输入密码即可执行/etc/init.d/tomcat6)。不要忘记这可能会造成安全问题。

苏多尔手册