1.前言
对useradd适用的选项usermod也适用,他们的区别是: useradd是在添加一个新用户的同时,修改它的相关选项,而usermod是修改一个已经存在用户相关选项。就是useradd是针对新用户的,usermod是针对的是已经存在的用户。只要useradd有的选项,usermod都支持。
2.修改用户信息usermod
命令:usermod [选项] 用户名
选项:-u UID 修改用户的说明信息
-c 用户说明 修改用户的说明信息
-G 组名 修改用户的附加组
-L 临时锁定用户(LOCK)
-U 解锁用户锁定(UNLOCK)
举个栗子: 命令:usermod -c “test user” lamp 修改用户的说明
命令:usermod -G root lamp 把lamp用户加入root组
命令:usermod -L lamp 锁定用户
命令:usermod -U lamp 解锁用户
- 开始实验:
1.打卡/etc/passwd文件查看helen的用户信息
2.修改helen用户的信息
3.打开/etc/passwd查看helen用户信息的变化,发现UID和说明信息已经改成功了。
4.有没有把这个用户加入到这个root组里面那?我们去查vim /etc/group这个文件
-L -U选项
- 在passwd命令时用
passwd –l helen
和passwd –u helen
来锁定helen和解锁helen ,这个是-L –U,他们之间的作用基本实一样的,我们也可以用其他的方法把用户暂时锁定,比如说手工来,vi 修改/etc/passwd中把用户的登录权限从标准的权限/bin/bash改成/sbin/nologin用这样的方法也可以使用户暂用。或者直接把用户注释掉,也是可以的,也可以修改shadow文件,手工加入!!号,都是可以的。这么多暂用用户的方式用哪一种都是可以的,看可以习惯。 - 开始实验:
1.到/etc/shadow文件中看一下helen用户的信息
2.用usermod –U helen 锁定helen之后再去查看passwd中,helen信息有何变化。
可以发现在加密字符串前面多了一个 ! ,密码串前面只要加任何字符,这个密码换算出来就不是原始密码了。密码会失效,用户就会被禁用 。其实我们在用passwd的时候,在加密字串前面是加了两个!!,其实加一个两个都是一样的。用-U可以解锁了。
3. 修改用户密码状态chage
命令: chage [选项] 用户名
选项: -l 列出用户的详细密码状态
-d 日期 修改密码最后一次的更改日期(shadow3字段)
-m 天数 两次密码修改间隔(4字段)
-M 天数:密码有效期
-W 天数 密码过期前警告天数(6字段)
-I天数 密码过后宽限天数(7字段)
-E 日期 账号失效时间(8字段)
Shadow文件中几个相关的密码时间,可以看英文对照。
其实直接用手工vi修改shadow这些文件,这些内容更方便更直观 。那为什么还要学chage?关键是这个命令chage –d 0 helen(用户)
命令: chage -d 0 lamp
解释: 1.这个命令其实是把密码修改日期归0了(shadow第三个字段)2.这样用户一登录就要修改密码
- passwd第三个字段:root用户最后一次修改密码是在1970.1.1之后的多少天修改的,那如果改为0,系统会认为这个用户没有修改过密码,从来没有修改过。
- 举例作用: 在服务器上会创建大量的普通用户,当我们创建普通用户的时候,会给普通用户一个初始密码,假如是123,这个密码非常不安全,用户不能一直用123这个密码登录,这样会导致我们的系统安全性大大降低,这个时候就可以用chage命令,这样的话这个用户初始密码是123,但是当他第一次登录的时候,就必须重新设置密码,这样保证了系统的安全性。
4.总结
- chage 命令前面的选项,都可以用vi 修改shadow文件就可以改了,而且更直观,但是用的最多的就是 chage –d 0 helen(用户名),要求这个普通用户一登录就必须改密码。
- 需要记住这一个
chage –d 0 helen
命令。