目录
linux用户和组的分类
Linux 添加用户至用户组
首页 运维 linux运维 linux用户组分为哪些类型

linux用户组分为哪些类型

Jun 01, 2023 pm 06:29 PM
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 用户。

添加用户组

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

groupadd family
groupadd friends
登录后复制

添加新用户至单个用户组

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

useradd -G family tom
登录后复制

添加新用户到多个用户组

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

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用户组分为哪些类型的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

vscode需要什么电脑配置 vscode需要什么电脑配置 Apr 15, 2025 pm 09:48 PM

VS Code 系统要求:操作系统:Windows 10 及以上、macOS 10.12 及以上、Linux 发行版处理器:最低 1.6 GHz,推荐 2.0 GHz 及以上内存:最低 512 MB,推荐 4 GB 及以上存储空间:最低 250 MB,推荐 1 GB 及以上其他要求:稳定网络连接,Xorg/Wayland(Linux)

vscode 无法安装扩展 vscode 无法安装扩展 Apr 15, 2025 pm 07:18 PM

VS Code扩展安装失败的原因可能包括:网络不稳定、权限不足、系统兼容性问题、VS Code版本过旧、杀毒软件或防火墙干扰。通过检查网络连接、权限、日志文件、更新VS Code、禁用安全软件以及重启VS Code或计算机,可以逐步排查和解决问题。

notepad怎么运行java代码 notepad怎么运行java代码 Apr 16, 2025 pm 07:39 PM

虽然 Notepad 无法直接运行 Java 代码,但可以通过借助其他工具实现:使用命令行编译器 (javac) 编译代码,生成字节码文件 (filename.class)。使用 Java 解释器 (java) 解释字节码,执行代码并输出结果。

vscode 可以用于 mac 吗 vscode 可以用于 mac 吗 Apr 15, 2025 pm 07:36 PM

VS Code 可以在 Mac 上使用。它具有强大的扩展功能、Git 集成、终端和调试器,同时还提供了丰富的设置选项。但是,对于特别大型项目或专业性较强的开发,VS Code 可能会有性能或功能限制。

vscode是什么 vscode是干什么用的 vscode是什么 vscode是干什么用的 Apr 15, 2025 pm 06:45 PM

VS Code 全称 Visual Studio Code,是一个由微软开发的免费开源跨平台代码编辑器和开发环境。它支持广泛的编程语言,提供语法高亮、代码自动补全、代码片段和智能提示等功能以提高开发效率。通过丰富的扩展生态系统,用户可以针对特定需求和语言添加扩展程序,例如调试器、代码格式化工具和 Git 集成。VS Code 还包含直观的调试器,有助于快速查找和解决代码中的 bug。

VSCode怎么用 VSCode怎么用 Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCode) 是一款跨平台、开源且免费的代码编辑器,由微软开发。它以轻量、可扩展性和对众多编程语言的支持而著称。要安装 VSCode,请访问官方网站下载并运行安装程序。使用 VSCode 时,可以创建新项目、编辑代码、调试代码、导航项目、扩展 VSCode 和管理设置。VSCode 适用于 Windows、macOS 和 Linux,支持多种编程语言,并通过 Marketplace 提供各种扩展。它的优势包括轻量、可扩展性、广泛的语言支持、丰富的功能和版

Linux的主要目的是什么? Linux的主要目的是什么? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

git怎么查看仓库地址 git怎么查看仓库地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 仓库地址,请执行以下步骤:1. 打开命令行并导航到仓库目录;2. 运行 "git remote -v" 命令;3. 查看输出中的仓库名称及其相应的地址。

See all articles