“虚拟”用户

“虚拟”用户

正如主题中所述,问题出在 vsftpd 上。一段时间以来,我正常使用它,一切正常。但是一旦我启动 vsftpd,它就会发出以下消息:

500 OOPS:配置文件不属于正确的用户,或者不是文件

经过一番搜索我尝试:

  • 通过以下方式更改 vsftpd.conf 文件的所有者sudo chown root vsftpd.conf

  • 删除 vsftpd 并重新安装;

  • 清除 vsftpd 并重新安装;
  • 删除conf文件的内容并从互联网上粘贴示例。

没什么帮助,从此就没用了。它是 Ubuntu 16.04

先感谢您。

答案1

我不知道你是否还需要这个,但我最近遇到了同样的问题,我在谷歌上搜索后发现这一页我发现的主要区别是,我尝试通过键入以下内容来启动服务器:

# vsftpd

代替:

# systemctl start vsftpd

在终端中。希望这能有所帮助。

答案2

$ vsftpd &
[1] 7685
500 OOPS: 配置文件不属于正确的用户,或者不是文件

vsftpd在作为后台进程运行时出现错误。
我无法解决该错误,但我成功运行了该服务。

运行以下命令(在 Ubuntu 中)对我来说很有效:

$ sudo chown root:root /etc/vsftpd.conf
$ ls -lt  /etc/vsftpd.conf 
-rwxr-xr-x 1 root root 4429 Sep 12 00:26 /etc/vsftpd.conf
$ sudo service vsftpd start
$ sudo service vsftpd status
vsftpd.service - vsftpd FTP server
Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-09-12 00:47:46 IST; 4s ago
Process: 7882 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
Main PID: 7883 (vsftpd)
Tasks: 1 (limit: 4531)
CGroup: /system.slice/vsftpd.service
        └─7883 /usr/sbin/vsftpd /etc/vsftpd.conf
Sep 12 00:47:46 <Mysystemname>-G1 systemd[1]: Starting vsftpd FTP server...
Sep 12 00:47:46 <Mysystemname>-G1 systemd[1]: Started vsftpd FTP server.

注意:此状态之后,FTP 已在端口 21 上成功运行。

$ nmap 127.0.0.1
  Starting Nmap 7.60 ( https://nmap.org ) at 2019-09-12 00:50 IST
  Nmap scan report for localhost (127.0.0.1)
  Host is up (0.00012s latency).
  Not shown: 997 closed ports
  PORT    STATE SERVICE
  21/tcp  open  ftp

答案3

“虚拟”用户

如果你的 root:root-owned 中有/etc/vsftpd.conf类似

user_config_dir=/etc/vsftpd/users

以便用户joe使用进一步的配置/etc/vsftpd/users/joe,那么该目录和该文件必须由 root 所有并且不可被其他人读取。

不同之处在于,在这种情况下,仅会显示 500 OOPS登录成功后(即一旦vsftpd确定你用户joe,然后可以读取适当的配置文件)。

答案4

这个答案很好地表明了问题所在。在我的例子中,下面的命令是原因:

#*** 分两步阻止对 shell 的访问 ****

#1) 将用户的 shell 分配给 false
usermod -s /bin/false

#2) 将 false 添加到 shell 列表
echo /bin/false >> /etc/shells

注释掉它们后,服务器启动了。因此,首先确保服务器以管理员用户身份运行,然后以 ftp 用户身份与其他用户一起执行操作。

相关内容