由于最近我的服务器遭到破坏,我处于某种极限限制,因此想要限制所有根文件夹的权限,如下所示:
chmod o-x /*
要再次为其他用户启用登录,请执行以下操作:
chmod o+x /home
现在,我有另一个非root的用户,应该是唯一一个允许登录的用户,但它不能 - SSH身份验证本身有效,但是出现了这个错误:
/ bin / sh:权限被拒绝
似乎很容易向bin文件夹授予权限,如下所示:
chmod o+x /bin
但我仍然得到相同的Permission denied消息。
这是怎么回事?
答案 0 :(得分:1)
目录上的执行位(x)允许用户进入该目录。如果从根目录(/)中删除x位,则无法进入该目录并获取其内容的详细信息。但是为了获取/目录下bin目录的详细信息,这是必要的。
顺便说一下,/ home及其中的内容也是如此。
你可能会争辩说你可以做ls /
并列出它的内容。这是因为内容本身位于列出的文件夹的inode中。但是尝试使用ls -l /
获取详细列表,您将看到无法列出权限。这是因为权限位于bin目录的inode中,但是如果没有x权限,则不允许您进入根目录以查看该inode。
从根目录中删除x权限位会导致很多问题。不要这样做!最好学习像SELinux或类似的概念。