命令如下,在wind River linux机器上执行。
useradd vpatest -c Pav -g guest -G log -s /data/bin/cli.sh -p $6$cem^CM38$4YdQAPgu8EXNG3ecurYk4eN1sIiYNauBdHFRJew3l/Xa8PyOjACD1xNDhoocVwBzBUN9BlTXXJ/oiWHwV.fhL1
在/etc/shadow
文件中它只写入
YdQAPgu8EXNG3ecurYk4eN1sIiYNauBdHFRJew3l/Xa8PyOjACD1xNDhoocVwBzBUN9BlTXXJ/oiWHwV.fhL1
并截断$6$cem^CM38$4
有什么办法可以避免这种情况并写下完整密码吗?我将获得加密的密码,并且需要将其写入影子文件中。否则,还有其他可以使用的实用程序吗?
答案1
由于您的输入字符串(密码)包含可由 shell 解释为具有特殊含义的字符(例如$
),因此请将密码字符串包装在一对 中''
,例如
useradd vpatest -c Pav -g guest -G log -s /data/bin/cli.sh -p '$6$cem^CM38$4YdQAPgu8EXNG3ecurYk4eN1sIiYNauBdHFRJew3l/Xa8PyOjACD1xNDhoocVwBzBUN9BlTXXJ/oiWHwV.fhL1'