python && permissões do UNIX (gitlab) [closed]

0

Eu tenho o diretório /home/git/repositories com direitos 770 e uid = git, gid = git

user1@gitserver:~$ ls -la /home/git/ | grep repo
drwxrws--- 42 git  git  4096 Jun 30 17:02 repositories

Eu tenho o usuário 'www-data', que foi adicionado ao grupo 'git'

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

Do usuário 'www-data' executando python-script, que chama os.listdir('/home/git/repositories') e falha com a mensagem 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

Aqui está a saída:

'CURRENT USER: getresuid && getresgid'
(33, 33, 33)
(33, 33, 33)

'CURRENT USER: getgroups'
[33]                            <-- 'git' group not showing =(

Usuário 'www-data' adicionado ao grupo git. Por que ele não pode listar esse diretório?

upd aqui é 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
    
por user28828 16.07.2015 / 05:09

1 resposta

2

Este comentário estava correto; o servidor da web foi iniciado antes de adicionar www-data ao grupo git . O servidor da Web foi reiniciado quando reiniciei por outros motivos e o problema desapareceu.

    
por 16.07.2015 / 07:37