linux用户组分为哪些类型

linux用户组有2种:1、基本组  (  私有组  );建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。2、附加组  (  公有组  ),可以容纳多个用户,组中的用户都具有组所拥有的权利。

linux用户和组的分类

1、linux下的用户可以分为3类

超级用户 —— 用户名为 root ,它具有一切权限,只有进行系统维护 ( 例如:建立用户等 ) 或其他必要情形下才用超级用户登录,以避免系统出现安全问题。

Linux系统正常运行所必需的用户即为伪用户(system user)。主要是为了满足相应的系统进程对文件属主的要求而建立的,例如: bin 、 daemon 、 adm 、 lp 等用户。系统用户不能用来登录。

普通用户——是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。

2、linux中的组有以下两类:

基本组  (  私有组  )  :建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。

附加组  (  公有组  )  :可以容纳多个用户,组中的用户都具有组所拥有的权利。

3、linux中用户组和用户的配置文件

在linux中,用户账号,密码、用户组信息,和用户组密码是存放在不同的配置文件中的。

文件功能文件名称

用户帐号文件

/etc/passwd用户密码/etc/shadow用户组帐号文件/etc/gruoup用户组密码文件/etc/gshadow

(1)用户账号文件——/etc/passwd

passwd   是一个文本文件,用于定义系统的用户账号,由于所有用户都对   passwd   有读权限,所以该文件中只定义用户账号,而不保存口令。   

linux用户组分为哪些类型

#   每行定义一个用户账号信息,每行由   7   个字段组成,字段之间用   “:”   分隔,其格式如下:  

账号名称   :   密码   :UID:GID:   个人资料   :   主目录   :Shell  

/etc/passwd   文件中字段说明   

账号名称:用户登录   Linux   系统时使用的名称。

密码:以前是以加密格式保存密码的位置,现在密码保存在   /etc/shadow   文件中,此处只是密码占    位符   “x”   或   “*”   。若为   “x”   ,说明密码经过了   shadow   的保护。

UID   :用户的标识,是一个数值,用它来区分不同的用户,每个用户都有一个   UID   数值:

超级用户的   UID——0  

系统用户的   UID——1   ~   999

普通用户的   UID——   ≥   1000

GID   :用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的   GID   。

个人资料:可以记录用户的完整姓名、地址、办公室电话、家庭电话等个人信息。

主目录:类似   Windows   的个人目录,通常是   /home/username   ,这里   username   是用户名,用户    执行   “cd   ~   ”   命令时当前目录会切换到个人主目录。

Shell   :定义用户登录后激活的   Shell   ,默认是   Bash Shell

(2)用户密码文件——/etc/shadow

linux用户组分为哪些类型

#每行定义了一个用户信息,行中各字段用“:”隔开,其格式如下:   

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志  

/etc/shadow文件中的每行9个字段的含义分别为字段

登录名 :登录名

加密口令 :使用SHA-512/SHA-256/MD5算法加密后的密码( $id$,  id为1示 md5,5表示sha256, 6为sha512),若为空,表示该用户无需密码即可登录,若为“*” 表示该账号不 能用于登录系统,若为“!”表示该账号密码已被锁定

最后一次修改时间 :最近一次更改密码的日期,以距离1970年1月1日的天数表示

最小时间间隔 :密码在多少天内不能被修改。默认值为0,表示不限制

最大时间间隔 :密码在多少天后必须被修改。默认值为99999,表示不进行限制

警告时间 :提前多少天警告用户密码将过期,默认值为7天,0表示不提供警告

不活动时间 :密码过期多少天后禁用此用户

失效时间 :密码失效日期,以距离1970年1月1日的天数表示,默认为空,表示永久可用    标志:保留未用,以便以后发展之用

查看用户上次一次修改root密码的日期  

linux用户组分为哪些类型

(3)用户组账号文件——/etc/group

系统中的每个组,在/etc/group文件中有一行记录,任何用户均可以读取用户组账户信息配置文件。  

linux用户组分为哪些类型

字段说明

Groupname :组的名字

Passwd :组的加密口令

GID :是系统区分不同组的ID,在/etc/passwd域中的GID字段是用这个数来指定用户的基本组

Userlist :是用“,”分开的用户名,列出的成员以该组为附加组。

作业:

1、创建用户lockuser, 并指定家目录为/home/lock, 然后锁定该用户

linux用户组分为哪些类型

2、解锁lockuser, 并设定下次登录时必须修改密码

linux用户组分为哪些类型

3、创建用户testuser并设置密码,修改用户名为normaluser

linux用户组分为哪些类型

4、创建文件,查询文件的acl,为文件设置acl 用户为testuser1 权限为 rwx,为文件设置acl的mask: 权限为r-x

linux用户组分为哪些类型

linux用户组分为哪些类型

5、设置suid,为文件设置suid(两种方式 u+s和nnnn)的方式
6、设置sgid, 为文件设置sgid(两种方式 g+s和nnnn)的方式
7、设置sbit,为目录设置sbit(两种方式 o+t和nnnn)的方式

linux用户组分为哪些类型

linux用户组分为哪些类型

Linux 添加用户至用户组

通过使用 Linux 命令行的几个的示例,逐步向你展示如何在 Linux 上将用户添加到用户组中,以及如何在 Linux 上添加用户和组。这些命令应该可以在任何 Linux 发行版上工作,并且已经在CentOS、Debian 和 Ubuntu 上进行过测试。

添加一个新用户到用户组

一个 Linux 用户可以有一个主组(Primary group)和一个或多个附属组(Secondary groups)。这些组可以在创建用户时作为 adduser 命令的参数。

所有命令都必须以 root 用户的身份执行。在 Ubuntu 上,请在所有命令前加上 sudo,或者运行sudo -s 切换到 root 用户。

添加用户组

作为第一步,我将添加两个新的用户组,分别是 family 和 friends:

groupadd familygroupadd friends

添加新用户至单个用户组

下面我将一个新用户 tom,同时将用户添加到用户组 family。family 用户组将通过使用 -G 参数作为一个附属组添加。

useradd -G family tom

添加新用户到多个用户组

tom 现在是 family 用户组的一个用户。参数 -G 允许指定多个用户组,每个用户组之间使用逗号进行分隔。如果要将用户 tom 添加到 family 和 friends 两个用户组,使用下面的命令:

useradd -G family,friends tom

设置用户密码

请注意,新的 Linux 用户 tom 还没有密码,所以无法登录。要设置此用户的密码,可以执行下面的命令:

passwd tom

并在命令请求时输入两次新密码。

在上面的示例中,我们将用户 tom 添加到辅助组中,adduser 命令自动创建了一个新的主组,并将该组分配为主组。

用户名: tom

主组: tom

附属组: family(或者使用第二个案例添加 family 和 friends 两个附属组)

设置新的主组

也许你想在添加 tom 用户时,设置主组为 family(而不是默认创建的 tom 用户组),附属组为 friends,可以使用这个命令:

useradd -g family -G friends tom

使用 man 命令可以获得 useradd 命令的所有命令行选项的详细描述:

man useradd

linux用户组分为哪些类型

将已有的用户添加至用户组

对于这个任务,我们将使用 usermod 命令。usermod 命令可以修改用户的各种选项,包括用户的组成员关系。

首先,我将添加第三个用户组 colleagues:

groupadd colleagues

使用 usermod

我将 colleagues 用户组作为附属组添加到用户 tom:

usermod -a -G colleagues tom

命令解释:-a 表示 append,它只能与 -G 选项(附属组)组合使用。所以最终我们将 tom 用户添加到 colleagues 用户组中,这个用户组是用户的一个附属组。

-G 选项可以指定多个用户组,每个用户组之间使用逗号进行分隔。例如:-G group1,group2,group3。

如果想要修改 tom 用户的主组为 family,可以使用命令:

usermod -g family tom

使用 man 命令可以获取 usermod 命令的所有命令行选项的详细说明:

man usermod

linux用户组分为哪些类型

以上就是linux用户组分为哪些类型的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/123204.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
快兔网盘如何查看剩余存储空间_快兔网盘剩余存储空间查看教程
上一篇 2025年11月26日 18:17:41
Excel文件损坏无法打开如何恢复数据的详细教程
下一篇 2025年11月26日 18:18:57

相关推荐

  • 分享一个服务器一键测试脚本

    superbench是一个测试linux服务器性能的脚本,让你快速方便了解一台服务器的综合性能,支持硬件基本信息、流媒体解锁检测、磁盘io检测、cpu性能测试、以及国内和国外网络测速、网络路由追踪。 以上就是分享一个服务器一键测试脚本的详细内容,更多请关注创想鸟其它相关文章!

    2026年9月22日
    100
  • Linus Torvalds 批评 Rust 代码格式化工具:称其“完全疯狂”

    近日,linux创始人linus torvalds在linux内核邮件列表中对rust语言的代码格式化工具rustfmt提出了尖锐批评,称其行为“完全疯狂”。 他提到,在Rust代码中,类似use crate::xyz;这样的导入语句,在经过自动格式化后经常被合并为一行,导致原本清晰的结构变得混乱,…

    用户投稿 2026年9月22日
    200
  • 解决TCPDF保存文件权限问题的完整指南

    本文旨在解决使用tcpdf在%ignore_a_1%中生成pdf并保存到服务器(’f’模式)时遇到的“permission denied”错误,尤其是在macos环境下。核心问题通常源于不正确的服务器文件路径或目标文件夹缺乏写入权限。教程将详细阐述如何构建正确的绝对文件路径,…

    2026年9月22日
    200
  • LINUX如何安全地关闭系统_LINUX正确的关机与重启命令

    使用shutdown命令可安全关机,如sudo shutdown -h now立即关机,或+5表示5分钟后关机,-c取消计划;2. poweroff立即断电;3. halt停止系统运行,加–poweroff关闭电源;4. reboot重启系统,也可用shutdown -r +3延迟重启;…

    2026年9月22日
    000
  • CentOS7搭建个人站点

    CentOS7搭建个人站点CentOS7搭建个人站点CentOS7搭建个人站点CentOS7搭建个人站点

    在本文中,我们将指导您在centos7系统上使用httpd搭建个人网站。httpd是apache http服务器的主程序,设计为一个独立运行的后台进程,负责建立处理请求的子进程或线程池。 首先,我们需要通过rpm命令检查系统中是否已安装httpd: rpm -qa | grep httpd 如果执行…

    2026年9月22日 • 用户投稿
    200
  • MySQL服务无法启动怎么办?常见解决方法

    MySQL服务无法启动怎么办?常见解决方法MySQL服务无法启动怎么办?常见解决方法MySQL服务无法启动怎么办?常见解决方法MySQL服务无法启动怎么办?常见解决方法

    mysql服务无法启动常见原因包括配置错误、端口占用、数据文件损坏或权限问题。解决方法如下:1. 查看错误日志,定位问题根源;2. 检查配置文件是否存在语法错误或路径问题;3. 确认端口(如3306)未被占用;4. 核查数据目录的权限与完整性;5. 必要时修复或重置数据目录,甚至重新安装mysql。…

    2026年9月22日 • 用户投稿
    000
  • Linux内核13-进程切换

    进程切换,也称为任务切换、上下文切换或任务调度,本文将探讨linux内核中进程切换的实现。我们首先理解几个关键概念。 1.1 硬件上下文 每个进程都有自己的地址空间,但所有进程共享CPU寄存器。因此,在恢复进程执行前,内核必须确保挂起时的寄存器值被重新加载到CPU寄存器中。 这些需要加载到CPU寄存…

    2026年9月22日
    200
  • 如何修改MySQL的默认端口号?

    如何修改MySQL的默认端口号?如何修改MySQL的默认端口号?如何修改MySQL的默认端口号?如何修改MySQL的默认端口号?

    修改mysql默认端口号需编辑配置文件,核心步骤为:1.定位my.cnf或my.ini文件;2.在[mysqld]段落中修改或添加port参数;3.保存后重启mysql服务。更改端口主要出于避免冲突、提升安全性和适应网络策略考虑。连接时需在客户端工具或代码中指定新端口,如命令行加-p参数、编程语言连…

    2026年9月22日 • 用户投稿
    1200
  • 在 Linux 中如何强制停止进程?kill 和 killall 命令有什么区别?

    在日常工作中,您可能会遇到两个用于在 linux 中强制结束程序的命令:kill和killall。虽然许多 linux 用户熟悉kill命令,但使用killall命令的人相对较少。尽管这两个命令名称相似且目的相同(终止进程),但它们在使用方式和效果上有显著区别。 那么,kill和killall之间有…

    2026年9月22日
    200
  • 如何设置Linux服务超时参数 systemd服务超时配置

    如何设置Linux服务超时参数 systemd服务超时配置如何设置Linux服务超时参数 systemd服务超时配置如何设置Linux服务超时参数 systemd服务超时配置如何设置Linux服务超时参数 systemd服务超时配置

    systemd服务超时参数调整方法包括:1.使用systemctl show查看timeoutstartsec、timeoutstopsec、timeoutsec字段获取当前配置;2.通过systemctl edit编辑unit文件设置timeoutstartsec、timeoutstopsec或t…

    2026年9月22日 • 用户投稿
    000
  • 如何设置Linux用户会话超时 TMOUT环境变量详细配置

    如何设置Linux用户会话超时 TMOUT环境变量详细配置如何设置Linux用户会话超时 TMOUT环境变量详细配置如何设置Linux用户会话超时 TMOUT环境变量详细配置如何设置Linux用户会话超时 TMOUT环境变量详细配置

    tmout是bash shell用于设置用户会话超时的环境变量,单位为秒,常用方法包括:1. 临时设置通过执行export tmout=300仅对当前终端生效;2. 全局设置在/etc/profile中添加export tmout=600需root权限并执行source生效;3. 针对特定用户修改其…

    2026年9月22日 • 用户投稿
    000
  • LINUX怎么查看哪个进程占用了某个端口_LINUX端口占用查询方法

    使用ss或lsof命令可快速查看端口占用情况,如sudo ss -tulnp | grep :端口号或sudo lsof -i :端口号,结合PID进一步通过ps或/proc文件系统定位进程详情。 在Linux系统中,查看某个端口被哪个进程占用,常用的方法是使用命令行工具结合网络和进程信息进行查询。…

    2026年9月22日
    000
  • 如何查询命令所属包 yum provides反向查找

    如何查询命令所属包 yum provides反向查找如何查询命令所属包 yum provides反向查找如何查询命令所属包 yum provides反向查找如何查询命令所属包 yum provides反向查找

    使用 yum provides 可以查找某个命令或文件属于哪个软件包,解决“command not found”问题。1. 使用时建议带上完整路径,如 yum provides /usr/sbin/ifconfig;2. 支持通配符模糊查找,如 yum provides */python3;3. 若…

    2026年9月22日 • 用户投稿
    200
  • PHP一键环境如何设置网站域名解析_本地域名解析配置

    配置本地域名需修改hosts文件并设置Web服务器虚拟主机。1. 在hosts添加“127.0.0.1 myproject.test”实现域名解析;2. Apache中编辑httpd-vhosts.conf添加VirtualHost指向项目目录,确保加载该配置文件后重启服务;3. Nginx中在vh…

    2026年9月22日
    700
  • VSCode配合Quartus开发FPGA(环境设置教程,提高开发效率)

    使用VSCode配合Quartus开发FPGA可提升效率,核心是结合VSCode的代码编辑功能与Quartus的编译仿真能力。首先安装Quartus、VSCode及Python,再安装VHDL/Verilog插件和Makefile Tools等扩展。配置系统环境变量,将Quartus命令路径加入PA…

    2026年9月22日
    100
  • mysql安装完成如何卸载 mysql完全删除数据库的方法

    mysql安装完成如何卸载 mysql完全删除数据库的方法mysql安装完成如何卸载 mysql完全删除数据库的方法mysql安装完成如何卸载 mysql完全删除数据库的方法mysql安装完成如何卸载 mysql完全删除数据库的方法

    彻底卸载mysql需多步骤操作一、停止并卸载服务:windows执行net stop mysql和mysqld –remove,linux用systemctl stop mysql并卸载软件包二、手动删除数据和配置文件:包括数据目录/var/lib/mysql、配置文件/etc/mysq…

    2026年9月22日 • 用户投稿
    100
  • 如何设置Linux用户磁盘配额 xfs_quota配置完整流程

    如何设置Linux用户磁盘配额 xfs_quota配置完整流程如何设置Linux用户磁盘配额 xfs_quota配置完整流程如何设置Linux用户磁盘配额 xfs_quota配置完整流程如何设置Linux用户磁盘配额 xfs_quota配置完整流程

    linux用户磁盘配额是通过xfs_quota工具配置,以限制用户或组的磁盘空间和文件数量。1. 确认文件系统为xfs并安装xfsprogs;2. 修改/etc/fstab启用usrquota和grpquota后重新挂载;3. 使用xfs_quota初始化数据库;4. 用limit命令设置用户或组的…

    2026年9月22日 • 用户投稿
    000
  • VSCode调试FPGA的UART通信(串口数据分析,调试技巧)

    使用VSCode调试FPGA的UART通信,核心是通过其扩展生态集成串口监视与数据分析。首先确保FPGA的UART模块正常工作并输出调试信息,然后在VSCode中安装“Serial Monitor”等串口扩展,配置波特率、端口号以捕获数据。为解析十六进制或自定义协议数据,可结合Python脚本通过t…

    2026年9月22日
    000
  • 如何扫描Linux本地网络 nmap基础扫描技巧

    如何扫描Linux本地网络 nmap基础扫描技巧如何扫描Linux本地网络 nmap基础扫描技巧如何扫描Linux本地网络 nmap基础扫描技巧如何扫描Linux本地网络 nmap基础扫描技巧

    快速扫描整个子网可使用 sudo nmap -sn 192.168.1.0/24,用于发现活跃主机;若防火墙屏蔽icmp请求,可加 -pe 参数提高准确性。2. 扫描单台设备开放端口用 sudo nmap 192.168.1.100,默认扫描1000个常见端口,或加 -p- 扫描全部端口,并可用 -…

    2026年9月22日 • 用户投稿
    200
  • 如何在mysql中监控用户操作日志

    MySQL默认不记录用户操作日志,但可通过启用通用查询日志记录所有SQL操作,或使用二进制日志追踪数据变更,也可部署审计插件实现细粒度监控,结合独立账号管理和日志轮转策略提升安全性与可追溯性。 MySQL 本身不默认记录用户的所有操作日志,但可以通过启用特定的日志功能来实现对用户行为的监控。以下是几…

    2026年9月22日
    100

发表回复

登录后才能评论
关注微信