: 가령 abc란 계정으로 들어와서
:
: abc.c
: #include <unistd.h>
:
: int main()
: {
: system( "whoami" );
: }
:
: gcc abc.c -o abc.e
:
: 이렇게 하고 다시 root 로 로그인하여
:
: chown root.root abc.e
: chmod 771 abc.e
: chmod u+s abc.e
:
: 이렇게 하고 다시 abc로 로그인해서
: ./abc.e 이렇게 하면 root 가 나와야 할 것 같은데...
: 그냥 abc 가 나와버리네요...
:
: setuid를 분명히 주었는데...
: 즉, root의 eid로 whoami 를 실행하는데, 왜 abc가 나오는걸까요?
:
: 답변 반다시 부탁드림다...
:
: --
: 리눅서되기 절라 힘들다
OS Version이 올라가면서 막은 듯 싶네요 ...
원래 Solaris에서도 됐었는데
2.7로 올라가면서 안되고
FreeBSD는 4.1 현재 여전히 되고,
리눅스는 7.0 올라가면서 안되는 듯 싶네요 ...
setuid(0)를 하셔야 될 것 같네요 ... ^^