一、Linux用户分类
Linux具有三种用户:
超级管理员root:具有最高权限,UID=0 GID=0
系统用户(System Account):主要服务于应用,维护系统运行,不能登录。
普通用户(login-Account):登录用户
root和普通用户都比较熟悉,稍微介绍下系统用户。
典型系统用户:
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
不禁会问,为什么会有系统用户?
Linux系统的大部分权限和安全的管理依赖于对于文件权限(读、写、执行)的管理,而用户是能够获取系统资源的权限的集合,文件权限的拥有者为用户;
当应用需要访问/操作/拥有系统的资源时,Linux就通过用户来控制/实现,这些用户就是系统用户。
例如:
sys:The sys user owns the default mounting point for the Distributed File Service (DFS) cache, which must exist before you can install or configure DFS on a client.
The /usr/sys directory can also store installation images.
ftp:Used for anonymous FTP access.
nobody:Owns no files and is sometimes used as a default user for unprivileged operations.
二、Linux组
PS:此处的用户全是指普通用户,即登录用户。
组和用户的关系
Linux系统以组Group方式管理用户,用户和组的对应关系为多对多,即某个用户可加入/属于一个或多个组,某个组可以有0个、1个或多个用户。
组的分类
从用户的角度,分为主组和附属组。
主组:也被称为primary group、first group或initial login group,用户的默认组,用户的gid所标识的组。
附属组:也被称为Secondary group或supplementary group,用户的附加组。
通过id命令可查看当前用户的主组和附属组
[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[root@localhost ~]# id gg
uid=503(gg) gid=503(gg) groups=503(gg)
[root@localhost ~]# id mm
uid=502(mm) gid=500(jww) groups=500(jww)
gid标识主组,groups表示用户所属的全部组(主组和附属组)
1. 用户必须有且只能有一个主组,可以有0个、1个或多个附属组,就如我们一定会有一个用来安家的房子(类同主组),还可以有n个用于投资或其他打算的房子(附属组)。
2. 主组也为默认组,当用户own某个文件或目录时,默认该文件或目录的group owner为该用户的主组(当然,可以通过chgrp修改group owner)。
3. 在/etc/passwd文件中,记录行第四个字段为gid,即用户的主组id。
4. 在/etc/group文件中,记录行第四个字段为组的成员,不显示将该组作为主组的组成员,只显示将该组作为附属组的组成员,因此,/etc/group的记录行的第四个字段没有完整地列出该组的全部成员。
5. 当通过useradd命令创建新用户时,可以通过-g参数指定已存在的某个组为其主组,若没有使用-g参数,
则系统自动创建名称和用户名相同的组作为该用户的主组(前提是variable in /etc/login.defs的USERGROUPS_ENAB属性值为yes),如命令手册的useradd关于-g参数的描述所示:
-g, --gid GROUP
The group name or number of the user′s initial login group. The
group name must exist. A group number must refer to an already
existing group.
If not specified, the bahavior of useradd will depend on the
USERGROUPS_ENAB variable in /etc/login.defs. If this variable is
set to yes (or -U/--user-group is specified on the command line), a
group will be created for the user, with the same name as her
loginname. If the variable is set to no (or -N/--no-user-group is
specified on the command line), useradd will set the primary group
of the new user to the value specified by the GROUP variable in
/etc/default/useradd, or 100 by default.
另外,可通过usermod -g 将普通用户的主组/gid设置为系统中存在的任意某个组(永久性);
也可以通过newgrp暂时性变更当前用户的主组/gid(只对于当前login session有效,非永久性)。
通过usermod -G 设置普通用户的附属组。
相关推荐
细说linux pdf 兄弟连(lampbrother)李明linux课程pdf
兄弟连 细说Linux PDF文档。共12个按章节总结
兄弟连Linux视频的配套电子书籍,在学习Linux的时候,看视频后,再看看书籍,更好!!
【描述详解】:“兄弟连细说Linux视频课件,配套课件,共30M,请放心下载,学习”。描述中提到的“配套课件”意味着除了视频教程外,可能还包含了辅助学习的材料,如讲义、练习题等。30M的大小虽然不大,但考虑到是...
Linux采用严格的权限管理系统,包括用户(User)、组(Group)和权限(Permission)。每个文件和目录都有读(r)、写(w)和执行(x)三种权限,可以针对用户、组和其他用户进行设置。 【包管理】 Linux发行版通常...
- **社区与贡献**:随着时间的推移,Linux逐渐形成了庞大的开发者社区,许多志愿者贡献代码,使得Linux系统得以不断完善和更新。 - **商业支持**:如今,有许多公司提供基于Linux的操作系统发行版,并提供技术支持和...
Linux是世界上最广泛使用的开源操作系统之一,它为用户提供了强大的服务器管理、网络配置和软件开发环境。这份"Linux学习笔记(强悍总结值得一看)"涵盖了Linux的基础知识,是初学者和进阶者提升技能的理想资源。...
兄弟连李明老师的《细说Linux》PDF文档,类似于PPT,总结的很好,值得一看。
这个"细说Linux视频教程课件.zip"包含了丰富的学习资料,旨在帮助用户深入理解Linux系统及其应用。下面,我们将详细探讨Linux的基础知识、核心概念以及它在IT行业中的重要性。 首先,Linux是一个基于Unix的操作系统...
总的来说,“细说Linux—Shell笔记”可能涵盖了以上所有内容,通过这个教程,学习者可以逐步掌握Shell的使用,从而更高效地管理和控制Linux系统。无论你是系统管理员、开发者还是普通用户,掌握Shell技能都能使你在...
Linux是世界上最广泛使用的开源操作系统之一,它为开发者和系统管理员提供了强大的工具和灵活性。这篇Linux学习笔记涵盖了Linux的基础知识,包括C和C++编程环境,是初学者深入了解Linux的宝贵资源。 首先,让我们来...
Linux学习笔记(强悍总结值得一看),细说linux基础知识,LINUX源码
yum是Linux系统中的包管理工具,通过yum仓库,用户可以方便地进行软件包的安装、卸载和更新。yum仓库包含了各种软件包及其依赖关系,便于管理员进行系统的管理和维护。 以上总结的知识点覆盖了Linux操作系统的基础...
兄弟连Linux基础教学课件pdf版,与某站上的视频配套
有关linux资料 常用的命令 教学基础操作 入门详解 以及安装教程
Linux学习笔记(强悍总结值得一看),细说linux基础知识,C,C++源码.zip
这些命令能够帮助用户高效地管理和操作文件及目录。以下是基于提供的文档内容解析出的一些关键知识点: 1. **ls命令**: - `ls` 命令用于列出目录中的文件和子目录。 - `-a` 选项显示所有文件,包括隐藏文件。 -...