在 Debian 上,添加 unix 用户没有太多限制。即:登录名可以包含点和大写字母。
有什么技巧可以在登录名中添加带有“@”的 unix 用户吗?我知道 @ 有特殊含义,但有解决方法吗?
正如评论中所说,除了 sendmail 之外,使用 @ 登录都可以正常工作。
答案1
没有真正问题在用户名中使用@
符号。但是,这可能会带来混淆,并且根据用途需要进行一些调整。例如,如果您使用SSH
与该用户建立联系,则应使用:
ssh user@stilluser@server
ssh -l user@stilluser server # this syntax works too
而不是简单的:
ssh user@server
上述两种ssh
连接均有效。以下是使用第一个命令的真实示例:
hidigoudi@local_machine:~$ ssh user@stilluser@labo
### Server information (Welcome output)
user@stilluser@labo:~$ id
uid=1001(user@stilluser) gid=1001(user@stilluser) groups=1001(user@stilluser)
user@stilluser@labo:~$ ls -la
total 32
drwxr-x--- 4 user@stilluser user@stilluser 4096 Jan 14 08:34 .
drwxr-xr-x 4 root root 4096 Jan 14 08:32 ..
-rw-r--r-- 1 user@stilluser user@stilluser 220 Jan 14 08:32 .bash_logout
-rw-r--r-- 1 user@stilluser user@stilluser 3771 Jan 14 08:32 .bashrc
drwx------ 2 user@stilluser user@stilluser 4096 Jan 14 08:34 .cache
-rw-r--r-- 1 user@stilluser user@stilluser 807 Jan 14 08:32 .profile
-rw-r--r-- 1 user@stilluser user@stilluser 2606 Jan 14 08:32 .screenrc
drwx------ 2 user@stilluser user@stilluser 4096 Jan 14 08:34 .ssh
user@stilluser@labo:~$
顺便说一句,这完全是 的人允许的,并且是这样描述的useradd
。
用户名只能包含小写和大写字母、数字、下划线或破折号。它们可以以美元符号结尾。用户名开头不允许使用破折号。完全数字的用户名和用户名 . 或 .. 也是不允许的。不建议使用以 . 字符开头的用户名,因为它们的主目录将在 ls 输出中隐藏。
在 Debian 上,唯一的限制是用户名不能以破折号 ('-') 或加号 ('+') 或波浪号 ('~') 开头,也不能包含冒号 (':')、逗号 (',') 或空格(空格:' '、行尾:'\n'、制表符:'\t' 等)。请注意,使用斜线 ('/') 可能会破坏用户主目录定义的默认算法。
用户名最多只能包含 32 个字符。
不过,我建议您使用如下命名约定:
([a-z_][a-z0-9_-]{0,30})
到防止任何麻烦和意外行为。