본문 바로가기

Hop the wag during working

busybox의 su: must be suid to work properly

상황 :

busybox로 root filesystem을 만든 후 adduser를 통해 test라는 사용자를 추가하였다.
telnet daemon을 띄우고 telnet으로 test로 로그인.
작업 중 su명령을 통해 root나 다른 계정으로 switch하려 하나 다음의 메세지를 뿌리며 계정 변경이 안됨
# su
su: must be suid to work properly

해결 :

/bin/busybox에 suid를 준다.
# ls -al /bin/busybox
-rwxrwxrwx    1 root     root      1501040 Oct 16  2008 busybox
# chmod u+s /bin/busybox
# ls -al /bin/busybox
-rwsr-xr-x    1 root     root      1501040 Oct 16  2008 busybox

참고 :

SUID, SGID, STID등은 실행권한이 없는 사용자가 해당 파일의 소유자권한, 소유그룹권한으로 해당 파일을 실행할 수 있도록해주는 설정이다. 

자세한 내용은 다음을 참조한다.
http://curfox.tistory.com/tag/Suid

SUID등을 설정하기 전에 보안에 대한 고려도 필요하다.