Я редактировал / и т.д. / sudoers файл через Visudo и добавил
www-data ALL=(git) NOPASSWD: ALL
git ALL=(www-data) NOPASSWD: ALL
так что теперь пользователь "git" должен иметь возможность выполнять команды как "www-data", но когда я пытаюсь
sudo -u git ls /tmp/redmine_git_hosting
Я получил:
ls: cannot open directory /tmp/redmine_git_hosting/: Permission denied
Разрешения каталога:
drwx------ 2 www-data www-data 4096 Jan 31 09:02 redmine_git_hosting
Я могу просмотреть каталог, запустив:
sudo -u www-data ls /tmp/redmine_git_hosting
Я думаю, вы неправильно поняли, как работает sudo. Что он делает, так это позволяет пользователю git использовать sudo для запуска команд от имени пользователя www-data - но для этого пользователь git должен запускать sudo, недостаточно, чтобы вы стали пользователем без использования sudo от этого пользователя.
Короче говоря, вам нужно сделать что-то вроде
sudo -u git sudo -u www-data ls /tmp/redmine_git_hosting
вместо.