我想从hadoopmaster到hduser。当我在终端上这样做时,我会这样做:
su - hduser
然后要求我输入密码,然后我输入密码,然后进入hduser。如何在shell脚本中执行相同操作而不必担心密码?我尝试了sudoers
文件方法:
root ALL=(ALL:ALL) ALL
hduser ALL=(ALL:ALL) ALL
hadoopmaster ALL=(ALL:ALL) NOPASSWD: /bin/su hduser
(here I tried different combinations of the line with and without the '-' and also
with and without /bin)
我这样做了,当我su hduser
或su - hduser
时,它会再次提示我输入密码。我该怎么办?
答案 0 :(得分:8)
你不要在sudoers文件中使用“su”,你需要使用“sudo”。所以,你需要一个命令行,如:
sudo su - hduser
hadoopmaster ALL=(ALL:ALL) NOPASSWD: su - hduser
应该这样做。
答案 1 :(得分:0)
我在/ etc / sudoers文件中添加了user = ranjith,如
ranjith ALL=(ALL) NOPASSWD: ALL
现在我们可以使用,
"sudo, sudoedit - execute a command as another user"
[ranjith@ranjith ~]$ sudo -i
# id
uid=0(root) gid=0(root) groups=0(root)
它为我工作,现在我可以直接从我的本地用户“ranjith”登录到root。