私のディレクトリ /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
Webサーバーはグループに追加される前に開始されましたgit
。別の理由で再起動したところ、Webサーバーが再起動し、問題がなくなりました。