$ sudo -iu cyrus
sudo: unable to change directory to /srv/cyrus: Permission denied
sudo: unable to execute /bin/zsh: Permission denied
왜 거절당하는지 모르겠습니다 /bin/zsh
.
$ stat /bin/zsh
File: `/bin/zsh' -> `/etc/alternatives/zsh'
Size: 21 Blocks: 0 IO Block: 4096 symbolic link
Device: ceh/206d Inode: 49686869 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2014-05-02 22:19:33.464671249 +0800
Modify: 2014-05-02 22:12:21.447725196 +0800
Change: 2014-05-02 22:12:21.452724872 +0800
Birth: -
그리고 /srv/cyrus
:
$ stat /srv/cyrus/
File: `/srv/cyrus/'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: ceh/206d Inode: 50467467 Links: 3
Access: (0750/drwxr-x---) Uid: ( 1002/ cyrus) Gid: ( 1002/ cyrus)
Access: 2014-05-02 22:05:57.702641011 +0800
Modify: 2014-05-02 22:05:58.135612918 +0800
Change: 2014-05-02 22:11:39.313461373 +0800
Birth: -
이런 종류의 문제를 어떻게 디버깅할 수 있나요?
답변1
이런 종류의 문제를 어떻게 디버깅할 수 있나요?
환경 없이 사용해 보세요
sudo -s -u cyrus
시스템 호출을 추적할 수도 있습니다.
리눅스의 경우:
strace sudo -iu cyrus
일부 Linux 배포판에서는 계정이 특정 그룹에 속해야 합니다.