我在 Centos 7 VM 上添加了一个名为 Abc09$FtpU88F 的用户。但 /etc/passwd 仅显示用户名 Abc09。它做了什么?

我在 Centos 7 VM 上添加了一个名为 Abc09$FtpU88F 的用户。但 /etc/passwd 仅显示用户名 Abc09。它做了什么?

环境:CentOS 7

问题:

我使用了 useradd 命令:useradd Abc09$FtpU88F

当我使用“cat /etc/passwd”检查时,它只显示了密码列表中 $ 符号之前的部分。

useradd 命令中如何使用 $ 符号?它如何影响我的用户/服务器?如果这是一个问题,可以修复吗?

答案1

$FtpU88F被 shell 解释为环境变量名扩展。
由于没有名为 FtpU88F 的变量(我猜想),因此它只是被扩展为一个空字符串。
因此您只需运行命令useradd Abc09

在用户名中放入 $ 符号等特殊字符确实是一个坏主意。这
可能会导致很多问题,因为其他软件也会将 $ 符号误认为是环境变量的开头。

相关内容