Linux 尽管设置了权限,为什么不能启动SSH shell?

Linux 尽管设置了权限,为什么不能启动SSH shell?,linux,unix,ssh,permissions,debian,Linux,Unix,Ssh,Permissions,Debian,由于最近我的服务器遭到黑客攻击,我处于某种极限限制状态,因此希望限制所有根文件夹的权限,如下所示: chmod o-x /* 要再次为其他用户启用登录,请执行以下操作: chmod o+x /home 现在,我有另一个不是root用户的用户,它应该是唯一允许登录的用户,但它不能-SSH身份验证本身可以工作,但随后出现以下错误: /bin/sh:权限被拒绝 向bin文件夹授予权限似乎很容易,如下所示: chmod o+x /bin 但我还是收到了同样的“拒绝许可”消息 这是怎么回事?目录上的

由于最近我的服务器遭到黑客攻击,我处于某种极限限制状态,因此希望限制所有根文件夹的权限,如下所示:

chmod o-x /*
要再次为其他用户启用登录,请执行以下操作:

chmod o+x /home
现在,我有另一个不是root用户的用户,它应该是唯一允许登录的用户,但它不能-SSH身份验证本身可以工作,但随后出现以下错误:

/bin/sh:权限被拒绝

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

chmod o+x /bin
但我还是收到了同样的“拒绝许可”消息

这是怎么回事?

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

顺便说一句,家庭和家庭也是如此

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


从根目录中删除x权限位将导致许多问题。别这样!最好学习SELinux或类似的概念。

编程问题也是如此,而不是关于使用或配置Linux的问题。请尝试SuperUser.com或unix.stackexchange.com。您对
/bin/sh
有什么权限?我下次会这样做。。谢谢。Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。