sudo를 사용하여 초기 로그인을 시뮬레이션할 수 없습니다.

sudo를 사용하여 초기 로그인을 시뮬레이션할 수 없습니다.
$ 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 배포판에서는 계정이 특정 그룹에 속해야 합니다.

관련 정보