博客
关于我
Linux 用户和用户组管理
阅读量:791 次
发布时间:2023-02-01

本文共 2485 字,大约阅读时间需要 8 分钟。

Linux系统用户管理手册

Linux系统用户管理涉及用户账号和用户组的创建、修改、删除以及密码管理等操作。本文将详细介绍这些操作的具体方法。


一、用户账号管理

1. 添加用户账号 -- useradd命令

用户账号的添加通常是使用 useradd 命令完成的。此命令默认会根据系统配置文件创建用户的初始组和主目录。

# 语法格式:# useradd [选项] 用户名

选项说明:

  • -u UID:手动指定用户的 UID。
  • -d:指定用户的主目录,必须使用绝对路径。
  • -c:指定用户信息描述。
  • -g:指定用户的初始组,默认会自动创建初始组。
  • -G:将用户加入其他组。
  • -s:指定用户的登录 Shell,默认为 /bin/bash
  • -e:指定用户的失效日期。
  • -o:允许重复的 UID。
  • -m:强制创建用户主目录。

实例:创建用户zhaoyun

[root@centos7 ~]# useradd zhaoyun

注意事项:

  • 新用户默认被锁定,需设置密码后才能登录。
  • 主目录默认为 /home/用户名,普通用户不可修改。

2. 删除用户账号 -- userdel命令

为了防止数据丢失,删除用户时默认不会删除其主目录。使用 userdel 时需使用 -r 选项来删除主目录。

# 语法格式:# userdel [-r] 用户名

选项说明:

  • -r:删除用户的主目录。

实例:删除用户zhaoyun

[root@centos7 ~]# userdel zhaoyun

3. 修改用户账号 -- usermod命令

用户账号的修改可以通过 usermod 命令完成,支持修改多种属性,如主目录、组 etc.

# 语法格式:# usermod [选项] 用户名

选项说明:

  • -c:修改用户描述信息。
  • -d:修改用户主目录。
  • -e:修改失效日期。
  • -g:修改初始组 ID。
  • -G:将用户添加至其他组。
  • -l:修改用户名。
  • -L:锁定用户(不可登录)。
  • -U:解锁用户。
  • -s:修改登录 Shell。

实例:修改用户名

[root@centos7 ~]# useradd lizhi[root@centos7 ~]# usermod -l lizhi lisi[root@centos7 ~]# userdel lizi

4. 用户密码管理

用户密码的设置和修改主要使用 passwd 命令:

# 语法格式:# passwd [选项] 用户名

选项说明:

  • -S:查询密码状态。
  • -l:锁定用户(密码被修改为不可用)。
  • -u:解锁用户。
  • -n:设置密码过期天数。
  • -W:设置过期前的警告天数。
  • -i:设置用户账号失效日。
  • -d:禁用账号,不让用户登录。
  • -stdin:从标准输入设置密码。

实例:设置用户密码

[root@centos7 ~]# echo "123456" | passwd --stdin zhaoyun

注意事项:

  • 普通用户只能修改自己的密码。
  • 密码使用 SHA512 算法加密。

二、用户组管理

1. 添加用户组 -- groupadd命令

用户组的添加可以使用 groupadd 命令,支持指定组 ID 和管理员:

# 语法格式:# groupadd [选项] 组名

选项说明:

  • -g GID:指定组 ID。
  • -r:创建系统组。

实例:创建group1组

[root@centos7 ~]# groupadd group1

2. 修改用户组 -- groupmod命令

用户组的修改可以使用 groupmod 命令,支持修改组名和组 ID etc.

# 语法格式:# groupmod [选项] 组名

选项说明:

  • -g GID:修改组 ID。
  • -n:修改组名。
  • -r:移除组密码。

实例:修改组名

[root@centos7 ~]# groupmod -n group2 group1

3. 删除用户组 -- groupdel命令

删除用户组时需要注意,不能删除初始组。使用 groupdel 命令直接删除相关数据。

# 语法格式:# groupdel 组名

实例:删除group2组

[root@centos7 ~]# groupdel group2

4. 用户组管理权限分配 -- gpasswd命令

可以通过 gpasswd 将普通用户委派为组管理员:

# 语法格式:# gpasswd [选项] 组名

选项说明:

  • 选项为空:设置组密码。
  • -A user1,...:设置组管理员。
  • -M user1,...:将用户加入组。
  • -d user:移除用户。
  • -r:移除组密码。
  • -R:禁用组密码。

实例:设置组管理员

[root@centos7 ~]# gpasswd group1新密码:...[root@centos7 ~]# gpasswd -A lisi group1

三、用户组切换 -- newgrp命令

普通用户可以切换至多个用户组,切换时需使用 newgrp 命令:

# 语法格式:# newgrp 组名

实例:切换用户组

[root@centos7 ~]# newgrp group2

四、与用户和用户组相关的系统文件

  • /etc/passwd:存储用户基本信息,如用户名、密码、UID、GID等。
  • /etc/shadow:存储用户密码信息,仅 root 用户可读。
  • /etc/group:存储用户组信息,如组名、组 ID、用户列表等。
  • /etc/gshadow:存储用户组的加密密码和管理员信息。

  • 五、命令示例总结

    命令 用途
    useradd 创建用户账号
    userdel 删除用户账号
    usermod 修改用户账号属性
    passwd 修改用户密码
    chage 设置用户密码过期策略
    su 切换用户身份
    id 查询用户 UID/GID/组信息
    groupadd 创建用户组
    groupmod 修改用户组
    groupdel 删除用户组
    gpasswd 管理用户组管理员
    newgrp 切换用户组

    通过这些命令,可以完成用户和用户组的全套管理需求。

    转载地址:http://nqwfk.baihongyu.com/

    你可能感兴趣的文章
    linux ACL权限,设定,删除
    查看>>
    linux andorid studio创建快捷健
    查看>>
    Linux API的fork()测试
    查看>>
    linux awk命令详解
    查看>>
    linux awk命令详解2
    查看>>
    linux awk应用详解
    查看>>
    linux bash shell 特殊字符大全
    查看>>
    linux bash: sqlplus: command not found 错误处理
    查看>>
    linux bash中too many arguments问题的解决方法
    查看>>
    linux bg和fg命令
    查看>>
    Linux Bridge KVM虚拟化环境部署
    查看>>
    Linux Bridge(网桥)
    查看>>
    linux build编译,rpmbuild 编译
    查看>>
    linux C 中的volatile使用【转】
    查看>>
    linux c 正则
    查看>>
    Linux C/C++ 学习路线(已拿腾讯、百度 offer)
    查看>>
    Linux cat 命令的进化版:Bat 0.25 正式发布,行压缩功能亮点十足!
    查看>>
    linux centos tomcat8配置apr模式
    查看>>
    linux centos 安装 docker-compose 1.27.4
    查看>>
    linux centos6.4 php连接sql server2008
    查看>>