在节点(Rocks)上为用户运行 sudo 命令

在节点(Rocks)上为用户运行 sudo 命令

之前我问过一个问题这里文件中的用户sudoers想要sudo在节点上运行一些命令。问题是,使用该sudo命令,它无法访问其主页。虽然它可以访问其他文件夹。

所以,在前端,我们有

# cat /etc/exports
/export 10.10.10.1(rw,async,no_root_squash) 10.10.10.0/255.255.255.0(rw,async)

现在请看hduser使用ssh登录计算节点。它可以运行sudo命令来列出/但不能运行其主页。

[hduser@compute-0-0 /]$ ls /home/hduser/
bio  hadoop-2.7.2  hadoop-2.7.2.tar.gz  usr
[hduser@compute-0-0 /]$ sudo ls
bin   etc      lib         media  net   root     share  sys  var
boot  home     lib64       misc   opt   sbin     srv    tmp
dev   install  lost+found  mnt    proc  selinux  state  usr
[hduser@compute-0-0 /]$ sudo ls /home/hduser
ls: cannot open directory /home/hduser: Permission denied

我该如何解决这个问题?

答案1

根据评论,root由于 被拒绝root_squash,这是默认的导出行为。在此模式下,远程访问 fromroot被映射到nobody

如果所有节点都是等效的且没有唯一性,那么您应该简化导出

/export 10.10.10.0/255.255.255.0(rw,async,no_root_squash)

进行此更改后,exportfs -a.

如果这不能立即解决问题,则可能需要重新启动客户端(umount相关mount文件系统或重新启动)。

相关内容