Chinaunix首页 | 论坛 | 博客
  • 博客访问: 308212
  • 博文数量: 120
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 1290
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-19 01:46
文章分类

全部博文(120)

文章存档

2010年(84)

2009年(36)

我的朋友

分类:

2009-12-19 05:06:38

如何实现让用户第一次登录时使用命令行工具设置自己的密码?

解决方法:
如果系统管理员希望添加一个用户以后,让该用户第一次登录以后自己设置自己的密码,那么就要使得用户的初始密码或者空密码立刻过期,强制用户第一次登录后立刻修改密码。
为了强制用户第一次登录时设置一个新密码,请按照下面的指示来做,但是需要的注意的时候如果用户是通过SSH远程登录进去的,那么该方法是不能生效的。
1.
锁定用户密码 - 如果用户不存在,用useradd添加用户,但是不设置密码,使得该帐号仍然处于锁定状态,如果用户密码已经激活,则用下面命令锁定:
     usermod -L username
2.
强制密码立刻过期:
     chage -d 0 username
该命令设置用户上次修改密码的时间为纪元时间(197011日),这样会使得该命令立刻过期,而不论密码过期策略的设置。
3.
对帐号解锁 - 这里有两个方法来实现,管理员可以设置一个新密码或者设置空密码:
注意:不要使用passwd来设置密码,因为它会使得刚才设置的使密码立刻过期的设置失效。
为了设置初始密码,使用下面步骤:
启动Python:      # python     Python 2.3.4 (#1, Feb  6 2006, 10:38:46)     [GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2     Type "help", "copyright", "credits" or "license" for more information.     >>>
在提示符>>>后输入下面命令:            import crypt; print crypt.crypt("userpassword","salt")           输出将会类似是:           12CsGd8FRcMSM
输入[Ctrl]+[D]退出python。 拷贝刚才的输出密码结果,12CsGd8FRcMSM,用在下面的命令中:            usermod -p "12CsGd8FRcMSM" username
当然也可以给用户给一个空密码:
     usermod -p "" username
注: 虽然空密码很方便,但是有安全风险。
然后登录该用户,就会提示输入密码。
其他办法:
使用下面方法也可以实现:
1.
使用useradd添加用户 2. 使用passwd设置用户密码 3. 使用usermod -L来锁密码 4. 强制用户帐号过期chage -d 0 username 5. 解锁用户帐号
上面流程的示例:
   # useradd dan   # passwd dan   Changing password for user dan.   New password:   Retype new password:   passwd: all authentication tokens updated successfully.   # usermod -L dan   # chage -d 0 dan   # usermod -U dan
当然用户dan第一次登录,就会提示设置密码如下:
   $ su dan   Password:   You are required to change your password immediately (root enforced)   Changing password for dan   (current) UNIX password:   New password:   Retype new password:

阅读(459) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~