useradd误区一:useradd -p 密码
useradd命令 -p 参数的一个误解
关键词 : useradd linux下 man useradd可以看到帮助,其中-p参数的解释如下:
-p passwd
The encrypted password, as returned by crypt(3). The default is
to disable the account.
英语好的人也许一看就懂了,但是我不是,我很弱。所以也因此疑惑了一天。
我本来打算用useradd命令添加用户后就可以直接赋予密码的,故此我在root下添加用户
/usr/sbin/useradd -d '/home' -p iampig123 hehe
尝试了下,不能用该密码登陆
/usr/sbin/useradd -d '/home' -p 'iampig123' hehe
还是不行。
这是为什么呢,在高手的指点下我才看懂了,原来帮助里面说得很清楚了,
as returned by crypt(3),也就是说这里写得必须是加密得字符。
linux将帐号信息保存在/etc/passwd,将密码信息保存在/etc/shadow,
因使用加密策略,保存在shadow中的是隐性的代号。
说我们cat一下就可以看到许多账号的信息
比方说如下这行
deepspace:$1$zpe.sRXJ$Id6zoW0h.9xn6b84Ybfjo/:13200:0:99999:7:::
也就是说如果你非要用-p参数来直接赋予密码的话,必须使用那窜加密过的字符串;)
执行cp时出现“cp: omitting directory ” 提示信息, 可以使用cp -r 参数来递归拷贝这些文件。