我已经编辑了/etc/sudoers归档维苏多并添加
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
答案1
我认为你误解了 sudo 的工作原理。它的作用是让用户 git 使用 sudo 以用户 www-data 的身份运行命令 - 但为了做到这一点,用户 git 必须运行 sudo,仅仅成为用户而不使用 sudo 是不够的来自该用户。
简而言之,你需要做类似的事情
sudo -u git sudo -u www-data ls /tmp/redmine_git_hosting
反而。