Vit*_*lla 18 permissions ownership
使用sudo nautilus
我创建了一些文件夹,我想摆脱对它们的 root 权限。但是我有很多,我想对整个目录及其包含的文件夹执行此操作。
那么如何允许当前用户读取/写入特定目录中的所有文件和文件夹/home
呢?
Zan*_*nna 19
要恢复使用造成的损坏,sudo nautilus
您应该让自己成为 root 拥有的任何目录(及其内容)的所有者。
您可以使用它find
来执行此操作,因为它具有仅查找特定用户拥有的文件的测试。
这将找到您家中 root 拥有的所有目录:
sudo find ~ -type d -user root
Run Code Online (Sandbox Code Playgroud)
然后,您可以重复该find
命令并添加您想要执行的操作 - 递归地将所有找到的目录及其内容的所有权更改为当前用户:
sudo find ~ -type d -user root -exec sudo chown -R $USER: {} +
Run Code Online (Sandbox Code Playgroud)
~
主目录 -type d
只查找目录-user root
只找到属于 root 的东西 -exec
对找到的任何内容执行以下命令 sudo chown -R
递归更改所有者 $USER
当前用户 :
还将组更改为特定用户更有效地,您可以省略-type d
查找属于 root 的任何类型的文件,并省略-R
asfind
将通过对所有文件进行操作来为您执行递归
sudo find ~ -user root -exec sudo chown $USER: {} +
Run Code Online (Sandbox Code Playgroud)
wal*_*tor 14
运行 GUI 工具,比如nautilus
因为root
这个原因被认为是有害的,等等(隐藏的功能,从谁知道在哪里静默运行程序片段的能力,......)。
你没有“权限”问题,你有“所有权”问题。
要查找由root
(真正由其他人所有)拥有的所有文件,请执行以下操作:
sudo find $HOME \! -user $USER
Run Code Online (Sandbox Code Playgroud)
要将所有权改回给您,您可以
sudo chown -R $(id -u):$(id -g) $HOME
Run Code Online (Sandbox Code Playgroud)
但这会改变所有文件的所有权 $HOME
sudo find $HOME \! -user $USER >/tmp/list-of-files
# edit the list of files, and delete file files you don't want to chown
nano /tmp/list-of-files
xargs sudo chown $(id -u):$(id -g) </tmp/list-of-files
Run Code Online (Sandbox Code Playgroud)
使人们有机会调整由非您拥有的文件列表,这些文件的所有权将更改回您。
您需要做的是将文件夹的所有权从用户(和组)root更改为您想要的其他用户(和组)。
想象一下,您想要在/home/randomFolder 上工作,并且您想要处理所有权的用户是vitor-abella,您需要做的只是以 root 身份执行它:
chown -R vitor-abella:vitor-abella /home/randomFolder
Run Code Online (Sandbox Code Playgroud)
如果有很多文件和子文件夹,这可能需要一段时间,但之后您应该会走上正轨。
干杯。
归档时间: |
|
查看次数: |
54328 次 |
最近记录: |