상황 :
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등을 설정하기 전에 보안에 대한 고려도 필요하다.