首页 > 代码库 > centos7系统命令usermod

centos7系统命令usermod

    在某些情况下需要改变现的用户的属性,改变用户的home目录、登录名、密码、登录shell,截止日期等,在这种情况下“usermod命令被使用。以下是将使用和影响的文件

  1. /etc/passwd – 用户帐户信息

  2. /etc/shadow – 安全帐户信息。

  3. /etc/group – 组帐户信息。

  4. /etc/gshadow – 安全组帐户信息。

  5. /etc/login.defs – 映射密码套件配置。又称:shadwn 密码

句法:

usermod [options] username

要求

  1. 必须有一个存在的用户账号

  2. 仅超级用户(root)能执行usermod命令

  3. usermod能用于任何Linux 发行版

Usermod命令选项

  1. -c = 增加注释域

  2. -d = 修改目录

  3. -e = 设置截至日

  4. -g = 改变账户的 primary 组.

  5. -G = 增加一个辅助组.

  6. -a = 增加一个辅助组.

  7. -l = 修改登录名

  8. -L = 锁住口令,变成不能使用的账号

  9. -m = 移动home目录内容到新的目录

  10. -p = 使用一个没有加密的口令,不安全.

  11. -s =为新账号创建一个指定的shell.

  12. -u = 分配一个 UID 在 0 to 999之间.

  13. -U = 解锁用户口令. 为任何人都可以用词用户

1. 增加信息到用户账号

 ‘-c‘ 选项增加信息

# usermod -c "" tecmint
# grep -E --color ‘tecmint‘ /etc/passwd
tecmint:x:500:500::in/sh

2. 改变账号的home目录:使用-d 选项改变 /home/tecmint 到 /var/www/

# grep -E --color ‘/home/tecmint‘ /etc/passwd
tecmint:x:500:500:This is Tecmint:t:/bin/sh
# usermod -d /var/www/ tecmint
# grep -E --color ‘/var/www/‘ /etc/passwd
tecmint:x:500:500:This is Tecmint::/bin/sh

3. 设置用户账号最终止日期;选用-e选项

首先,使用change命令查看用户的终止日期

# chage -l tecmint
Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: 
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
# usermod -e  tecmint
# chage -l tecmint
Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: 
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

4. 改变用户 Primary 组,使用-g选项

# id tecmint_test
uid=501(tecmint_test) gid=502(tecmint_test) groups=502(tecmint_test)
# usermod -g babin tecmint_test
# id tecmint_test
uid=501(tecmint_test) gid=502(babin) groups=502(tecmint_test)

5. 增加组到一个存在的用户

# usermod -G tecmint_test0 tecmint
# id tecmint

Note: 小心, -G’ 单独使用, 将删除存在的组. 因此总是, 使用 ‘-a‘ (附加) 与 ‘-G‘ 选项一起增加或附加一个新的组

6. 给用户增加一个追加组 和Primary Group 

使用 ‘-a‘ 和 ‘-G‘.选项 ,以下例子为 tecmint_test0 附加上 wheel 用户

# usermod -a -G wheel tecmint_test0
# id tecmint_test0

此时, 用户 tecmint_test0拥有 primary group 和第二个 (wheel)组. 这样将会在linux盒子中执行任何根特权命令

eg : sudo service httpd restart

7. 改变用户登录名,使用 -l (新登名)选项。

例如:改变tecmint 到tecmint_admin.

# usermod -l tecmint_admin tecmint

检查

# id tecmint
# id tecmint_admin

8. 使用 -L (lock) 选项给账户加锁,此时用户不能登陆

可以看到” ! added before the encrypted password in /etc/shadow file, ”

意为:口令被禁止

# usermod -L babin

检查

# grep -E --color ‘babin‘ cat /etc/shadow

9. 解锁用户账号使用 -U选项

# grep -E --color ‘babin‘ /etc/shadow
# usermod -U babin

查看解锁后

# grep -E --color ‘babin‘ /etc/shadow

10. 移动用户home目录到新的位置

 使用选项 ‘-d‘ 和‘-m‘ 来 移动 存在用户文件到新的用户home目录

检查账号和homemul

# grep -E --color ‘pinky‘ /etc/passwd
# ls -l /home/pinky/

移动 /home/pinky 到 /var/pinky.

# usermod -d /var/pinky/ -m pinky

最后查看一下

# grep -E --color ‘pinky‘ /etc/passwd
# ls -l /home/pinky/
# ls -l /var/pinky/

11. 为用户创建一个未加密口令;使用-p选项

例:为pinky用户创建一个”redhat“口令

# usermod -p redhat pinky

检查  shadow 文件

# grep -E --color ‘pinky‘ /etc/shadow

: 不建议使用,因为口令对所有用户是不可见的

12. 改变用户shell;使用-s选项

# grep -E --color ‘babin‘ /etc/passwd
# usermod -s /bin/sh babin
# grep -E --color ‘babin‘ /etc/passwd

13. 改变用户ID (UID):使用-u选项

# grep -E --color ‘babin‘ /etc/passwd
或
# id babin
# usermod -u 888 babin
# id babin

14. 改变用户账号的多个属性:使用多种选择;分别有:

 home目录, shell, 终止日期, label, UID和 组等

# usermod -d /var/www/html/ -s /bin/bash -e 2014-12-10 -c "This is Jack" -u 555 -aG apple jack

检查UID和目录

# grep -E --color ‘jack‘ /etc/passwd

检查账号终止日期

# chage -l jack

检查组

# grep -E --color ‘jack‘ /etc/group

15. 改变一个用户的UID和GID,范围为:0---777

# id jack

修改

# usermod -u 666 -g 777 jack

检查

# id jack

本文出自 “瑞航启程--下一代企业应用” 博客,谢绝转载!

centos7系统命令usermod