0058. shell命令--usermod

目录

58. shell命令--usermod

功能说明

语法格式

选项说明

实践操作

注意事项


58. shell命令--usermod

功能说明

        usermod 命令在 Linux 系统中用于修改用户的账户设置。这个命令可以修改用户的登录名、家目录、组、登录shell等。它是 useradd 命令的补充,用于在用户创建后对其属性进行修改。

语法格式

SYNOPSIS
       usermod [options] LOGIN
  • options:是 usermod 命令的选项,用于指定要修改的属性。
  • LOGIN:是用户的登录名,即你想要修改其属性的用户名。

选项说明

-c, --comment COMMENT:修改用户的注释信息,通常这是 /etc/passwd 文件中 GECOS 字段的内容。
-d, --home HOME_DIR:修改用户的家目录。如果指定的家目录不存在,则不会自动创建。
-e, --expiredate EXPIRE_DATE:设置用户的账户过期日期。日期格式为 YYYY-MM-DD。
-g, --gid GROUP:修改用户的初始登录组。组名或组ID都可以。
-G, --groups GROUPS:修改用户所属的附加组列表。多个组之间用逗号分隔。
-l, --login NEW_LOGIN:修改用户的登录名。注意,这会修改 /etc/passwd 和 /etc/shadow 文件中用户名的所有实例。
-L, --lock:锁定用户账户,阻止用户登录。
-m, --move-home:与 -d 一起使用时,如果新的家目录不存在,则创建它,并移动旧的家目录内容到新位置。
-s, --shell SHELL:修改用户的登录shell。
-U, --unlock:解锁用户账户,允许用户登录。
-f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
-u<uid>  修改用户ID。
-a 将用户添加至扩展组中

实践操作

1. 修改用户 MineGi 的家目录为 /home/newMineGi 并移动旧家目录内容
useradd MineGi
mkdir /home/MineGi/testdir
ls /home/MineGi/
grep MineGi /etc/passwd
usermod -d /home/newMineGi -m MineGi
grep MineGi /etc/passwd
ls /home/MineGi/
ls /home/newMineGi/
usermod -md /home/MineGi MineGi    #也可以简写
grep MineGi /etc/passwd
ls /home/MineGi/
ls /home/newMineGi

2. 修改用户 MineGi 的登录 shell 为 /sbin/nologin
grep MineGi /etc/passwd
usermod -s /sbin/nologin MineGi
grep MineGi /etc/passwd

3. 修改用户 MineGi 的登录名为 MineGing
grep MineGi /etc/passwd
usermod -l MineGing MineGi
grep MineGing /etc/passwd

4. 将用户 MineGing 的 UID 和 GID 都修改为 9527
grep MineGing /etc/passwd
usermod -u 9527 MineGing    #修改用户的用户ID(UID)。这是一个整数,必须唯一且未被其他用户占用。UID 0 通常保留给 root 用户
grep MineGing /etc/passwd
usermod -u 9527 -g 9527 MineGing    #提示不存在
groupadd 9527    #添加的只是组名为9527,gid不一定是9527
usermod -u 9527 -g 9527 MineGing    #还是提示不存在
grep MineGing /etc/passwd
tail -2 /etc/group
groupadd -g 9527 9527    #提示用户组9527已存在
groupadd -g 9527 9528    #改一下组名为9528也不行
groupadd -g 9527 test
tail -2 /etc/group    
usermod -u 9527 -g 9527 MineGing
grep MineGing /etc/passwd

5. 将用户 MineGing 添加到其他组中
tail -3 /etc/group
usermod -G 9527 MineGing
tail -3 /etc/group
usermod -G 72 MineGing
tail -3 /etc/group
usermod -G MineGi MineGing
tail -3 /etc/group
usermod -aG 9527 MineGing    #-a 参数表示附加,只和 -G 参数一同使用,表示将用户增加到组中
tail -3 /etc/group

6. 设置 MineGing 账户的密码过期后 N 天内未更换则禁用账户
grep MineGing /etc/shadow
usermod -f 7 MineGing    #设置密码过期后账户被禁用的天数。设置为 0 表示密码过期后立即禁用账户,设置为 -1 表示账户永不过期
grep MineGing /etc/shadow
usermod -f 10 MineGing
grep MineGing /etc/shadow

7. 设置账号终止日期
grep MineGing /etc/shadow
usermod -e "3000/01/01" MineGing    #第一种写法
grep MineGing /etc/shadow
usermod -e "4000-01-01" MineGing    #第二种写法
grep MineGing /etc/shadow

8. 锁定与解锁用户
窗口1操作
grep MineGing /etc/shadow    #默认新创建的用户已经锁定,两个!!表示锁定
su - MineGing    #切换不了
usermod -U MineGing    #解锁的时候提示需要设置密码
echo '123456' |passwd --stdin MineGing    #先设置个密码
grep MineGing /etc/shadow    #前面俩叹号已经没了
su - MineGing    #还是切换不了
grep MineGing /etc/passwd    #是因为设置了 shell 类型为 /sbin/nologin
usermod -s /bin/bash MineGing    #将其 shell 类型改为 /bin/bash
su - MineGing    #成功切换
whoami    #查看当前登录用户
logout 或 Ctrl + d 退出
whoami
usermod -L MineGing    #锁定用户,密码段前面会多一个叹号
grep MineGing /etc/shadow    
su - MineGing    #还是能切换成功,但是重新开个终端用ssh连接看看
hostname -I

窗口2操作
ssh MineGing@10.4.7.11    #登录不上
usermod -U MineGing
grep MineGing /etc/shadow
ssh MineGing@10.4.7.11

注意事项

  • 修改用户登录名(-l 选项)时,需要确保新的登录名在系统中是唯一的,并且不会与现有的文件或目录名冲突。
  • 修改用户家目录(-d 和 -m 选项)时,应确保新的家目录对用户是可访问的,并且如果 -m 选项被使用,则旧家目录的内容会被移动到新家目录。
  • 在使用 usermod 修改用户属性时,最好以 root 用户身份执行,因为修改 /etc/passwd 和 /etc/shadow 等系统文件需要相应的权限。
  • 在修改用户属性之前,最好备份相关的配置文件和系统状态,以防万一出现问题可以恢复。
  • 在修改用户属性时,尤其是涉及 UID、登录名或家目录等关键属性的更改,务必谨慎操作,以避免系统权限混乱或数据丢失。
  • 如果在修改过程中遇到权限不足的问题,确保以 root 用户身份执行命令。
  • 在进行重大更改(如修改登录名或 UID)之前,最好先测试在测试环境中是否会导致意外的行为或错误。
  • 使用 -m 选项移动家目录时,应确保有足够的磁盘空间来容纳旧家目录的内容,并检查新家目录的权限设置,以确保用户能够正常访问。
  • 如果需要修改多个用户的属性,可以考虑编写脚本来自动化这个过程,但务必仔细验证脚本逻辑,防止误操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MineGi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值