linux下强制新用户首次登陆修改密码


linux下强制新用户首次登陆修改密码
 
如果系统管理员希望添加一个用户以后,让该用户第一次登录以后自己设置自己的密码,那么就要使得用户的初始密码或者空密码立刻过期,强制用户第一次登录后立刻修改密码。
  www.2cto.com  
为了强制用户第一次登录时设置一个新密码,请按照下面的指示来做,但是需要的注意的时候如果用户是通过SSH远程登录进去的,那么该方法是不能生效的。
 
1. 锁定用户密码 - 如果用户不存在,用useradd添加用户,但是不设置密码,使得该帐号仍然处于锁定状态,如果用户密码已经激活,则用下面命令锁定:
 
     usermod -L username
2. 强制密码立刻过期:
 
     chage -d 0 username
该命令设置用户上次修改密码的时间为纪元时间(1970年1月1日),这样会使得该命令立刻过期,而不论密码过期策略的设置。
 
3. 对帐号解锁 - 这里有两个方法来实现,管理员可以设置一个新密码或者设置空密码:
 
注意:不要使用passwd来设置密码,因为它会使得刚才设置的使密码立刻过期的设置失效。
 
为了设置初始密码,使用下面步骤:
  www.2cto.com  
启动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","username")
           输出将会类似是:
           12CsGd8FRcMSM
 
输入[Ctrl]+[D]退出python。
拷贝刚才的输出密码结果,12CsGd8FRcMSM,用在下面的命令中:
           usermod -p "12CsGd8FRcMSM" username
当然也可以给用户给一个空密码:
 
     usermod -p "" username 
注: 虽然空密码很方便,但是有安全风险。
 
然后登录该用户,就会提示输入密码。
 
其他办法:  www.2cto.com  
 
使用下面方法也可以实现:
 
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第一次登录,就会提示设置密码如下:
  www.2cto.com  
   $ 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:
本文摘自redhat官方文档!
根据本人理解只需2步:
1、建立用户账户    2、强制用户帐号过期
若需清空账户只需将/etc/shadow中相应用户的密码字段(字段以“:”分隔,第二个字段)清空即可。
 

相关内容

    暂无相关文章