尝试让一个群组能够读写一个目录。

首先,我是一个新手 - 我正在使用Bitnami堆栈来部署一个Rails应用程序。
Bitnami将Rails应用程序放在/opt/bitnami/projects目录下。
我创建了一个名为“deployers”的组。我的登录名是“bitnami”。因此,我将“bitnami”添加到“deployers”中(现在只有我一个开发人员)。
所以,
- whoami = bitnami - groups bitnami = bitnami : bitnami adm dialout cdrom floppy audio dip video plugdev admin deployers
然后我运行了以下命令:
sudo chown -R root:deployers projects
sudo chmod -R 0766 projects

我以为这些命令会给组deployers中的bitnami用户提供我所需的读写权限。
但是,现在我甚至无法执行cd projects命令。我得到的错误信息是bash: cd: projects: Permission denied。 projects目录的权限如下:
projects Directory drwxrw-rw- root deployers

怎么修理它?
2个回答

你无法执行 cd projects 命令,因为你必须对目录具有执行权限才能这样做。运行以下命令来设置权限:
sudo find projects -type f -exec chmod -R 664 {} \;
sudo find projects -type d -exec chmod -R 775 {} \;

第一个应用于文件的读写权限,第二个应用于目录的读写和执行权限。

执行目录权限意味着您可以进入其中。因此,如果您想代表组进入projects目录,则必须在该目录上设置执行位:

chmod g+x projects