虽然设置了权限,为什么不能启动SSH shell?

时间:2017-04-29 08:45:40

标签: linux unix ssh permissions debian

由于最近我的服务器遭到破坏,我处于某种极限限制,因此想要限制所有根文件夹的权限,如下所示:

chmod o-x /*

要再次为其他用户启用登录,请执行以下操作:

chmod o+x /home

现在,我有另一个非root的用户,应该是唯一一个允许登录的用户,但它不能 - SSH身份验证本身有效,但是出现了这个错误:

  

/ bin / sh:权限被拒绝

似乎很容易向bin文件夹授予权限,如下所示:

chmod o+x /bin

但我仍然得到相同的Permission denied消息。

这是怎么回事?

1 个答案:

答案 0 :(得分:1)

目录上的执行位(x)允许用户进入该目录。如果从根目录(/)中删除x位,则无法进入该目录并获取其内容的详细信息。但是为了获取/目录下bin目录的详细信息,这是必要的。

顺便说一下,/ home及其中的内容也是如此。

你可能会争辩说你可以做ls /并列出它的内容。这是因为内容本身位于列出的文件夹的inode中。但是尝试使用ls -l /获取详细列表,您将看到无法列出权限。这是因为权限位于bin目录的inode中,但是如果没有x权限,则不允许您进入根目录以查看该inode。

从根目录中删除x权限位会导致很多问题。不要这样做!最好学习像SELinux或类似的概念。