权限被拒绝〜即使所有者列为我
不知何故,我设法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递归会破坏你的操作系统(实际上/
目录或系统目录上的任何递归都是危险的) -
这样设置权限批量不是一个好的安全做法