usermod是用来修改用户相关属性的一个命令,常用于修改/etc/passwd,/etc/shadow,/etc/group等相关字段的内容。

命令格式

1
usermod [options] LOGIN

修改系统中已存在用户的UID号

1
usermod -u UID USERNAME

eg:

1
usermod -u 520 cdhuser

将cdhuser用户的UID更改为520

修改用户的所属组

1
usermod -g GID|组名 USERNAME

eg:

1
usermod -g cdhgroup cdhuser

将cdhuser的原所属组修改为cdhgroup

修改用户账号的描述字段

1
usermod -c "描述信息" USERNAME

原有字段会被覆盖,即/etc/passwd中的第五个字段
eg:

1
usermod -c "hadoop user" cdhuser

/etc/passwd中cdhuser的第五个字段修改为hadoop user

修改用户家目录

1
usermod -m -d "directory" USERNAME

原家目录下的文件也一起移动到新的家目录,如果只用-d选项,仅表示改变家目录的指向,也就是改变了/etc/passwd的第六个字段。-m(–move-home)选项是把原家目录移动到新的家目录。

修改用户默认的shell

1
usermod -s "shell" USERNAME

eg:

1
usermod -s "/sbin/nologin" cdhuser

增加用户的额外组

1
usermod -a -G 组名 USERNAME

用户除了拥有自己的所属组外,还多加了一个额外组,要和-a(–append)一起使用,如果只用-G,那是改变用户的基本组。

删除用户所有的额外组,只保留基本组

1
usermod -G "" USERNAME

等同于

1
gpasswd -d USERNAME 组名

锁定|解锁用户

1
usermod -L|U USERNAME

命令gpasswd -l|u USERNAME可实现同等效果