다른 사용자로 스크립트 실행

다른 사용자로 스크립트 실행

다른 사용자로 서비스를 종료하려고 했습니다. "usernoroot" 사용자로 로그인하고 루트 사용자 "userroot"의 서비스를 종료했습니다!

따라서 "usernoroot" 폴더에 다음과 같이 killscript.sh가 있습니다.

#!/bin/sh
kill -9 $1

그리고 스크립트를 실행 가능하게 만듭니다.

chown root:root /home/usernoroot/killscript.sh
chmod 755 /home/usernoroot/killscript.sh

이제 실행을 시도 ./killscript.sh <pid>하지만 다음을 얻습니다.

./killscript.sh: 2: kill: Operation not permitted

이 스크립트를 성공적으로 실행하려면 어떻게 해야 합니까?

편집하다

sudo를 설치했습니다.

apt-get install sudo

내 사용자를 sudo 그룹에 추가

adduser usernoroot sudo

그리고 sudoers에 "killscript.sh" 스크립트를 추가하세요.

nano /etc/sudoers
usernoroot ALL=(ALL) NOPASSWD: /home/usernoroot/killscript.sh

./killscript.sh 222이제 PW 없이 ID 222를 종료하는 프로세스를 실행할 수 있습니다 .

답변1

첫째, 스크립트를 실행하는 이유 usernoroot는 자신의 것이 아닌 프로세스를 종료할 수 있는 올바른 침투 권한이 없기 때문입니다. 따라서 시스템의 프로세스를 종료하려면 sudo도구를 사용하여 사용자로 스크립트를 실행할 수 있습니다 root.

sudo ./killscript.sh <pid>

다른 방법도 있지만,나는 그것을 추천하지 않는다, 심각한 안전 문제를 일으킬 수 있으며, 부적절하게 사용하면 큰 문제를 일으킬 수 있습니다.

setUIDon 도구를 사용하세요 kill. 단, 루트 사용자여야 합니다.

chmod 4755 /bin/kill

그 다음에누구나kill이 도구는 루트 사용자로 실행할 수 있습니다.나는 이 접근 방식을 권장하지 않습니다

관련 정보