Not-Root-User
普通(非root)使用者的dhclient
以 root 身份呼叫 dhclient 在我的 debian 機器上執行良好。但是,我也想允許一些使用者執行 dhclient。到目前為止,我已經嘗試了這兩個範例:
範例一:普通使用者撥打電話時
user@box:~$ dhclient
…,結果是:
bash: dhclient: command not found
例2:我也試過
user@box:~$ /sbin/dhclient
…,並得到
[...] can't create /var/lib/dhcp3/dhclient.leases: Permission denied SIOCSIFADDR: Permission denied SIOCSIFFLAGS: Permission denied SIOCSIFFLAGS: Permission denied Open a socket for LPF: Operation not permitted
現在…我覺得對整個 /sbin 目錄進行 chmod 以供使用者訪問既不是一個好主意(也不會起作用),對上面第二個範例中 dhclient 抱怨的所有內容進行 chmod 似乎也不優雅。解決此問題的最佳和最安全的方法是什麼?
安裝和使用
sudo
。這是做這些事情的一種也是最理智的方式。dhclient
確實需要root權限,沒有辦法解決。允許特定使用者以 root 權限執行單個命令。這可以在這樣的
/etc/sudoers
文件中配置(使用編輯visudo
):Cmnd_Alias DHCP = /usr/sbin/dhclient User_Alias DCHPUSERS = millert, mikef, dowdy DCHPUSERS ALL = NOPASSWD: DHCP
以上只是配置 sudo 的一種方式。如果您有很多使用者要像這樣管理,我建議使用本地使用者組而不是指定單個使用者。