setuid 질문

auditory의 이미지
2425
points
0
points

아래와 같은 스크립트를 일반유저가 루트권한으로
실행시키고자 합니다.
이런 목적으로 사용하는 것이 setuid라고 찾았는데요..

그래서 tst라는 파일을 루트 권한으로 만들었습니다.

$ ls -l tst
-rwsr-x-r-x root root 117 2007-05-16 10:00 tst

내용은 아래와 같습니다.

$ cat tst
#!/bin/sh
whoami
/etc/init.d/networking restart

그런데 whoami결과는 스크립트를 실행시킨 개인유저로 나오고
networking restart 명령어는 퍼미션이 없다고 실행이 안되네요.

루트가 직접 이 스크립트를 실행시키면 잘 됩니다.

어떻게 해야할까요?

/etc/init.d/networking 명령어에 직접 setuid 를 줘야만 하는건가요??

설정이 잘못됐습니다.

0
points

-rwsr-x-r-x root root 117 2007-05-16 10:00 tst

이걸보면 owner위치에 s플레그가 있죠. 이게 문젭니다.
group에 두시고 권한 줄 유저를 해당 그룹에 속하게 해주던가
other에 주고 아무나 할수있게 하던가 그래야 s 플레그가 효과를 보죠.

댓글 보기 옵션

원하시는 댓글 전시 방법을 선택한 다음 "설정 저장"을 누르셔서 적용하십시오.