我正在使用非常简单的 FTP (vsftp) 开发一个新的 FTP 服务器,想知道匿名用户在 vsftp 中究竟是如何工作的。Archwiki上似乎没有很好的解释它是什么,只说它可以用于登录。同样,man vsftpd.conf
不解释。两者似乎都假定了解此“匿名用户”的工作知识。
我让 FTP 服务器使用匿名登录(并且不得不猜测用户名/密码,直到我发现用户名是“匿名”并且密码是任意的 - 这在某处记录了吗?),所以我的问题不是关于如何设置它(手册解释得很好),而是匿名用户是什么。
对ftp
用户(而不是ftp
组)来说,这不是我最初的猜测,因为将 ftp 目录的权限更改为类似的权限550
不允许匿名用户再查看它。同样,像这样的选项anon_other_write_enable
可以改变它的权限。
是真正的 Linux 用户吗?vsftp
没有出现在 中/etc/passwd
,所以我猜不会。如果不是,它是什么以及它是如何工作的?
所有文件访问都通过一些“Linux 用户”;就进程凭证而言,不存在匿名 UID 这样的东西。
在 vsftpd 中,FTP 用户“匿名”和“ftp”被映射到
ftp_username
配置选项中指定的 Unix 帐户,默认情况下也设置为“ftp”。(它在“字符串选项”下的手册页中。)另请注意选项
anon_world_readable_only
,默认为“TRUE”——如果启用,vsftpd仅允许匿名帐户访问具有 o+r 的文件,而不管任何权限位或 ACL 是否允许专门访问“ftp”。FTP 用户名“anonymous”本身记录在配置选项下
anonymous_enable
。