Centos
在沒有密碼提示或 root 的情況下執行命令
為了編寫腳本,我希望我的 minikube-role-user 在
minikube tunnel
沒有密碼提示的情況下執行命令,無需將使用者切換到 root,無論是通過 su 還是臨時通過 sudo,或者永久使用 visudo。我已嘗試為我的 minikube-role-user 授予執行檔 /bin/minikube 和 /usr/bin/minikube 的可執行權限和所有權,但密碼提示仍然存在。我不認為 minikube 執行檔本身會提示輸入密碼,我認為它只是執行我沒有權限並且需要發現的第二個執行檔,以便我可以獲得它的權限。我懷疑這是因為 minikibe tunnel 命令不會立即提示輸入密碼,在提示輸入密碼之前和之後會列印一些標準輸出,而其他 minikube 命令不會提示輸入密碼。我認為這個假設的第二個執行檔可能是 nftables,因為 minikube 隧道可能會編寫一個 nftables 規則,但是給我的 minikube-role-user 對 nftables 的所有權權限並沒有擺脫密碼提示。
對於 Linux
minikube tunnel
使用硬編碼sudo
under-the-hood,因此您不會繞過visudo
/adjustsudoers
。我想你已經找到了 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
不幸的是,我現在無法對此進行測試,但也許你值得一試:)