Linux用户管理全解析:从基础到实战

一、用户与用户组基础概念

1. 用户(User)

  • 作用:区分不同操作者身份,控制权限与资源访问。

  • 分类

    • 超级用户(root):UID为0,拥有最高权限。

    • 程序用户:UID范围1~999(系统服务专用,如mysqlnginx)。

    • 普通用户:UID≥1000,由管理员创建,权限受限。

2. 用户组(Group)

  • 作用:简化权限分配,将相同权限的用户集合管理。

  • 类型

    • 主组:用户创建时默认所属组,唯一且与用户名相同。

    • 附加组:用户可加入多个附加组,继承组权限。


二、用户组管理命令

1. groupadd:创建用户组

groupadd dev            # 创建默认组  
groupadd -g 1001 dev    # 指定GID  
groupadd -r sys_group   # 创建系统组(GID<1000)  

2. groupmod:修改用户组

groupmod -n developers dev  # 修改组名  
groupmod -g 2000 dev        # 修改GID  

3. groupdel:删除用户组

groupdel dev  # 删除空组(若组非空需先移除用户)  

三、用户管理命令

1. useradd:创建用户

useradd user1                     # 基础创建  
useradd -u 1200 -g dev -G ops user2  # 指定UID、主组和附加组  
useradd -s /sbin/nologin app_user # 禁止登录系统  

2. usermod:修改用户属性

usermod -l new_user old_user      # 修改用户名  
usermod -aG docker user1          # 追加附加组(保留原组)  
usermod -L user1                  # 锁定账户  
usermod -U user1                  # 解锁账户  

3. userdel:删除用户

userdel user1     # 删除用户,保留家目录  
userdel -r user1  # 彻底删除用户及家目录  

4. passwd:密码管理

passwd user1              # 设置用户密码  
passwd -d user1           # 清空密码(需配置允许无密码登录)  
passwd -x 30 -w 7 user1   # 设置密码30天后过期,提前7天警告  

5. idsu:用户信息查看与切换

id user1                  # 查看用户UID、GID及所属组  
su - user1                # 切换用户并加载环境变量  
su -c "ls /root" user1    # 以user1身份执行单条命令  

四、实战案例

1. 创建受限用户

需求:创建用户lisi,UID为1200,注释为“hruser lisi”,禁止登录系统,主组为lisi,附加组为gzhr

groupadd gzhr  
useradd -u 1200 -g lisi -G gzhr -c "hruser lisi" -s /sbin/nologin lisi  

2. 用户权限变更

需求:用户lisi需临时接管wangwu的工作,加入shhr组,并更新注释为“gzhr shhr user”。

usermod -aG shhr -c "gzhr shhr user" lisi  

3. 账户锁定与解锁

需求:用户wangwu休假期间锁定账户,返岗后解锁并设置密码。

usermod -L wangwu       # 锁定账户  
usermod -U wangwu       # 解锁账户(需先设置密码)  
passwd wangwu           # 设置新密码  

五、关键配置文件解析

1. /etc/passwd

存储用户基本信息,每行格式:

用户名:密码占位符(x):UID:GID:描述:家目录:登录Shell  

示例

lisi:x:1200:1200:hruser lisi:/home/lisi:/sbin/nologin  

2. /etc/shadow

存储加密密码及策略,每行格式:

用户名:加密密码:最后修改密码天数:最小密码有效期:最大密码有效期:警告期:宽限期:失效时间:保留字段  

3. /etc/group

存储组信息,每行格式:

组名:组密码占位符(x):GID:组成员列表  

4. /etc/gshadow

存储组密码及管理信息,格式类似shadow


六、注意事项与最佳实践

  1. 安全建议

    • 禁止root远程登录,使用普通用户+sudo提权。

    • 定期检查/etc/passwd/etc/shadow,删除无用账户。

  2. 权限管理

    • 用户主组唯一,附加组按需分配。

    • 程序用户(如nginx)禁止登录Shell。

  3. 备份与恢复

    • 修改用户/组前备份配置文件:

      cp /etc/passwd /etc/passwd.bak  
      cp /etc/group /etc/group.bak  

附:常用命令速查表

操作命令示例说明
创建用户useradd -u 1200 -g dev user1指定UID和主组
修改用户组usermod -aG ops user1追加附加组
删除用户userdel -r user1彻底删除用户及家目录
设置密码策略passwd -x 30 -w 7 user1密码30天后过期,提前7天警告
查看用户信息id user1显示UID、GID及所属组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

搬码红绿灯

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

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

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

打赏作者

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

抵扣说明:

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

余额充值