【问题标题】:Why not able to start SSH shell though permissions are set?为什么设置了权限却无法启动 SSH shell?
【发布时间】:2017-09-27 08:42:48
【问题描述】:

由于最近我的服务器遭到黑客攻击,我处于某种终极限制品味中,因此想限制所有根文件夹的权限,如下所示:

chmod o-x /*

要再次为其他用户启用登录,我这样做:

chmod o+x /home

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

/bin/sh: 权限被拒绝

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

chmod o+x /bin

但我仍然收到相同的权限被拒绝消息。

这是怎么回事?

【问题讨论】:

  • SO 是针对编程问题,而不是关于使用或配置 Linux 的问题。试试 SuperUser.com 或 unix.stackexchange.com。
  • /bin/sh的权限是什么?
  • 下次我会做的。。谢谢。
  • Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super UserUnix & Linux Stack Exchange 会是一个更好的提问地点。

标签: linux unix ssh permissions debian


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 2018-03-08
    • 2014-01-01
    相关资源
    最近更新 更多