首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pdsh:如何运行需要root/sudo权限的命令

pdsh:如何运行需要root/sudo权限的命令
EN

Ask Ubuntu用户
提问于 2020-04-03 14:30:53
回答 2查看 2.4K关注 0票数 2

我实现了一个用于测试的小型beowulf集群,所有节点都带有Ubuntu服务器18.04。

我已经安装了pdsh,用于在多个节点上同时在ssh上运行相同的命令。ssh登录通过节点上的公钥/私钥分发(例如:https://www.rittmanmead.com/blog/2014/12/linux-cluster-sysadmin-ssh-keys/)被授予无密码。

如果我尝试像"date“这样的简单命令,一切都很好:

代码语言:javascript
复制
me@master:~$ pdsh -w me@node[0-3] date
node0: Mon Mar 9 18:56:04 UTC 2020
node2: Mon Mar 9 17:26:15 UTC 2020
node3: Mon Mar 9 16:42:37 UTC 2020
node1: Mon Mar 9 17:42:52 UTC 2020
me@master:~$

但是,如果我尝试一个需要sudoer特权的命令,如下所示:

代码语言:javascript
复制
me@master:~$ pdsh -w me@node[0-3] apt update

然后返回以下错误:

代码语言:javascript
复制
node0: WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
node0:
node0: Reading package lists...
node0: E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
node0: E: Unable to lock directory /var/lib/apt/lists/
node0: W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
node0: W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
pdsh@node00: node0: ssh exited with exit code 100

其他节点也是如此。

问题是需要sudo执行的"apt update“命令,但我还没有找到将它传递给pdsh的方法。

与“真正”根用户启动的相同类型的命令运行良好:

代码语言:javascript
复制
root@master:~$ pdsh -w root@node[0-3] apt update

但在这种情况下,这实际上意味着在所有节点上启用“真正的”根用户,这是我想要避免的。

它是可占有的吗?有没有一种方法可以在不启用根用户的情况下使用pdsh运行提升的特权命令?或者有其他的工具可以做到这一点?

EN

回答 2

Ask Ubuntu用户

发布于 2020-04-06 19:00:44

您应该能够使用-S标志将密码传输到sudo,如下所示:

代码语言:javascript
复制
pdsh -w me@node[0-3] echo "password" | sudo -S apt update

其中password是您的实际密码。

此外,还可以通过在~/.bash_history文件中放置以下行来防止密码出现在~/.bashrc中:

代码语言:javascript
复制
export HISTIGNORE='*sudo -S*'

并且不要忘记使用~/.bashrc文件来应用这些更改:

代码语言:javascript
复制
source ~/.bashrc

你可能需要在所有的机器上这样做。

票数 0
EN

Ask Ubuntu用户

发布于 2021-03-11 19:58:02

在Red上运行的命令需要提升特权,如下所示:

代码语言:javascript
复制
sudo /usr/local/bin/pdsh -w node[n-m] ?command

只要root对其他节点具有ssh访问权限,这就可以工作。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1223777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档