何时使用 -type d-exec chmod 750 / 640 in docker
When to use -type d-exec chmod 750 / 640 in docker
我已经开始使用 Docker 进行本地开发,从在我的 mac 上安装所有内容到容器。浏览多个项目后,我经常看到以下 shell 命令,尤其是
find /www -type d -exec chmod 750 {} \; \
find /www -type f -exec chmod 640 {} \;
首先,他们试图实现什么,其次,这些命令的实际含义是什么,最后,为什么/什么时候您想要或需要使用它?
我最近复制并修改了另一个项目,发现拉出这些命令似乎没有什么区别(很公平,它不再基于相同的基础容器......但仍然如此)。
如有任何启发,我们将不胜感激。
编辑:
那 handy link in the comments below to explain shell 告诉我们:
What: 找到 /www
中的所有文件夹并执行 chmod 命令,将权限更改为 750
- 仍然不确定 750,更重要的是你为什么要这样做。
该命令将所有文件和目录设置为属主可读可写,属组可读但任何人都不能执行。
您可能想先阅读 unix permissions in a bit more detail。
find /www -type f -exec chmod 640 {} \;
找到/www
下的所有文件并设置用户有r
ead,w
rite access (6) 和组有r
ead access ( 4).其他用户没有访问权限 (0)。
find /www -type d -exec chmod 750 {} \;
找到/www
下的所有目录并设置用户有r
ead,w
rite和ex
ecute权限(7)和组有对这些目录的 r
ead 和 ex
ecute 权限 (5)。其他用户没有权限 (0)。
每个 find
之后的 \;
终止 -exec
命令,并且必须在 shell 中的 运行 时进行转义,因此它不会被解释为常规 ;
这是 shell 命令的结尾。这也可以通过 +
和 more efficient 来实现,它更易于阅读,因为它不需要转义。如果您在其他地方依赖 stdout/stderr ,效率可能会导致输出差异。
Execute permissions on a directory表示用户可以进入目录并访问里面的文件。由于目录不能在可执行文件的意义上执行,因此执行位被重载以表示其他含义。
link Cyrus posted to explainshell.com 也是一个很好的工具。
我已经开始使用 Docker 进行本地开发,从在我的 mac 上安装所有内容到容器。浏览多个项目后,我经常看到以下 shell 命令,尤其是
find /www -type d -exec chmod 750 {} \; \
find /www -type f -exec chmod 640 {} \;
首先,他们试图实现什么,其次,这些命令的实际含义是什么,最后,为什么/什么时候您想要或需要使用它?
我最近复制并修改了另一个项目,发现拉出这些命令似乎没有什么区别(很公平,它不再基于相同的基础容器......但仍然如此)。
如有任何启发,我们将不胜感激。
编辑:
那 handy link in the comments below to explain shell 告诉我们:
What: 找到 /www
中的所有文件夹并执行 chmod 命令,将权限更改为 750
- 仍然不确定 750,更重要的是你为什么要这样做。
该命令将所有文件和目录设置为属主可读可写,属组可读但任何人都不能执行。
您可能想先阅读 unix permissions in a bit more detail。
find /www -type f -exec chmod 640 {} \;
找到/www
下的所有文件并设置用户有r
ead,w
rite access (6) 和组有r
ead access ( 4).其他用户没有访问权限 (0)。
find /www -type d -exec chmod 750 {} \;
找到/www
下的所有目录并设置用户有r
ead,w
rite和ex
ecute权限(7)和组有对这些目录的 r
ead 和 ex
ecute 权限 (5)。其他用户没有权限 (0)。
每个 find
之后的 \;
终止 -exec
命令,并且必须在 shell 中的 运行 时进行转义,因此它不会被解释为常规 ;
这是 shell 命令的结尾。这也可以通过 +
和 more efficient 来实现,它更易于阅读,因为它不需要转义。如果您在其他地方依赖 stdout/stderr ,效率可能会导致输出差异。
Execute permissions on a directory表示用户可以进入目录并访问里面的文件。由于目录不能在可执行文件的意义上执行,因此执行位被重载以表示其他含义。
link Cyrus posted to explainshell.com 也是一个很好的工具。