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

总结

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

相关文章

  • Ubuntu如何修改时区为UTC/CST时间

    Ubuntu如何修改时区为UTC/CST时间

    这篇文章主要介绍了Ubuntu如何修改时区为UTC/CST时间问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 学习Vim合并行的方法和技巧

    学习Vim合并行的方法和技巧

    这篇文章主要介绍了学习Vim合并行的方法以及代码实现过程,值得参考,一起来学习下。
    2017-11-11
  • Linux shell tr 命令详解

    Linux shell tr 命令详解

    这篇文章主要介绍了Linux shell tr 命令详解的相关资料,需要的朋友可以参考下
    2017-01-01
  • Linux实现驱动模块传参过程解析

    Linux实现驱动模块传参过程解析

    这篇文章主要介绍了Linux实现驱动模块传参过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Linux设置位S(SetUID)的详细教程

    Linux设置位S(SetUID)的详细教程

    linux setuid是一种权限管理机制,即设置一个程序以超级用户(root)权限运行,即使由普通用户启动也能够执行某些仅超级用户有权限执行的操作,此机制可以提高程序的安全性和可靠性,但也可能存在一些安全风险,本文将详细介绍Linux设置位S(SetUID)的教程
    2025-05-05
  • Centos7升级glibc导致系统异常(无法开机)解决方法

    Centos7升级glibc导致系统异常(无法开机)解决方法

    大家好,本篇文章主要讲的是Centos7升级glibc导致系统异常(无法开机)解决方法,感兴趣的同学赶快来看看吧,希望对你有帮助
    2021-11-11
  • centos7之如何进行ip和端口限制

    centos7之如何进行ip和端口限制

    这篇文章主要介绍了centos7之如何进行ip和端口限制问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Linux AMH 服务器管理面板远程访问的操作方法

    Linux AMH 服务器管理面板远程访问的操作方法

    AMH 是一款基于 Linux 系统的服务器管理面板,它提供了一系列的功能,包括网站管理、FTP 管理、数据库管理、DNS 管理、SSL 证书管理等,本文介绍在Linux 中安装AMH面板并结合Cpolar 内网穿透工具实现远程访问,感兴趣的朋友一起看看吧
    2023-11-11
  • CentOS虚拟机克隆后无法上网(网卡信息不一致)问题的解决方法

    CentOS虚拟机克隆后无法上网(网卡信息不一致)问题的解决方法

    这篇文章主要为大家详细介绍了CentOS虚拟机克隆后无法上网,即网卡信息不一致问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Linux命令行上如何使用日历详解

    Linux命令行上如何使用日历详解

    这篇文章主要给大家介绍了Linux命令行上如何使用日历的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用linux具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04

最新评论