내 디렉토리 /home/git/repositories
권한은 770이고 uid=git,gid=git입니다.
user1@gitserver:~$ ls -la /home/git/ | grep repo
drwxrws--- 42 git git 4096 Jun 30 17:02 repositories
"git" 그룹에 "www-data"라는 사용자가 추가되었습니다.
user1@gitserver:~$ id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data),1001(git)
user1@gitserver:~$ id -G www-data
33 1001
os.listdir('/home/git/repositories')
호출 하고 메시지와 함께 실패하는 Python 스크립트를 실행하는 "www-data" 사용자로부터 OSError: [Errno 13] Permission denied: '/home/git/repositories/'
def functn()
repo_dir = '/home/git/repositories'
logg('CURRENT USER: getresuid && getresgid')
logg(os.getresuid())
logg(os.getresgid())
logg('CURRENT USER: getgroups')
logg(os.getgroups())
logg(os.listdir(repo_dir)) <-- here is fault
출력은 다음과 같습니다.
'CURRENT USER: getresuid && getresgid'
(33, 33, 33)
(33, 33, 33)
'CURRENT USER: getgroups'
[33] <-- 'git' group not showing =(
사용자 "www-data"가 git 그룹에 추가되었습니다.왜 디렉토리를 나열할 수 없나요? !
여기서 업데이트는namei -mo /home/git/repositories:
user1@gitserver:~$ namei -mo /home/git/repositories
f: /home/git/repositories
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxr-xr-x git git git
drwxrws--- git git repositories
답변1
이 댓글맞습니다. www-data
웹서버는 그룹에 추가되기 전에 시작되었습니다 git
. 다른 이유로 다시 시작했더니 웹서버가 다시 시작되고 문제가 사라졌습니다.