사용자가 전체 수퍼유저 액세스 권한을 부여하지 않고도 IP 주소를 변경할 수 있어야 합니다. 어떻게 해야 하나요?
나는 여기서 해결책을 시도했다.https://serverfault.com/a/480823 이것은 잘 작동하지만 한 번만 수행되고 나면 단계를 다시 실행해야 합니다.
사용자에게 언제든지 IP 주소를 변경할 수 있는 권한을 부여하려면 어떻게 해야 합니까?
편집하다:rm
위 링크에 언급된 파일이 없습니다 . 하지만 다시 시도하면 다음과 같은 오류가 발생합니다.
SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied
SIOCSIFNETMASK: Permission denied
SIOCSIFBROADCAST: Permission denied
내가 직접 사용하는 것처럼 ifconfig
.
답변1
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:라는 이름의 새 그룹을 만듭니다.IP교환기예를 들어. 그런 다음 visudo의 파일 맨 아래에 추가하십시오.
%ipchangers ALL = NOPASSWD: /sbin/ifconfig
%ipchangers ALL = NOPASSWD: /sbin/route {if desired}
반드시 기재해주세요.IP교환기사용자는 를 입력해야 합니다 sudo /sbin/ifconfig
. 그런 다음 모든 사용자를IP교환기운영하고 싶은 그룹ifconfig
옵션 2:특정 사용자에게만 이 작업을 수행합니다.조그리고잭예를 들어 % 없이 이 작업을 수행합니다.
john ALL=NOPASSWD: /sbin/ifconfig
jack ALL=NOPASSWD: /sbin/ifconfig
visudo
깔끔하게 종료 되어야 합니다. 그렇지 않다면 다음과 같은 것을 줄 것입니다.
>>> /etc/sudoers: syntax error near line 57 <<<
What now?
그렇다면 구문이 잘못되었습니다. 후속 지침에 따라 구문을 수정하고 잘못된 sudoers 파일을 저장하지 마십시오.
실행 기능을 제공하는 사람은 누구나 이를 최대한 활용할 ifconfig
수 있으며 IP 주소 변경 이상의 작업을 수행할 수 있습니다.ifconfig
답변2
명령(링크한 솔루션의 마지막 줄)을 건너뛰면 rm ifconfig
계속할 수 있습니다. 그러나 시스템 관리자가 아닌 사람이 감독 없이 이러한 명령을 ifconfig
항상 사용하도록 허용하는 것은 보안상의 악몽입니다. 해를 끼치려는 의도는 없었을 수도 있지만, 어떤 일이 발생하여 다른 사람이 계정을 장악하게 된다면 그 결과가 어떻게 될지 짐작할 수 있습니다. 단지 경고일 뿐입니다.