chroot 환경에서 sudo 명령을 사용할 수 있기를 원합니다.
다음과 같이 chroot를 시작합니다.
chroot /debian-squeeze /bin/bash
이제 chroot에 루트로 로그인했습니다. su user
라는 사용자로 로그인 할 수 있습니다 user
. 이제 sudo
작동하지 않습니다.
user@HD:/$ sudo ls
sudo: must be setuid root
일부 진단:
user@HD:/$ which sudo
/usr/bin/sudo
user@HD:/$ ls -al /usr/bin/sudo
-rwsr-xr-x 2 root root 143884 May 23 2012 /usr/bin/sudo
user@HD:/$ ls -aln /usr/bin/sudo
-rwsr-xr-x 2 0 0 143884 May 23 2012 /usr/bin/sudo
root@HD:/# cat /etc/sudoers
Defaults env_reset
root ALL=(ALL) ALL
user ALL=(ALL) ALL
%sudo ALL=(ALL) ALL
루트로서 sudo
오류 없이 실행할 수 있습니다.
sudo
(또는 setuid
)이 작동하지 않는 이유를 설명할 수 있는 사람이 있나요 ?
답변1
내 생각에는 이것이 /debian-squeeze
or 없이 마운트된 별도의 파일 시스템에 있는 것 같습니다. 커널은 마운트 해제된 파일 시스템에서 setuid 비트(묵시적)를 무시합니다. 이 문제를 해결하려면:defaults
suid
suid
defaults
suid
mount -o remount,suid /debian-squeeze