尝试使用ssh时“此帐户当前不可用”错误

我尝试建立SSH连接时发生错误:

$ ssh -p 22 www-data@xxxx This account is currently not available 

您收到This account is currently not available. 错误,因为用户www-data的shell设置为/usr/sbin/nologin ,并且设置的原因非常充分。 您不应该以www-data身份登录,它是Web服务器使用的特殊用户/组,不适合常规shell使用。

编辑 :给予www-data sudo权利是一个特别糟糕的主意 。 如果Apache打算以root权限运行,那么它就没有自己的组。 通过这样做,您正在创建巨大的安全漏洞。 你被警告了。

虽然我同意其他人允许通过www-data用户通过SSH登录通常是一个坏主意,一旦你与普通用户一起登录,与www-的权限集同时运行多个命令可能是有用的。数据用户。 在那种情况下,人们可以跑

 sudo su -l www-data -s /bin/bash 

并且您将能够以www-data用户身份访问您的文件。

我要问的第一个问题是,你想通过这样做完成什么?

kraxor是100%正确的,你永远不能使用你的Apache / Nginx用户ssh到你的服务器。 这样做会邀请每个有半脑细胞的黑客进入您的服务器。

如果您需要以该用户身份运行脚本或某个程序,您可以尝试使用sudo -u www-data yourscript或者您可以暂时将文件chown给具有登录权限的用户。 允许此帐户进行访问只是一个不同的坏主意。