大家好,首先,我在这个网站上搜索了很多,但没有得到任何确切的答案。不知道发生了什么事情,所有文件夹权限都自动更改,我的所有文件夹和文件上都出现了锁定图标。然后我在这个网站上搜索并找到了解决方案,如下所示
sudo chown 777 -R $USER:$USER $HOME
它解决了我的问题的一半,它删除了锁定图标,但现在所有文件夹权限都是只读的,所以请指导我如何重置所有文件夹权限,就像以前一样?
我正在使用 ubuntu 12.10
谢谢
答案1
不要这样做!
你已经写道你已经做了sudo chown 777 -R ${USER}:${USER} ${HOME}
1. 问题
您所使用的sudo
操作通常会更改您当前用户所控制的资源。这非常不安全。
2. 问题
您正在使用 sudo 和环境变量。这可能会导致您陷入错误情况。为了说明,请尝试以下操作。
sudo echo $USER
--> 例如 shivamsudo echo '$USER'
-->根
3. 问题
chown
将更改文件的所有权。幸运的是,您添加了失败。该参数777
将被识别为不存在的用户名,并且找不到文件 ${USER}:${USER}。
该命令chmod
负责改变文件或目录的权限。
修复不同目录下所有文件夹的权限。
使用以下命令更改不同目录下的文件夹权限:
find BASEDIR -type d -exec chmod u+rwx \{\} \;
在你的情况下用 替换BASEDIR
。~
对于 bash~
将被替换为当前用户的主目录。
这将仅处理目录(而不是文件)并设置读,写和进入(又名执行) 目录所有者的权限。
欲了解更多信息,请阅读man chmod
笔记:
- 小心递归选项
-R
,因为它将处理所有目录和文件下面给定的目录。 - 使用象征性的权限符号如下
u+rwx
,因为它更容易理解。 sudo
如果您不是真的需要,就不要使用。
检查文件系统是否已正确安装
确保包含有问题的主目录的分区已挂载读写。
grep /home /proc/mounts
这应该给出类似的输出:
/dev/mapper/system-home /home ext4读写,relatime,丢弃,提交=600,数据=有序 0 0
如果读写未显示选项,则表示由于某些原因(例如不一致)该分区以只读方式挂载。如果是这种情况,则调用文件系统检查。这通常也会在计算机启动期间调用。
答案2
最大的问题是,您的所有文件都处于一种无法使用的状态,无论它们现在如何可读。
手动设置权限的问题在于并非所有文件都具有相同的权限集(例如,想想你的 ssh 密钥,你不希望其他人能够读取它们),因此你会陷入一个混乱的境地,你必须为每个文件决定它们应该具有哪些权限。
您能做的最好的事情就是创建一个新帐户并从旧帐户复制您需要的文件。然后权限将自动设置。此外,如果您需要您的个人设置,您也可以从旧帐户复制它们。它们位于主目录中的隐藏文件或隐藏目录中。注意只复制您需要的内容。
随后进行文件系统检查也许是明智之举。