文件所有权递归更改的问题

文件所有权递归更改的问题

在硬盘驱动器上有一个目录,我想更改该目录的所有内容拥有于汤姆克。我尝试过 Nemo、Krusader 和 Nautilus(全部以 root 身份启动,使用 sudo),所有这些都声称能够递归地应用此类更改。当我发出命令后检查时,没有人这样做。

所以我现在有一个由用户拥有的主目录汤姆克其子目录属于。在每个子目录中都有数百个文件,其所有权需要为 tomc 但为 root。

我可以冒险尝试 chmod 命令,但深入研究它的复杂性是令人生畏的,甚至是危险的。这些是我正在处理的备份文件,虽然不是不可替代的,但我没有副本,也没有空间来制作。

有什么简单的方法可以让我实现我想要的吗?我当然不反对在命令行上工作。看起来 GUI 更安全并且应该可以工作。但事实并非如此。

答案1

尽管您可能不喜欢使用 chmod 命令,但它是最直接、最简单的方法之一。您仍然可以像 guillermo 提到的那样使用 sudo 运行文件浏览器,但不能保证它会坚持下去,并且您仍然需要在命令行中运行命令来使用 sudo 启动它。

chown -R tomcat <DIRECTORY>

这是将目录中每个文件和目录的所有者更改为 user 的最简单方法tomcat。为了让您轻松了解它到底在做什么,让我们看一下手册页。

man chown

该命令的语法是:chown [OPTION]... [OWNER][:[GROUP]] FILE...

我们使用 -R 选项调用 chown,选择 tomcat 作为所有者,并且该文件是您选择的目录。

查看手册页,-R 标志:-R, --recursive operate on files and directories recursively

如果您愿意,您甚至可以使用该-v标志来准确显示它所做的事情。制定新命令chown -Rv tomcat <DIRECTORY>

男人:-v, --verbose output a diagnostic for every file processed

答案2

在 Linux 中,控制台工具通常比 GUI 工具更旧、更稳定且支持更好。此外,在 GUI 中执行 root 操作与在命令行中执行操作一样危险。在这种情况下,这根本不危险。如果您具有 sudo 访问权限,那么您无论如何都可以绕过权限和所有权检查,因此只要您坚持执行权限命令,就无法执行以后无法撤消的操作。

sudo chown tomc -R foo

其中 foo 是树的路径,应该完全执行您想要的操作。

答案3

对于格式表示歉意,我目前正在使用我的手机。

假设您有 /home/,该目录中有 2 个文件夹,folder1 和folder2,均由 root 拥有。

要更改folder1中的所有文件,您可以使用以下命令 chown -cR tomc:root /home/folder1/ -c 选项将打印更改。从 root:root 到 tomc:root -R 表示递归,因此folder1 内的任何内容

相关内容