Answers:
要恢复使用损坏造成的损害sudo nautilus
,应让自己成为root拥有的所有目录(及其内容)的所有者。
您可以使用它find
来完成此操作,因为它具有仅查找特定用户拥有的文件的测试。
这将找到root拥有的家中的所有目录:
sudo find ~ -type d -user root
然后,您可以重复该find
命令并添加您要执行的操作-将所有找到的目录及其内容的所有权递归更改为当前用户:
sudo find ~ -type d -user root -exec sudo chown -R $USER: {} +
~
主目录 -type d
仅查找目录-user root
只找到属于根的东西 -exec
对发现的内容执行以下命令 sudo chown -R
递归更改所有者 $USER
当前用户 :
还将组更改为特定用户更有效地,您可以省略-type d
查找属于root的任何类型的文件,也可以省略-R
as,find
它将通过对所有文件执行操作来为您进行递归
sudo find ~ -user root -exec sudo chown $USER: {} +
sudo
直到需要
运行GUI工具(例如nautilus
,root
出于这个原因被认为是有害的)以及其他功能(隐藏功能,从谁知道哪里静默运行程序片段的能力……)。
您没有“权限”问题,而有“所有权”问题。
要查找所有root
(归他人所有)的文件,请执行以下操作:
sudo find $HOME \! -user $USER
要将所有权改回给您,您可以
sudo chown -R $(id -u):$(id -g) $HOME
但这将更改其内部和下方的所有文件的所有权 $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
让您有机会调整非您拥有的文件列表,这将使文件的所有权变回您。
您需要做的是将文件夹的所有权从用户(和组)根目录更改为所需的其他用户(和组)。
假设您要在/ home / randomFolder上工作,并且要处理所有权的用户是vitor-abella,您需要做的就是简单地以root用户身份执行此操作:
chown -R vitor-abella:vitor-abella /home/randomFolder
如果有很多文件和子文件夹,可能要花一些时间,但是在那之后您应该会按计划进行。
干杯。
$(id -u):$(id -g)
,而不是让OP想像和$HOME/randomFolder
。
find
使用sudo
(sudo find ...
)来检查root
拥有0700
保护的子目录及其下的所有内容。同上进行维修。