Networking

如何授予使用者更改 IP 地址的權限?

  • November 12, 2019

我需要使用者能夠更改 IP 地址,而不給他完全的超級使用者訪問權限。我怎樣才能做到這一點?

我在這裡嘗試了解決方案https://serverfault.com/a/480823 效果很好,但只有一次,然後我必須再次重做這些步驟。

如何授予使用者隨時更改 IP 地址的權限?

**編輯:**我沒有rm文件,如上面連結中所述。但是當我再次嘗試時,我會收到類似的錯誤

SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied
SIOCSIFNETMASK: Permission denied
SIOCSIFBROADCAST: Permission denied

就像我ifconfig直接使用一樣。

更改 IP 地址的簡單方法是在命令行上使用ifconfig

# ifconfig   <interface>   <ipaddress>   netmask  <netmask>

 sudo /sbin/ifconfig  192.168.0.1 netmask 255.255.255.0

# for changing gateway if desired

 sudo /sbin/route add default gw 192.168.0.253 eth0

您使用編輯 sudoers 文件visudo

選項 1:創建一個新組,例如稱為ipchangers。然後在文件底部的 visudo 中追加

%ipchangers ALL = NOPASSWD: /sbin/ifconfig
%ipchangers ALL = NOPASSWD: /sbin/route       {if desired}

請務必指示您的ipchangers使用者他們必須鍵入sudo /sbin/ifconfig. 並且您將所有使用者添加到您希望能夠執行的ipchangers組中ifconfig

選項 2:僅針對特定使用者joejack執行此操作,例如,您可以在沒有 % 的情況下執行此操作

john   ALL=NOPASSWD:  /sbin/ifconfig
jack   ALL=NOPASSWD:  /sbin/ifconfig

退出時visudo它應該干淨地退出。如果沒有,它會給出類似的東西

>>> /etc/sudoers: syntax error near line 57 <<<
What now?

那麼你的語法是錯誤的。按照後續說明並更正語法,不要保存錯誤的 sudoers 文件。

請注意,您授予執行能力的任何人都ifconfig可以最大程度地使用ifconfig它,並且可以做的不僅僅是用它更改 IP 地址。

引用自:https://unix.stackexchange.com/questions/270800