Linux用户与组管理的用法解读

 更新时间:2025年08月06日 09:43:38   作者:YC运维  
这篇文章主要介绍了Linux用户与组管理的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、用户和组管理

1.用户和组的认识

1.1用户账号

  • 超级用户:root用户是linux系统中默认的超级用户,对系统拥有最高权限,当进行系统管理、维护任务时,才建议使用root用户。日常事务处理建议使用普通用户。
  • 普通用户:普通用户账号需要由root用户或者其他管理员用户创建,拥有一定的权限,一般只在用户自己的家目录中拥有完整权限。
  • 程序用户:经常所说的服务用户

1.2组账号

  • 由于某种联系将多个用户集合在一起,就构成了一个用户组。
  • 每一个用户至少属于一个组,这个组称为基本组,如果这个用户同时还包括在其他组里面,其他的组被称为该用户的附加组。

1.3UID、GID

  • UID:是用户ID,范围在(1~999),其中root用户的UID为0
  • GID:是组ID,范围在(1000~60000),其中root组的GID为0

2.用户和组的配置文件

创建一个Linux用户会改变系统哪些文件

  • 存放用户信息文件 /etc/passwd
  • 存放用户密码文件 /etc/shadow
  • 存放组账号信息文件 /etc/group
  • 存放组密码文件 /etc/gshadow
  • 用户的家目录 /home
  • 邮件账号 /var/spool/mail/

2.1 vim/etc/passwd 存放用户信息文件

(1)用于保存用户名称、宿主目录、登录shell环境等基本信息

(2)每段字段用冒号“:”进行分隔

(3)总共7个字段

用户名:密码:UID:GID:用户全名(描述信息):家目录路径:shell环境

基于系统运行和管理的需要,所有的用户都能访问/etc/passwd文件的内容,但是只有root用户能进行修改早期的时候账号和密码信息是保存在passwd文件中的,不法用户可以获取密码字符串进行暴力破解,存在不安全性,因此后来将密码转存到专门的shadow文件中,而passwd文件的密码用“x”表示。

切换用户 su - 用户名

2.2 vim/etc/shadow

(1)shadow文件又被称为“影子文件”,保存各个用户账号的密码信息,因此对shadow文件的访问进行严格限制。默认只有root用户能够读取文件的内容。

(2)每段字段用冒号“:”进行分隔

(3)总共9个字段

账号:

  • 密码(sha-512哈希加密):“*”“!!”时,表示此用户不能登录系统。为空,就是该用户登录系统无需密码
  • 最近更新密码日期:从1970.1.1起到最近修改密码时间间隔天数
  • 密码不可更变天数:自本次修改密码后,必须经过多少天后才能再次修改密码,默认值为0,表示不限制
  • 密码需要重新变更天数:密码最长有效天数,自本次修改密码后,经过多少天后必须再次修改密码,默认值为99999,表示不限制
  • 变更前警告天数:提前多少天警告用户密码将过期,默认值为7
  • 密码过期后宽限天数:密码过期后多少天将禁止用此用户
  • 账号失效日期(从1970年1月1日起):从1970.1.1起,用户多少天后作废,默认值为空,表示账号永久可用。
  • 保留:保留字段,暂时没有特定的用途

管理员用户手动修改shadow文件

使用chage命令可以修改

2.3 vim /etc/group

组名:组密码位组id号:除了自己以外的成员

2.4 vim /etc/gshawow(不要改动)

组名

  • 组密码:空或者 ! 表示没有密码
  • 用户组管理员名称
  • 组成员

2.5 cd /var/spool/mail/

chage 用户名 修改选项

  • -m:两次改变密码相距最小天数,密码不可更变天数:自本次修改密码后,必须经过多少天后才能再次修改密码,0为任意时间可以修改,不限制
  • -M:两次改变密码相距最大天数,密码需要重新变更天数:密码最长有效天数,自本次修改密码后,经过多少天后必须再次修改密码,默认值为99999,表示不限制
  • -W:变更前警告天数:提前多少天警告用户密码将过期,默认值为7
  • -E:账号过期(失效)时间:从1970.1.1起,用户多少天后作废,默认值为空,表示账号永久可用。
  • -d:最近一次密码修改时间
  • -I(大i):密码过期后宽限天数:密码过期后多少天将禁止用此用户
  • -l:列出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

/etc/group

  • 组名、组密码、组ID(GID)、组中用户

/etc/gshasow

  • 组名
  • 组密码:空或者 ! 表示没有密码
  • 用户组管理员名称
  • 组成员

二、管理用户和组---useradd、userdel、usermod

1、useradd 添加用户useradd 【选项】【用户名】

  • -u:指定用户的UID号,要求该UID号码未被其他用户使用。
  • -d:指定用户的宿主目录位置。
  • -g:指定用户的基本组名(或使用GID号)。
  • -G:指定用户的附加组名(或使用GID号)。
  • -s:指定用户的登录Shell。
  • -c:指定描述信息

2、passwd 设置密码

passwd 用户名(普通用户只用输入命令)

  • -d:清空指定用户的密码,仅使用用户名即可登录系统。
  • -l:锁定用户账号。
  • -S:查看用户账号的状态(是否被锁定)。
  • -u:解锁用户账号。

3、usermod 修改用户属性 usermod 【选项】 【用户】

  • -u:修改用户的UID号,要求该UID号码未被其他用户使用。
  • -d:修改用户的宿主目录位置。
  • -g:修改用户的基本组名(或使用GID号)。
  • -G:修改用户的附加组名(或使用GID号)。
  • -s:修改用户的登录Shell。
  • -L:锁定用户账号
  • -U:解锁用户账号

4、userdel 删除用户

userdel 【用户】

  • --删除4个配置文件--passwd shadow group gshadow

userdel -r 【用户】

  • --删除该用户所有的文件,总6个文件
  • 多一个家目录文件、一个邮件的文件

5、groupadd 组名(创建组)

  • groupdel 组名(删除组)
  • gpasswd 组名(设置组密码)
  • -a把用户添加到组里面
  • -d把用户从组里面移除
  • gpasswd -a 用户 组名---添加
  • gpasswd -d 用户 组名---删除
  • groups 【用户】 查看用户所属组

权限委派

  • 普通用户没有权限去执行的命令,使用sudo权限委派后,把root的身份委派给普通用户,
  • 使其有权限去执行该命令

配置文件

vim /etc/sudoers

找到100、101行左右

admin ALL=(ALL) ALL
ycyALL=(ALL)usr/sbin/useradd,/usr/sbin/usermod,/usr/sbin/userdel

su -ycy 进入到ycy用户

普通用户使用useradd

sudouseraddtom

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Linux下调试器GDB的基本使用方法

    详解Linux下调试器GDB的基本使用方法

    GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。不管是调试Linux内核空间的驱动还是调试用户空间的应用程序,掌握gdb的用法都是必须。而且,调试内核和调试应用程序时使用的gdb命令是完全相同的
    2021-06-06
  • 用DNSPod和Squid打造自己的CDN (六) 编译并安装Squid

    用DNSPod和Squid打造自己的CDN (六) 编译并安装Squid

    这篇文章主要介绍centos下编译并安装Squid的方法,需要的朋友可以参考下
    2013-04-04
  • 批量数据导入Neo4j的实现方式

    批量数据导入Neo4j的实现方式

    本文总结了Neo4j批量数据导入的三种方式:LOADCSV(处理中小数据集)、neo4j-admin(适用于大数据)及Kettle工具,需注意CSV格式、路径配置、数据类型转换及编码问题,确保数据正确导入
    2025-08-08
  • Apache APISIX Dashboard 未授权访问漏洞分析(CVE-2021-45232)

    Apache APISIX Dashboard 未授权访问漏洞分析(CVE-2021-45232)

    Apache APISIX 是一个动态、实时、高性能的 API 网关, 提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能,这篇文章主要介绍了Apache APISIX Dashboard 未授权访问漏洞(CVE-2021-45232),需要的朋友可以参考下
    2023-03-03
  • 宝塔apache配置阿里云SSL免费证书的步骤(图文)

    宝塔apache配置阿里云SSL免费证书的步骤(图文)

    本文主要介绍了宝塔apache配置阿里云SSL免费证书的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Centos系统服务器查看端口是否开放的方法

    Centos系统服务器查看端口是否开放的方法

    本文介绍了在Centos系统服务器上如何查看端口是否开放的方法,通过telnet命令可以轻松实现。这对于服务器管理员来说非常重要,可以帮助他们及时发现端口问题并进行修复。
    2023-03-03
  • Linux环境下部署Consul集群

    Linux环境下部署Consul集群

    这篇文章介绍了Linux环境下部署Consul集群的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Linux下解压,压缩JAR包的简单方法

    Linux下解压,压缩JAR包的简单方法

    下面小编就为大家带来一篇Linux下解压,压缩JAR包的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux变量操作符“${}“的用法详解

    Linux变量操作符“${}“的用法详解

    这篇文章主要介绍了Linux变量操作符“${}“的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • Linux systemV消息队列和信号量详解

    Linux systemV消息队列和信号量详解

    这篇文章主要介绍了Linux systemV消息队列和信号量,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03

最新评论