sudo 없이 ifconfig 실행

sudo 없이 ifconfig 실행

imx6 플랫폼에서 실행되는 임베디드 Linux가 있습니다. 이것은 프리스케일 임베디드 리눅스입니다. 문제는 이 Linux에 사용할 수 있는 sudo가 없다는 것입니다. 그런데 사용자가 wlan0 장치를 활성화 및 비활성화해야 합니다. 성공하지 못한 채 사용자를 그룹 루트에 추가하려고 했습니다. 또한 전체 명령을 /etc/busybox.conf 파일에 추가하려고 시도했지만 이 역시 효과가 없었습니다.

sudo 없이 사용자로 이 명령을 어떻게 실행할 수 있나요?

user@touch:~$ /sbin/ifconfig eth0 down
SIOCSIFFLAGS: Permission denied

답변1

루트가 아닌 사용자가 그렇게 하도록 신뢰할 수 있는 경우 ifconfig exec에 setuid 플래그를 추가하기만 하면 됩니다.

chmod 4755 /sbin/ifconfig

누구에게나 이 실행 파일을 실행할 수 있는 루트 권한이 부여됩니다. 물론 chmod를 실행하려면 루트 액세스 권한이 필요합니다.

답변2

sudo명령 을 실행하는 데 사용할 필요는 없으며 이 PATH 에 있는지 ifconfig확인하세요 ./sbin

권한이 없는 사용자로 다음을 실행합니다.

export PATH=$PATH:/sbin
ifconfig

답변3

  1. 새로운 Linux 사용자의 경우; 패키지는 sudo권한이 없는 사용자에게 시스템 관리자('root' == 'uid=0')만이 할 수 있는 작업을 시스템에 수행할 수 있는 미리 설정된 시간(분)을 제공합니다.

  2. 이 프로그램에는 ifconfig공용 서버에 있는 Linux 운영 체제와 관련된 많은 보안 문제가 있습니다. KVM 연결이 있는 데스크탑 및 홈 서버의 경우 SSH 액세스가 필요하지 않으며 연중무휴 인터넷 연결을 원하지 않는 경우 이 프로그램은 보안 요구 사항이 낮습니다.

  3. ifconfig이라는 다른 프로그램에 의해 보호됩니다 netdevice. 이 프로그램은 Linux 네트워크 장치에 대한 낮은 수준의 액세스를 제공합니다. 보다 man netdevice. 발생한 오류SIOCSIFFLAGS: 권한이 거부되었습니다.이는 프로그램이 ifconfig권한이 있는 것으로 표시되어 유효 사용자 ID 0('root' <==> 'uid=0') 또는 기능이 필요하기 때문입니다 CAP_NET_ADMIN. 그렇지 않은 경우 EPERM반품됩니다.

  4. 무엇인지 알아내기 위해 CAP_NET_ADMIN우리는 읽어야 한다기능(7) — Linux 매뉴얼 페이지. 여기서 중요한 정보는 "CAP_NET_ADMIN: 인터페이스 구성 등 다양한 네트워크 관련 작업을 수행합니다"입니다. 무엇인지 알아내기 위해 EPERM우리는 읽어야 합니다 man setuid. EPERM사용자에게 권한이 없고(Linux: 해당 기능이 없음 CAP_SETUID) uid가 실제 UID 또는 호출 프로세스의 저장된 set-user-ID와 일치하지 않으면 오류 가 발생합니다.

  5. 단순히 '사용자 이름'을 '루트' 그룹에 추가하는 것은 불가능합니다. Ubuntu 배포판의 예: 요구되는 sudo adduser username root모든 보안 검사를 통과하기 위해 필요한 UID 0을 제공하지 않습니다 netdevice. visudo시스템에서 사용할 수 있는 경우 항목 Defaults secure_path=""에 프로그램 경로가 포함되어 있지 않음 을 알 수 있습니다 netdevice.h. 따라서 프로그램 visudo에 대한 sudo 권한을 수정( 사용) ifconfig해도 에서 제공하는 보안 제어를 우회할 가능성은 없습니다 netdevice.

공용 서버를 실행하지 않는다고 가정할 때 @tonioc에서 제공하는 답변은 권한을 사용하지 않고 Linux 배포판(예: 재부팅 후 모든 이더넷 인터페이스를 자동으로 활성화하는 Ubuntu)의 인터페이스를 켜고 끄는 가장 쉬운 방법입니다 sudo. 이 명령은 시작 스크립트 (예: 비밀번호 입력 없이)가 인터페이스를 끌 수 sudo chmod 4755 /sbin/ifconfig있도록 시스템을 수정하는 간단한 방법입니다 . ifconfig eth0 down인트라넷과 인터넷 네트워크가 모두 연결된(다중 NIC) 데스크톱/서버의 경우 인터넷 네트워크가 필요하지 않을 때 꺼진 상태로 유지하는 것이 보안을 위해 중요합니다.

관련 정보