我们在 rhel 7.6 上创建以下脚本
/home/run_tasks
在 visudo 中我们配置了
%sudo ALL=(ALL:ALL) ALL
root ALL=(ALL) ALL
hdfs ALL = (ALL) ALL
hdfs ALL= (root) NOPASSWD: /home/run_tasks
和
ls -ltr /home/run_tasks
-rwxrwxrwx 1 hdfs hdfs 6377 Sep 11 2019 /home/run_tasks
所以当我们运行脚本时
su hdfs -c "sudo /home/run_tasks"
我们得到
sudo: sorry, you must have a tty to run sudo
在我们标记以下行之后(来自 visudo )
#Defaults requiretty
#Defaults !visiblepw
我们得到
su hdfs -c "sudo /home/run_tasks"
ls: Permission denied: user=root, access=EXECUTE, inode="/../../..":hdfs:hdfs:drwxr-x---
ls: Permission denied: user=root, access=EXECUTE, inode="/../../..":hdfs:hdfs:drwxr-x---