在SSH中恢复用户修改(usermod)

我跑了usermod -s /bin/false ftpuser2 ,现在我无法使用FTP服务与我的次要帐户。 我怎样才能恢复这个命令?

如果你问我试过了什么,什么都不要,也不要,因为我是新手,而且我可以永久地破坏东西,我的托pipe公司也不会给我提供帮助或备份。

首先,您的托pipe公司不会提供备份或任何types的快照的事实并不理想。 绝大多数公司至less会定期执行其基础架构的快照。 也就是说,除非你拒绝了这项服务。 您可能希望跟进您的托pipe服务提供商,因为您可能在不知情的情况下拥有这种服务。

但是要回答我们的问题,您已经使用该命令更改了一个纯文本文件。 如果您可以使用任何有权修改系统文件的用户(例如“root”用户,或“sudoer”或“administrator”的任何用户)进入该服务器。 要解决这个问题,你可以运行下面的命令:

sudo usermod -s /bin/sh ftpuser2

如果sudo不存在,则需要以root身份login。 如果你不能以root身份login,那么你已经locking了自己,你需要得到一些帮助(或者你需要一个新的服务器实例)。

一旦你回来了,请参考'/ etc / passwd'文件来了解你的其他用户为他们的默认shell设置了什么,并将ftpuser2设置为该shell而不是sh

稍后,您可能需要尝试禁用FTP用户的shell,因为这是一个常见的漏洞。 但是,在实验室里做,而不是在生产中。 如果你搞砸了,一定要有一个方便的pipe理用户帐户来帮助你恢复。