CentOS上的FTP用户,在用户名中带有'@'符号

我们以前的网站服务器是基于Windows的,它托pipe了多个域名。 因此,如果名为“用户名”的用户想通过FTPlogin到“example.com”,他们将提供他们的用户名为“[email protected]”。

从那时起我们就修改了一些东西 我们的networking服务器现在正在使用CentOS 6,我们的应用程序不再依赖任何FTP。 但是,还有一些没有更新的散户,我很好奇,是否有可能build立一些FTP用户来模仿旧的行为,有点向下兼容,直到我们知道没有人依靠它了。 尝试在名字中创build一个带有“@”的用户会导致一定的可预测性:

useradd: invalid user name '[email protected]' 

强制系统接受这样的名称可能是不可能的,但是我不知道在用户login时是否有类似于这些“虚拟域”的系统,这与我们在Windows上做的事情类似。

正如你使用proftpd那么你应该能够通过创build虚拟用户 ,然后使用ftpasswd程序来创build你的用户名。

 ftpasswd --passwd -name viain@localhost --uid=10001 --home=/home/viain --shell=/bin/false 

哪放

 viain@localhost:$1$nv2Ze6Tv$1EPpzsNBxkiwpAbBV9QMv1:10001:10001::/home/viain:/bin/false 

进入AuthUserfile

CentOS上的FTP用户可以在用户名中包含@符号,完全取决于服务于FTP的守护进程。 例如,如果在.netrc文件中正确启用了该选项,则Midnight Commander在用户名中允许使用@符号。 在某些FTP守护进程中,如果连接string用加号replace@ ,则允许@符号在用户名中。


HERP DERP

这不是proftp的问题,这是用户名不能被useradd接受的问题。 不要使用useradd ,而是使用vipw来编辑你的passwd文件,并使用用户名和一个2符号。 FTP没有自己的用户库,而是使用/etc/passwd文件的用户列表。

关于使用useradd添加用户名的一些注意事项:

同样,如果用户名已经存在于外部用户数据库(如NIS或LDAP)中,则useradd将拒绝用户帐户创build请求。

用户名最多只能有32个字符。

此外,用户名必须以字母数字字符开头。