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 有读权限,所以该文件中只定义用户账号,而不保存口令。
# 每行定义一个用户账号信息,每行由 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
#每行定义了一个用户信息,行中各字段用“:”隔开,其格式如下:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/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密码的日期
(3)用户组账号文件——/etc/group
系统中的每个组,在/etc/group文件中有一行记录,任何用户均可以读取用户组账户信息配置文件。
字段说明
Groupname :组的名字
Passwd :组的加密口令
GID :是系统区分不同组的ID,在/etc/passwd域中的GID字段是用这个数来指定用户的基本组
Userlist :是用“,”分开的用户名,列出的成员以该组为附加组。
作业:
1、创建用户lockuser, 并指定家目录为/home/lock, 然后锁定该用户
2、解锁lockuser, 并设定下次登录时必须修改密码
3、创建用户testuser并设置密码,修改用户名为normaluser
4、创建文件,查询文件的acl,为文件设置acl 用户为testuser1 权限为 rwx,为文件设置acl的mask: 权限为r-x
5、设置suid,为文件设置suid(两种方式 u+s和nnnn)的方式
6、设置sgid, 为文件设置sgid(两种方式 g+s和nnnn)的方式
7、设置sbit,为目录设置sbit(两种方式 o+t和nnnn)的方式
Linux 添加用户至用户组
通过使用 Linux 命令行的几个的示例,逐步向你展示如何在 Linux 上将用户添加到用户组中,以及如何在 Linux 上添加用户和组。这些命令应该可以在任何 Linux 发行版上工作,并且已经在CentOS、Debian 和 Ubuntu 上进行过测试。
添加一个新用户到用户组
一个 Linux 用户可以有一个主组(Primary group)和一个或多个附属组(Secondary groups)。这些组可以在创建用户时作为 adduser
命令的参数。
所有命令都必须以 root
用户的身份执行。在 Ubuntu 上,请在所有命令前加上 sudo
,或者运行sudo -s
切换到 root
用户。
添加用户组
作为第一步,我将添加两个新的用户组,分别是 family
和 friends
:
groupadd family groupadd 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
将已有的用户添加至用户组
对于这个任务,我们将使用 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用户组分为哪些类型的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

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)

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

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

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

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

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

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

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