环境:CentOS 7
问题:
我使用了 useradd 命令:useradd Abc09$FtpU88F
当我使用“cat /etc/passwd”检查时,它只显示了密码列表中 $ 符号之前的部分。
useradd 命令中如何使用 $ 符号?它如何影响我的用户/服务器?如果这是一个问题,可以修复吗?
答案1
$FtpU88F
被 shell 解释为环境变量名扩展。
由于没有名为 FtpU88F 的变量(我猜想),因此它只是被扩展为一个空字符串。
因此您只需运行命令useradd Abc09
在用户名中放入 $ 符号等特殊字符确实是一个坏主意。这
可能会导致很多问题,因为其他软件也会将 $ 符号误认为是环境变量的开头。