Linux用户体系介绍(用户角色划分)
user_manage

用户帐号管理
基础知识
在Linux操作系统中,每一个文件和程序必须属 于某一个“用户”。
每一个用户都有一个唯一的身份标识叫做用户ID (User ID,UID)。
每一个用户也至少需要属于一个“用户分组”, 也就是由系统管理员建立的用户小团体。用户 分组也有一个唯一的身份标识叫做用户分组ID (Group ID,GID)
用户可以归属于多个用户分组。
用户帐号管理
基础知识
对某个文件或程序的访问是以它的UID和GID 为基础的。一个执行中的程序继承了调用它的 用户的权利和访问权限。 每位用户的权限可以被定义为下面两种中的任 何一种:
普通用户: 只能访问他们拥有的或者有权限执行的 文件;分配给他们这样的权限是因为这个用户或者 属于这个文件的用户分组,或者因为这个文件能够 被所有的用户访问。 根用户: 能够访问系统全部的文件和程序,而不论 根用户是否拥有它们。根用户通常也被称为“超级用 户”。
Linux用户帐号管理 用户口令文件——shadow
从图中可以看出,“/etc/shadow”文件中的每个记录用 “:”隔开为9个域,每个域的含义分别为:
字段 username 登录名 passwd lastchg min max warn expire flag 加密口令 口令上次更改时距1970年1月1日的天数 口令更改后不可以更改的天数 口令更改后必须再更改的天数(有效期) 口令失效前警告用户的天数 账号被封时距1970年1月1日的天数 保留未用 说明
username: passwd: lastchg: min: max: warn: inactive: expire: flag
linux操作系统的组成

linux操作系统的组成1.内核(Kernel)Linux内核是整个Linux操作系统的核心,它负责管理系统资源,包括硬件、内存、进程、文件系统等。
内核提供了一系列系统调用,用户空间程序可以通过这些系统调用来访问内核提供的功能。
2.用户空间(User Space)用户空间是操作系统中除内核之外的部分。
用户空间包括Shell、图形界面、应用程序等。
用户空间通过系统调用来访问内核提供的功能。
用户空间和内核之间有一个保护机制,保证用户空间程序不能直接访问内核资源,只能通过系统调用。
3.ShellShell是Linux系统中的命令解释器,它充当了用户和内核之间的接口。
用户可以在Shell中输入命令,Shell解析命令并通过系统调用调用内核提供的功能。
Linux操作系统中常用的Shell有Bash、Zsh、Fish等。
4.文件系统(File System)Linux操作系统支持多种文件系统,包括Ext2、Ext3、Ext4、Btrfs、XFS等。
文件系统是管理文件和目录的机制,它负责在硬盘上分配空间,存储文件内容和元数据。
文件系统还提供了一些额外的功能,如权限管理、链接、快速查找等。
5.设备驱动程序(Device Driver)设备驱动程序是连接硬件设备和内核的桥梁,它转换设备的IO请求为内核能够理解的形式,并向内核提供设备的状态信息。
Linux操作系统支持多种设备驱动程序,包括字符设备驱动程序、块设备驱动程序、网络设备驱动程序等。
6.命令行工具(Command-Line Tool)Linux操作系统提供了丰富的命令行工具,可以轻松地完成各种任务。
常见的命令行工具有ls、cp、mv、mkdir、rm等,还有一些高级工具,如awk、sed、grep等。
7.图形界面(Graphical User Interface)Linux操作系统提供了多种图形界面,如GNOME、KDE、Xfce、LXDE等。
图形界面提供了一种更加友好的交互方式,用户可以通过鼠标点击、拖拽等方式完成操作,极大地提高了用户的工作效率。
青蛙学Linux—用户、组、权限和文件属性

青蛙学Linux—⽤户、组、权限和⽂件属性1、⽤户和组1.1、⽤户⾓⾊在Linux下有以下三种⾓⾊⽤户:1. 超级⽤户:拥有对系统的最⾼管理权限的⽤户,默认⽤户名为root。
需要注意的是,与Windows下的超级管理员Administrator不同,root⽤户在Linux下拥有最⾼的权限,你可以使⽤root⽤户运⾏rm –rf /*命令删除整个系统,⽽Administrator⽤户不允许删除系统⽂件(其实Windows下的最⾼权限⽤户为System,只是Windows限制了使⽤System⽤户登录的⾏为)。
2. 普通⽤户:只能操作⾃⼰⽬录下的⽂件或者经过授权的⽂件,能够登录操作系统。
3. 虚拟⽤户:也叫伪⽤户,⽆法登录操作系统。
这类⽤户的存在主要是为了系统管理的⽅便,满⾜相应的系统进程对于⽂件属主(即权限)的要求。
这类⽤户指向的shell为/sbin/nologin,使⽤该shell的⽤户⽆法登录系统且⽆法通过su命令切换到该⽤户。
1.2、⽤户和组之间的关系在Linux系统下,当⼀个⽤户被创建时,系统将创建⼀个与⽤户同名的组,该⽤户为该组中的唯⼀⽤户。
当然,⼀个⽤户也可以加⼊其他的组。
⽤户和组具有以下⼏种关系:⼀对⼀:即⼀个⽤户可以存在⼀个组中,同时也是该组中的唯⼀成员⼀对多:即⼀个⽤户可以存在多个⽤户组中,那么此⽤户具有多个组的共同权限多对⼀:多个⽤户可以存在⼀个组中,这些⽤户具有和组相同的权限多对多:多个⽤户可以存在多个组中,其实就是上⾯三个对应关系的扩展1.3、⽤户和组的相关配置⽂件1.3.1、/etc/passwd该⽂件是系统的⽤户配置⽂件,是⽤户管理中最重要的⼀个⽂件。
记录了系统中每个⽤户的基本属性,对所有⽤户可读,但只有root⽤户可写。
以下来分析下该⽂件的内容(仅截取⽂件的⼀部分):⽂件中的每⾏内容以冒号分隔,每个字段表⽰的具体含义如下:①:⽤户名②:密码,但是⽤户真正的密码不是保存在这⾥,⽽是在另外⼀个⽂件③:UID,⽤户ID④:GID,⽤户所属的组的ID⑤:⽤户注释⑥:⽤户家⽬录⑦:⽤户的默认shell1.3.2、/etc/shadow该⽂件可以称为/etc/passwd的影⼦⽂件,存储的就是经过加密的⽤户密码。
linux体系结构

linux体系结构linux体系结构从⼤⾯上来说,linux体系结构分为:⽤户空间:C库、⽤户应⽤程序内核空间:系统调⽤接⼝、内核、硬件平台依赖代码具体来讲,linux可划分为5个部分:linux内核、GNU⼯具链、桌⾯环境、应⽤软件linux内核系统调⽤接⼝(SCI层):给应⽤⽤户提供⼀套标准的系统调⽤函数,上层⽤户可以通过这⼀套标准接⼝来访问底层内存管理:进程管理:⽂件管理:设备驱动管理:内存管理1.作⽤:管理物理内存、创建和管理虚拟内存为了使有限的物理内存满⾜应⽤程序对内存的需求,linux采⽤“虚拟内存”的内存管理⽅式实现,实现原理:交换空间:内核在硬盘上化⼀段存储空间来实现虚拟内存,这段存储空间称为“交换空间”页⾯:内存存储单元被分割成很多块,称为“页⾯”页⾯内存表:内核会维护⼀张表,来指明哪些页⾯位于物理内存,那么页⾯位于交换空间换出:物理内存---->交换空间换⼊:交换空间---->物理内存⼯作过程:1、内核将程序运⾏⽤到的页⾯就放到内存⾥,暂时不⽤就放到交换空间中(换出)。
2、当⽤到交换空间的页⾯时,就把它们调到内存中(换⼊),然后把物理内存其他⽤不到的页⾯换出到交换空间。
查看内存#cat /proc/meminfoMemTotal: 1035244 kB #物理内存1GMemFree: 786616 kB #空闲内存700M左右...SwapTotal: 2096472 kB #有2G的交换空间....查看内存使⽤情况#freetotal used free shared buffers cachedMem: 502360 489964 12396 0 53852 283372-/+ buffers/cache: 152740 349620Swap: 1015800 0 1015800共享内存页⾯:创建⼀写共享内存页⾯,⽤于多个进程共享使⽤。
#ipcs -m #查看共享内存页⾯key shmid owner perms bytes nattch status0x00000000 0 rich 600 52228 6 dest#owner:共享内存段的所有者#perms:权限进程管理参见⽂件管理linux内核⽂件管理采⽤虚拟⽂件系统(VFS),隐藏各种⽂件系统的具体细节,为⽂件操作提供统⼀的接⼝。
linux用户和用户组

linux⽤户和⽤户组Linux 是多⽤户多任务操作系统,换句话说,Linux 系统⽀持多个⽤户在同⼀时间内登陆,不同⽤户可以执⾏不同的任务,并且互不影响。
不同⽤户具有不问的权限,毎个⽤户在权限允许的范围内完成不间的任务,Linux 正是通过这种权限的划分与管理,实现了多⽤户多任务的运⾏机制。
因此,如果要使⽤ Linux 系统的资源,就必须向系统管理员申请⼀个账户,然后通过这个账户进⼊系统(账户和⽤户是⼀个概念)。
通过建⽴不同属性的⽤户,⼀⽅⾯可以合理地利⽤和控制系统资源,另⼀⽅⾯也可以帮助⽤户组织⽂件,提供对⽤户⽂件的安全性保护。
每个⽤户都有唯⼀的⽤户名和密码。
在登录系统时,只有正确输⼊⽤户名和密码,才能进⼊系统和⾃⼰的主⽬录。
⽤户组是具有相同特征⽤户的逻辑集合。
简单的理解,有时我们需要让多个⽤户具有相同的权限,⽐如查看、修改某⼀个⽂件的权限,⼀种⽅法是分别对多个⽤户进⾏⽂件访问授权,如果有 10 个⽤户的话,就需要授权 10 次,那如果有 100、1000 甚⾄更多的⽤户呢?显然,这种⽅法不太合理。
最好的⽅式是建⽴⼀个组,让这个组具有查看、修改此⽂件的权限,然后将所有需要访问此⽂件的⽤户放⼊这个组中。
那么,所有⽤户就具有了和组⼀样的权限,这就是⽤户组。
将⽤户分组是 Linux 系统中对⽤户进⾏管理及控制访问权限的⼀种⼿段,通过定义⽤户组,很多程序上简化了对⽤户的管理⼯作。
关于⽤户和⽤户组的命令:groupmems 更改和查看组成员useradd :新建⽤户格式:[root@localhost ~]#useradd [选项] ⽤户名选项含义-u UID⼿⼯指定⽤户的 UID,注意 UID 的范围(不要⼩于 500)。
-d 主⽬⼿⼯指定⽤户的主⽬录。
主⽬录必须写绝对路径,⽽且如果需要⼿⼯指定主⽬录,则⼀定要注意权限;录-c ⽤户⼿⼯指定/etc/passwd⽂件中各⽤户信息中第 5 个字段的描述性内容,可随意配置;说明-g 组名⼿⼯指定⽤户的初始组。
linux运行的7个级别

linux运行的7个级别
在Linux系统中,通常有7个运行级别,被用来定义系统的不同状态和功能。
这些级别被称为0到6级,每个级别都定义了一组不同的服务和功能。
下面是这7个级别的简要说明:
0级:系统关机状态,没有运行任何服务。
1级:单用户模式,用于系统维护和故障排除。
只有一个控制台可用。
2级:多用户模式,没有网络和服务器服务。
可以使用多个控制台。
3级:完全的多用户模式,包括网络和服务器服务,但没有图形界面。
4级:未分配的级别,用户可以根据自己的需要进行自定义配置。
5级:图形界面模式,与3级相似,但包括图形用户界面(GUI)。
6级:系统重启模式,用于系统重启操作。
每个级别都有与之关联的运行级别目录,其中包含特定级别启动时需要运行的脚本和服务。
这些目录通常位于“/etc/rc.d”或“/etc/init.d”下。
用户可以根据需要自定义这些脚本和服务,以满足自己的要求。
《Linux操作系统》第三章用户和用户组

需要说明的是,用户密码位在/etc/passwd文件中均为x,这是因为 在较早的Linux系统版本中,用户的密码直接存放在该文件中,后来出于 安全性的考虑,只要已经设置过密码的账户,在该文件中均将密码位标 记为x,而真正的密码则存放于/etc/shadow配置文件中。
另外,每个用户的ID都是唯一的,其中ID为0的用户会被系统当作管 理员,拥有对系统的绝对控制权,通常情况下只有root用户的UID为0。 换句话说,如果把某个普通用户的UID修改为0,则该用户就变成了管理 员账户。
第3章
用户和用户组
学习目标
了解Linux的用户管理体系。 掌握Linux的添加用户命令。 掌握Linux的用户修改和删除命令。 掌握Linux的添加和删除用户组命令。
知识重点
Linux用户管理命令。 Linux用户组管理命令。
知识难点
Linux批量添加用户。 Linux修改用户状态。
3.1 用户操作
3.1.1 实例一:添加用户
可以看到,passwd文件对所有人都开放读权限,如此一来,如 果将密码直接加密后存放至该文件,则任何人都可以轻易地拿到密码 并使用强字典进行密码破解,从而对服务器的安全造成严重的威胁。 而shadow文件则没有任何权限,即任何人都不能对其进行读、写和 执行操作,但是root用户例外,因为按照Linux的机制,root可以具 有所有权限,换句话说,只有root用户可以对shadow文件进行读/写 操作,这样密码管理就有了更高的安全性。
在/etc/skel目录中新建文件readme.txt并输入内容:
3.1 用户操作
3.1.1 实例一:添加用户
再次新建用户,然 后观察用户家目录中的 文件,命令如下:
第三章Linux用户和权限管理

chmod是Linux下设置linux文件权限的命令,后面的数字 表示不同用户或用户组的linxu权限,一般是三个数字: 第一个数字表示文件所有者的文件权限 第二个数字表示与文件所有者同属一个用户组的其他用户 的文件权限 第三个数字表示其它用户组的文件权限。
linux文件权限分为三种:读(r=4),写(w=2),执行 (x=1) 。 综合起来还有可读可执行(rx=5=4+1)、可 读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。 rwx=7(即二进制111-----十进制7) rw-=6(二进制110-----十进制6) r-x=5(二进制101--------十进制5) -wx=3(二进制011-------十进制3) 774的权限为111 111 101 即rwxrwxr-- 表示此文件夹的所 有者和所有者所属的组有可读可写可执行的权限,而其他 用户只有可读的权限
第三章 Linux用户和权限管理
软件工程学院
大纲
•用户和群组 •权限 •Samba权限配置
【问题的提出】
Geecy软件开发公司即将开始在Linux 系统上进行两个项目的开发。开发人 员David和Peter组成一个小组,负责A 项目的开发;开发人员Jack和Mike组 成另一个小组,负责B项目的开发。
引言
如何管理用户? 如何管理用户分组?
用户及权限
文件“/etc/passwd”以行为单位保存用户的 信息。每行以冒号分隔为7个数据域。每个 数据域的含义是:
a) 用户名。用户登录系统需要使用。 b) 密 码 。 但 由 于 在 安 装 系 统 时 候 使 用 了 影 子 (Shadow)密码的策略(请参考“1.2.4 进入安装 过程”),因此此域都只显示一个特定的字符 “ x” 。 真 正 的 密 码 被 加 密 后 存 放 在 影 子 文 件 “/etc/shadow”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
■ 超级用户: linux 系统中默认的超级用户是 root,其 UID 与 GID 均为 0,root 用户 在每天 linux 操作系统中都是唯一且真实存在的,通过 root 用户可以 登录系统,并且操作系统中任意文件与命令,拥有最高的管理权限。(一 般情况下尽量使用普通用户登录,而不是使用 root 登录,防止权限过 大)
■ 虚拟用户: 这类用户与真实的普通用户有所不同,这类用户最大的特点就是系统安 装后默认就会存在,并且默认情况下是不能登录系统的。它们的存在主
要是满足系统进程对文件属主的需求。在/etc/passwd 文件中看到 uid 在 1-499 之间的用户都是虚拟用户,最后一列内容一般都是 /sbin/nologin,如 bin、nobody 等等。 根据业务的不同,有些系统自带的服务也会禁止开机执行,所以出于安 全考虑,被禁止开机启动的服务对应的虚拟用户也是可以进行删除或者 注释掉的(尽量使用注释,而不是删除,以防万一)。在部署某些服务是 我们也需要创建相应的虚拟用户如:nfs、apache 等等。
[root@m01 ~]# id root uid=0(root) gid=0(root) groups=0(root)
默认在 linux 的系统中,uid 为 0 的用户就是超级用户,但是一般不通 过这样的方式给普通用户提权,而是会通过 sudo 命令,这样可以细致 的对每个命令权限进行分配。 问题:那么如果将一个普通用户的 UID 修改为 0,那这个用户的身份是 什么呢?? [root@m01 ~]# useradd test ==>创建 test 用户 [root@m01 ~]# su - test ==>切换到 test 用户 [test@m01 ~]$ id ==>发现 test 用户的 uid 为 500 uid=500(test) gid=500(test) groups=500(test) [root@m01 ~]# grep test /etc/passwd test:x:500:500::/home/test:/bin/bash [root@m01 ~]# vim /etc/passwd ==>使用 vim 编辑器将 test 用户的 uid 修改为 0 [root@m01 ~]# grep test /etc/passwd test:x:0:500::/home/test:/bin/bash [root@m01 ~]# su - test ==>切换到 test 用户 [root@m01 ~]# whoami ==>发现 test 用户的身份已经是 root 了 root [root@m01 ~]# id ==>uid 显示为 0
Linux 用户体系介绍(用户角色划分) 2018.01
查看可点击 Linux 用户体系介绍(用户角色划分) 更多内容:Linux 常用命令全拼
Linux 系统安全优化配置 Linux 账号基础安全 Linux 根目录结构 Linux 命令详解-top Linux 命令详解-ls Linux 命令详解-ifconfig Linux 命令详解-grep
linux 是一个多用户多任务的系统,这点和 windows 有所不同,正常情 况下 windows 只能让一个用户使用,如果第二个用户远程登录系统时, 第一个用户会被断开。 但 linux 中不会出现这样的情况,它允许同时登录多个用户,并且不会 产生冲突,这就是多用户。 而多任务指的是可以同时执行多个操作,如在 windows 下我们可以一边 下载,一边聊 QQ 玩游戏等等。
与 windows 相同,linux 系统是分角色的,不同的角色拥有不同的权限。 虽然在创建系统的时候,默认创建了管理员用户名称为 root,但是实际 上 linux 中的用户角色是通过 UID 和 GID 识别的,尤其是 UID,系统用 户账号相当于人的名字,是给人看的,而 UID 是系统唯一标识一个账号 的数字相当于人的身份证,是给系统看的。系统只能识别 UID(用户 ID) 与 GID(组 ID)这样的数字。
uid=0(root) gid=500(test) groups=500(test) 也就是说 linux 中任何一个 uid 为 0 的用户均为超级用户 root。
■ 普通用户: 这类用户一般都是由具备相应系统权限的人员添加的,如上文中的 test 这类用户,它们可以登录系统,但仅具备操作自己家目录中文件及目录 的权限,以及进入与浏览相关目录文件的权限(如/etc,/var/log), 但是没有创建、修改、删除等权限。 普通用户 UID 范围:500-65535 普通用户想要获得更大的权限可以通过以下两种方法: 方法一:通过 su 命令切换成拥有更大权限的用户(如 root)。su root。 方法二:通过 sudo 命令进行授权,将相应的命令或权限赋予给普通用 户。但普通用户还是普通用户,不像 su 命令会切换身份。sudo ls /root。
■ linux 中不同用户对应的 uid 说明:
uid 范围|用户身份|具备该 uid 用户的特性 ---|---|--0|超级用户|当用户的 UID 为 0 时,则该用户为超级用户。如果需要添 加一个系统管理员的话,只需要将该用户 UID 修改为 0 即可,当然不建 议这样操作。 1-499|虚拟用户|这个范围的 UID 是保留给系统使用的,防止人为创建 的用户 UID 与系统 UID 之间产生冲突,并没有任何特殊含义。linux 中 UID 除了 0 以外,其他 UID 没有任何区别 500-65535|普通用户|普通用户 UID,当使用 useradd 命令创建用户时, 默认情况下 UID 就是从 500 开始的,当然创建用户时也可以指定 UID。