때로는 vim을 사용하여 sudo를 통해 파일을 편집하기 때문에 다음 심볼릭 링크가 안전하지 않다는 것을 알게 되었습니다.
xiaobai@dnxb:/tmp$ sudo find -L /root \! -user root
/root/.vimrc
xiaobai@dnxb:/tmp$ ls -lathi /root/.vimrc
25 lrwxrwxrwx 1 root root 20 Oct 3 23:22 /root/.vimrc -> /home/xiaobai/.vimrc
xiaobai@dnxb:/tmp$ ls -lathiL /root/.vimrc
12330229 -rw-r--r-- 1 xiaobai xiaobai 6.1K Oct 12 02:22 /root/.vimrc
xiaobai@dnxb:/tmp$
하지만 이 파일은 어떻습니까?
[xiaobai@localhost tmp]$ sudo find -L /bin \! -user root
/bin/sp-sc-auth
[xiaobai@localhost tmp]$ ls -lahi /bin/sp-sc-auth
1844640 lrwxrwxrwx. 1 root root 49 Aug 14 21:10 /bin/sp-sc-auth -> /home/xiaobai/note/src/sopcast/sp-auth/sp-sc-auth
[xiaobai@localhost tmp]$ ls -lahiL /bin/sp-sc-auth
6164581 -rwxrwxr-x. 1 xiaobai xiaobai 839K Aug 14 21:09 /bin/sp-sc-auth
[xiaobai@localhost tmp]$
sudo/su 없이 실행 중인데 sopcast-player
걱정해야 합니까? 시스템의 $PATH에 있지만 sudo/su에서 직접 실행되지 않는 일반 사용자가 소유한 파일을 공격자가 악용할 수 있습니까? gid가 일반 사용자와 동일한 그룹이면 어떻게 되나요?
답변1
사용자가 루트인지 일반 계정인지에 관계없이 사용자가 실행하는 모든 프로그램이나 스크립트는 프로그램이 실행되는 계정과 연결된 권한으로 실행됩니다.
프로그램을 루트로 실행하면 프로그램은 루트가 할 수 있는 모든 작업을 수행할 수 있습니다.
일반 사용자가 소유하고 루트에 의해 실행되는 프로그램이 있는 경우 해당 프로그램은 사용자가 프로그래밍한 모든 작업을 수행할 수 있으므로 해당 사용자는 암시적으로 루트 액세스 권한을 갖습니다.