在某些情况下需要改变现的用户的属性,改变用户的home目录、登录名、密码、登录shell,截止日期等,在这种情况下“usermod命令被使用。以下是将使用和影响的文件
- /etc/passwd – 用户帐户信息。
- /etc/shadow – 安全帐户信息。
- /etc/group – 组帐户信息。
- /etc/gshadow – 安全组帐户信息。
- /etc/login.defs – 映射密码套件配置。又称:shadwn 密码
句法:
usermod [options] username
要求
- 必须有一个存在的用户账号
- 仅超级用户(root)能执行usermod命令
- usermod能用于任何Linux 发行版
Usermod命令选项
- -c = 增加注释域
- -d = 修改目录
- -e = 设置截至日
- -g = 改变账户的 primary 组.
- -G = 增加一个辅助组.
- -a = 增加一个辅助组.
- -l = 修改登录名
- -L = 锁住口令,变成不能使用的账号
- -m = 移动home目录内容到新的目录
- -p = 使用一个没有加密的口令,不安全.
- -s =为新账号创建一个指定的shell.
- -u = 分配一个 UID 在 0 to 999之间.
- -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
时间: 2024-10-22 17:45:41