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