fanlong0212

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1、Linux usermod命令:修改用户信息

在添加了用户之后,如果不小心添加错了用户的信息,那么是否可以修改呢?当然可以了,我们可以直接使用编辑器修改用户相关文件,也可以使用 usermod 命令进行修改。

usermod 命令命令的格式如下:

[root@localhost ~]#usermod [选项] 用户名

选项:

  • -u UID:修改用户的UID;
  • -d 家目录:修改用户的家目录。家目录必须写绝对路径;
  • -c 用户说明:修改用户的说明信息,就是 /etc/passwd 文件的第五个字段;
  • -g 组名:修改用户的初始组,就是 /etc/passwd 文件的第四个字段;
  • -G 组名:修改用户的附加组,其实就是把用户加入其他用户组;
  • -s shell:修改用户的登录 Shell。默认是 /bin/bash;
  • -e 日期:修改用户的失效曰期,格式为"YYYY-MM-DD"。也就是 /etc/shadow 文件的第八个字段;
  • -L:临时锁定用户(Lock);
  • -U:解锁用户(Unlock);


可以看到,usermod 和 useradd 命令的选项非常类似,因为它们都是用于定义用户信息的。需要注意的是,useradd 命令用于在添加新用户时指定用户信息,而 usermod 命令用于修改已经存在的用户的用户信息,干万不要搞混。

usermod 命令多出了几个选项,其中,-L 可以临时锁定用户,不让这个用户登录。其实锁定的方法就是在 /etc/shadow 文件的密码字段前加入"!"。大家已经知道密码项是加密换算的,所以加入任何字符都会导致密码失效,所以这个用户就会被禁止登录。而解锁(-U)其实就是把密码字段前的"!"取消。举个例子:

【例 1】

[root@localhost ~]# usermod -L lamp
#锁定用户
[root@localhost ~]# grep "lamp" /etc/shadow
lamp:! $6$YrPj8g0w$ChRVASybEncU24hkYFqxREH3NnzhAVDJSQLwRwTSbcA2N8UbPD9bBKVQSky xlaMGs/Eg5AQwO.UokOnKqaHFa/:15711:0:99999:7:::
#查看发现锁定就是在密码字段前加入"!",这时lamp用户就暂时不能登录了
[root@localhost ~]# usermod -U lamp
#解锁用户
[root@localhost ~]# grep "lamp" /etc/shadow
lamp:$6$YrPj8g0w$ChRVASybEncU24hkYFqxREH3NnzhAVDJSQLwRwTSbcA2N8UbPD9bBKVQSkyx laMGs/Eg5AQwO.UokOnKqaHFa/:15711:0:99999:7::
#取消了密码字段前的"!" 

再举几个其他的例子:

【例 2】

[root@localhost ~]# usermod -G root lamp
#把lamp用户加入root组
[root@localhost ~]# grep "lamp" /etc/group root:x:0:lamp
lamp:x:501:
#lamp用户已经加入了root组

【例 3】

[root@localhost ~]# usermod -c "test user" lamp #修改用户说明
[root@localhost ~]# grep "lamp" /etc/passwd
lamp:x:501:501:test user:/home/lamp:/bin/bash
#查看一下,用户说明已经被修改了

2、Linux chage用法详解:修改用户密码状态

通过 chage 命令可以查看和修改 /etc/shadow 文件的第三个字段到第八个字段的密码状态。我个人建议直接修改 /etc/shadow 文件更加直观和简单。

那么为什么还要讲解 chage 命令呢?因为 chage 命令有一种很好的用法,就是强制用户在第一次登录时必须修改密码。

chage 命令的格式如下:

[root@localhost ~]#chage [选项] 用户名

选项:

  • -l:列出用户的详细密码状态;
  • -d 日期:密码最后一次修改曰期(/etc/shadow 文件的第三个字段),格式为 YYYY-MM-DD;
  • -m 天数:密码的两次修改间隔时间(第四个字段);
  • -M 天数:密码的有效期(第五个字段);
  • -W 天数:密码修改到期前的警告天数(第六个字段);
  • -i 天数:密码过期后的宽限天数(第七个字段);
  • -E 日期:账号失效时间(第八个字段),格式为 YYYY-MM-DD;


举几个例子,先看一下查看状态。

【例 1】

[root@localhost ~]# chage -l lamp
#查看一下用户密码状态
Last password change:Jan 06, 2013
Password expires:never
Password inactive :never
Account expires :never
Minimum number of days between password change :0
Maximum number of days between password change :99999
Number of days of warning before password expires :7

我们强制 lamp 用户在第一次登陆时必须修改密码。


【例 2】

[root@localhost ~]# chage -d 0 lamp
#这个命令其实是把密码修改曰期归零了,这样用户一登录就要修改密码

然后我们以 lamp 用户登陆一下系统。

local host login:lamp
Password:
#输入密码登陆
You are required to change your password immediately (root enforced)
changing password for lamp.
#有一些提示,就是说明 root 强制你登录后修改密码
(current)UNIX password:
#输入旧密码
New password:
Retype new password:
#输入两次新密码

这项功能在进行批量用户管理时还是非常有用的。

posted on 2019-01-10 12:11  fanlong0212  阅读(131)  评论(0编辑  收藏  举报