我最近开始研究 Salt Stack,并在 ubuntu 虚拟机上安装了主 Salt 代理。
要在登录时记录我的命令,我需要始终使用
sudo salt ....
有没有办法让 Salt 默认使用 sudo 运行?这意味着我根本不需要输入 sudo 密码或使用 sudo。
我是 Linux 新手,所以如果这看起来像一个愚蠢的问题,我深表歉意。提前致谢
答案1
您可以创建为您运行的 shell 函数或包装器脚本sudo
。例如,将这样的脚本放入您的$PATH
(也许在$HOME/bin
)中:
#!/bin/sh
sudo /path/to/tools/salt "$@"
您可能想将实际的二进制文件放在某处外部用户的PATH
,因此他们不会意外地被直接调用。然后只需进行必要的sudo
配置即可允许用户运行/path/to/real/salt
。
如果你愿意,你也可以制作一个更通用的包装器,例如
#!/bin/sh
sudo "/path/to/tools/${0##*/}" "$@"
它采用程序的名称来调用它本身的名称,因此如果调用 aspepper
或/usr/local/bin/pepper
它将运行sudo pepper
,依此类推。然后您可以将各种名称符号链接到同一脚本。
要配置salt
为无密码运行,您可以按照此处给出的说明进行操作:如何在没有密码提示的情况下以 root 身份运行特定程序?。