给予同等访问权限后,不能访问其他用户的目录

我已经通过visudo编辑了/ 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 

我想你误解了sudo是如何工作的。 它的作用是让用户使用sudo以用户www-data的方式运行命令 – 但为了这样做,用户git必须运行sudo,仅仅从用户那里成为用户而不使用sudo 不够的。

总之,你需要做类似的事情

  sudo -u git sudo -u www-data ls /tmp/redmine_git_hosting 

代替。