尝试使用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
给具有登录权限的用户。 允许此帐户进行访问只是一个不同的坏主意。