为了编写脚本,我希望我的 minikube-role-user 能够在minikube tunnel
没有密码提示的情况下执行命令,而无需将用户切换到 root 用户,无论是通过 su 还是临时使用 sudo,或者永久使用 visudo。
我已尝试授予我的 minikube-role-user 可执行文件 /bin/minikube 和 /usr/bin/minikube 的可执行权限和所有权,但密码提示仍然存在。我认为 minikube 可执行文件本身不会提示输入密码,我认为它只是执行了第二个我没有权限的可执行文件,我需要发现它才能获得权限。我怀疑这是因为 minikibe tunnel 命令不会立即提示输入密码,在提示输入密码之前和之后会打印一些 stdout,而其他 minikube 命令不会提示输入密码。我认为这个假设的第二个可执行文件可能是 nftables,因为 minikube tunnel 可能会编写一个 nftables 规则,但是授予我的 minikube-role-user nftables 所有权权限并没有摆脱密码提示。
答案1
对于 Linuxminikube tunnel
sudo
使用底层硬编码,因此您将无法绕过visudo
/调整sudoers
。
我想你已经找到了minikube 文档中提到如何避免输入密码并希望获得比授予访问权限更为细粒度的信息sudo ip
。
/etc/sudoers
可以配置得相当精细,你还可以允许无sudo
密码sudo
具体的仅限命令:
username ALL=(ALL) NOPASSWD: /usr/bin/ip route add 10.96.0.0/12 via 192.168.64.194
10.96.0.0/12
集群的服务 CIDR 是默认
的,很可能也是你的,否则检查这个SO。- 这
192.168.64.194
是你的minikube ip
不幸的是我现在无法测试这一点,但也许值得一试:)