Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

useradd新建的用户默认密码是什么

Posted on 2009-08-13 18:38 Prayer 阅读(22781) 评论(0)  编辑 收藏 引用 所属分类: ShellLINUX/UNIX/AIX
如果没有在useradd时候指定的话,是没有密码的。第一次用该用户登陆系统的时候,系统会提示你修改密码。
只能用passwd修改密码
useradd -p 设密码
      useradd有一个选项 p,可以直接设置密码,但是是密文,形如$1$EaTjv12a$yAYHKjRflqHtqH807o59D0
     这是加密过的,比如我想给用户设置的密码为123456,那么你在现在系统中设置一个用户密码用passwd,在/etc/shadow的第二个字段,拿到这个密文就可以用p直接设置密码了

useradd -p
\$1\$EaTjv12a\$yAYHKjRflqHtqH807o59D0 user



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参数来直接赋予密码的话,必须使用那窜加密过的字符串;)



编辑/etc/passwd文件。
[组名]:[口令]:[组ID]:[用户]。
如果使用了shadow隐藏口令,就编辑/etc/shadow文件
要有root权限。 

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理