나는 setuid 경고가 정말 무서워요. 그러나 그것을 사용할 방법을 찾을 수 없습니다.
arp -s 198.51.100.1 00:53:00:12:34:56
사용자로 실행할 수 있기를 원
steven
하지만 arp -s에는 루트 권한이 필요합니다.
이것이 올바른 접근 방식입니까?
sudo nano example.sh
sudo chmod u+s example.sh
sudo chmod og-w example.sh
sudo chmod o+x example.sh
./example.sh
답변1
짧은 이야기: setuid 쉘 스크립트를 사용하지 마십시오(또는어느setuid/setgid 스크립트).
매우 긴 이야기:쉘 스크립트에 setuid 설정 허용
해결 방법: 호출 명령을 사용하십시오 sudo
.
sudo arp -s 198.51.100.1 00:53:00:12:34:56
steven
사용자가 비밀번호를 입력하지 않고 이 명령을 실행할 수 있도록 하려면 visudo
다음 줄을 실행하고 추가하세요.
steven ALL = (root) NOPASSWD: arp -s 198.51.100.1 00\:53\:00\:12\:34\:56
다른 sudo 항목이 있는 steven
경우NOPASSWD:
맨 마지막에 넣어야 함.