文件和文件夹权限递归

abu*_*abu 4 permissions command-line

我是一个新的 Ubuntu 用户。以前我用的是Windows。我在每一步都面临许可问题。其实我正在寻找像windows一样的文件和文件夹权限。我阅读了一些关于此的文件,但我不清楚。

就像,我想获得此目录/opt/lampp/htdocs和子目录的所有类型的权限。

我尝试了以下命令

sudo chown -R abu:abu /opt/lampp/htdocs
Run Code Online (Sandbox Code Playgroud)

但什么也没发生。

任何人都可以在这方面帮助我吗?

Wil*_*ilf 6

除非您添加 V 选项以使其产生详细输出,否则该命令根本不会输出任何内容。我建议您阅读此处chmod提供的手册或通过运行来确保您知道每个命令在做什么。man chmod

要使其递归工作,您只需要传递-R递归标志 - 例如,此命令将使所有内容都/opt/lampp/htdocs具有权限-rwxr-xr-x(文件夹所有者可以读取。写入和执行,组和其他所有人都可以读取和执行:

sudo chmod -R 755 /opt/lampp/htdocs
Run Code Online (Sandbox Code Playgroud)

请注意,我认为这适用于文件和目录,如果目录没有可执行权限,它们将无法工作(请参阅此处)。因此,如果您不希望文件可被执行,您将需要使用这样的东西(可能是 root):

find /path/to/base/dir -type d -exec chmod 755 {} +
find /path/to/base/dir -type f -exec chmod 644 {} +
Run Code Online (Sandbox Code Playgroud)

如果你想知道这是做什么的,你可以阅读 find 手册 ( man find)的相关部分。基本上,如果找到指定路径中的所有文件/文件夹并更改它们的权限。

如果您想成为文件的所有者(和组)(可能不推荐用于服务器和系统配置文件)以便您可以更改(写入)它们,请参阅此问题。这也可以通过在对文件具有写访问权限的组中,或通过让所有“其他”用户对它们具有写访问权限来实现