我犯了一个错误。我使用 sudo 命令复制了一个包含许多子目录和文件的目录。因此只有 root 才有权对这些文件执行任何操作。
我是否可以以递归的方式为每个人/我自己复制 root 权限?
答案1
以 root 身份复制内容将使内容归 root 所有(我认为 gksudo 只是为了阻止程序设置等被 root 拥有 - 请参阅这里)- 您应该能够使用以下方法修复它:
sudo chown -R $USER:$USER /<PATH>/<TO>/<COPIED>/<FOLDER>
它:
- 用途chown
-R
递归修改目录和文件$USER
被 shell(命令行、bash 等)替换为您的用户名,因此它会告诉它将文件和文件夹的用户和组 ID 设为您的用户。- 在指定路径上执行 - 例如
/<PATH>/<TO>/<COPIED>/<FOLDER>
。不要在 等上执行此操作/
,/usr
因为这可能会破坏系统。
例如:
$ touch file
$ sudo cp file filert
$ ls -l | grep file
-rw-rw-r--. 1 wilf wilf 0 Jul 2 09:42 file
-rw-r--r--. 1 root root 0 Jul 2 09:43 filert
上述命令。创建一个名为 的文件file
,将其作为 root 复制到filert
,然后显示文件属性。当文件以 root 身份复制时,生成的文件应该归 root 所有 - 这就是您的文件所发生的情况。使用上述示例,filert
普通用户可以使用:
$ sudo chown $USER:$USER filert
$ ls -l | grep file
-rw-rw-r--. 1 wilf wilf 0 Jul 2 09:42 file
-rw-r--r--. 1 wilf wilf 0 Jul 2 09:43 filert