我们之前的 Web 服务器是基于 Windows 的,并且托管了多个域。因此,如果名为“username”的用户想要通过 FTP 登录到“example.com”,他们会提供其用户名“[电子邮件保护]“。
从那时起,我们就修改了一些东西;我们的网络服务器现在使用的是 CentOS 6,我们的应用程序不再依赖 FTP。但是,可能仍有一些落后者没有更新,我很好奇是否可以设置一些 FTP 用户来模拟旧的行为,有点像向后兼容,直到我们知道没有人再依赖它。尝试创建一个名称中带有“@”的用户会导致一些可预测的结果:
useradd: invalid user name '[email protected]'
强制系统接受这样的名称可能无法,但我不知道当用户登录时是否有任何系统可以处理类似“虚拟域”的事情,这与我们在 Windows 上所做的类似。
答案1
答案2
CentOS 上的 FTP 用户是否可以@
在用户名中包含符号完全取决于为 FTP 提供服务的守护进程。例如,@
如果在文件中正确启用了该选项,Midnight Commander 允许在用户名中包含符号.netrc
。在某些 FTP 守护进程中,@
如果连接字符串@
用加号替换,则允许在用户名中包含符号。
赫普·德普
这不是 proftp 的问题,而是用户名不被接受的问题useradd
。不要使用useradd
,vipw
而是使用 来编辑您的密码文件并使用带有2
符号的用户名。FTP 没有自己的用户群,而是使用文件/etc/passwd
的用户列表。
关于添加用户名的一些说明useradd
:
类似地,如果用户名已经存在于外部用户数据库(例如 NIS 或 LDAP)中,则 useradd 将拒绝用户帐户创建请求。
用户名最多只能包含 32 个字符。
此外,用户名必须以字母数字字符开头。