权限被拒绝〜即使所有者列为我

不知何故,我设法chmod并将我的〜变成了遗忘。

当我尝试通过shell登录时,我明白了

bash: ~/.bashrc : Permission denied 

即使在( 作为根 )我跑了之后

 chown -hR nroach44 /home/nroach44 

 chmod -R 666 /home/nroach44 

或者( 作为nroach44

 chmod -R 644 /home/nroach44 

这些命令都不会返回错误。

也:

 ls -la /home/nroach44 

返回很多

 drw-rw-rw- 1 nroach44 nroach44 4096 --date-- ti:me foldername 

任何帮助?

 chmod -R 666 /home/nroach44 

要么

 chmod -R 644 /home/nroach44 

这将使您的主目录上的所有文件不可执行。 这不是一个好主意;)

我不知道如何清理这个混乱,作为一个快速的解决方法,你可以尝试以root身份做:

 chmod -R 755 /home/nroach44 

此命令将为主文件夹上的所有文件授予执行权限。 它应该解决你眼前的问题,但这可能是一场安全噩梦。

最好的解决方案是打开另一个用户帐户并逐个传输到文件和设置。

目录需要设置执行位以允许您进入目录。 普通666是错误的,即使你是以root身份运行。 它赋予每个人写权限。

要使文件更安全,请运行:

 chmod -R 640 /home/nroach44 

要使文件夹再次可下降,请运行:

 find /home/nroach44 -type d -exec chmod 750 \; 

注意:我选择了xx0,因为某些文件可能是敏感的,不会被其他人读取。 只是要保存,删除世界的读/写/执行权限。

由于您似乎对〜具有足够的权限,因此您需要/home为其他人( sudo chmod +rx /home )拥有x权限并检查/home/nroach44/.bashrc文件上的权限是否正常。

另一点,目录应该有x权限允许输入它们以便全部修复它们,你需要运行sudo chmod -R +X /home/nroach44

这是因为您搞砸了HOME文件夹中所有文件的权限。 玩文件权限时要非常小心,非常小心地使用chmod和chown,否则你最终会弄得一团糟。

 bash: ~/.bashrc : Permission denied 

我认为您更改了主目录中所有文件的权限,因此bashrc的权限也发生了变化。

〜/ .bashrc脚本的默认权限是

 -rw-r--r-- 1 user1 user1 3353 2012-01-09 12:05 .bashrc 

要解释它,您应该对文件具有读写权限,用户组的其他用户应该能够读取它,而其他所有用户也可以读取它。

所以现在使用chmod将bashrc脚本的权限更改为644

 chmod 644 ~/.bashrc 

如果上述命令允许拒绝。 然后

首先运行chown作为sudo

 sudo chown user1:usergrp ~/.bashrc 

将user1替换为您的用户名,将usergrp替换为您的默认用户组。

现在再做一次

 chmod 644 ~/.bashrc 

现在你将获得basrc脚本的权限,现在尝试登录并检查是否有任何其他错误:)

目录需要x位设置(对于该位被视为搜索位的目录)才能打开。 所以我使用树,所以我只能得到文件夹集,避免将所有文件设置为可执行文件的噩梦(树的选项只是-d List directories only. ):

 sudo tree -faid /home/nroach44 | xargs -L1 -I{} sudo chmod 755 "{}" 

警告!!! 你应该考虑这个:

  • 在root /目录或系统目录上使用chmod或chown递归会破坏你的操作系统(实际上/目录或系统目录上的任何递归都是危险的)

  • 这样设置权限批量不是一个好的安全做法