用户与组账号
- 一个用户可以隶属于不同的组
- 一个组可以包含若干用户
- 系统通过账户对用户与组进行管理
账号
- Linux系统账号分为用户账号和组账号
- 用户账号:每个系统的操作者拥有一个用户账号,每个用户账号具有唯一的标识UID和自己所属组的标识GID。
- 组账号:一组用户账号的集合。通过使用组账号,可以设置一组用户对文件具有相同的权限,管理员通常以组为单位分配对资源的访问权限。
用户
- Linux中包括几种不同的用户
- 超级用户:root为默认超级用户,属于超级用户组,其UID、GID都固定为0
- 普通用户:是由root创建的,每个普通用户在自己的主目录下具有完全权限,普通账号的UID和GID范围通常为1000-60000。
- 伪用户:也称为程序用户,不允许登录系统,只用于某个程序正常运行。例如bin和daemon这些后台程序都有各自的程序用户。其UID和组GID范围通常为1-999。
- 每个用户账号都会有个基本组,默认与账号名称相同,为账号额外加入的组为附加组。
用户账号配置文件/etc/password
- Linux所有的用户账号数据都记录在/etc/passwd文件中,/etc/passwd 文件是一个纯文本文件,该文件的每一行存储一个用户的账号信息,每行采用了相同的格式:
name:password:uid:gid:comment:home:shell
![在这里插入图片描述](https://img-blog.csdnimg.cn/3ecb415acb8f4828ad5e04831f6a1513.png
用户口令文件/etc/shadow
- Linux系统中,口令不直接保存在passwd文件中,通常将passwd文件中的口令字段使用一个”x“来代替,将/etc/shadow作为真正的口令文件,用于保存个人口令在内的数据。
- 当然shadow文件不能被普通用户读取,只有超级用户才有权读取。
- /etc/shadow文件是根据/etc/passwd文件产生的,格式比较接近,一行存储一个用户信息,包括9个部分,每部分之间用”:“分割
用户登录主机获取shell环境
- Linux系统用户在计算机中利用tty1~tty6的终端提供的登录接口,并输入账号和密码才能登陆。
- 先查找/etc/passwd里面是否有输入的帐号,如果没有则退出,如果有,则将该账号对应UID和GID读出来,该账号的home目录与shell设置也一并读出来
- 核对密码表。进入/etc/shadow里面找出对应的账号与UID,然后核对输入的密码与里面的密码是否相符
- 如果账户和密码都OK,进入shell管理阶段
组账号配置文件
- 组账号配置文件保存在两个文件中
- 组账号文件/etc/group
- 每一行表示一个组的信息,每行格式group_name:password:gid:user_list
- 分别表示:组名、组密码、GID、组成员列表。
gpasswd -a student wxdh #将用户"student"加入到"wxdh"组中
有效用户组
-
如果以student用户身份登录,查询该用户支持的用户组
groups #查询本用户支持的用户组
-
有效用户组切换
newgrp wxdh
组账号配置文件
- 组账号口令文件/etc/gshadow
- 每一行表示一个组账号的口令信息,每一行表示一个组的信息,每行格式:group_name:admin,admin,…:user_list
- 分别表示:组名、组密码(一般情况下,没有必要设置)、组管理者、组成员列表。
账号管理命令
- 用户和组账户的管理是LInux系统工作中最重要的一部分。
- 在进行账号管理时需要以root身份进行操作
- 用户和组账号管理包括:
- 账号的创建
- 删除
- 修改
- 授权
- sudo
- 相对于su需要了解新切换的用户密码,sudo的执行仅需要自己的密码即可。但并非所有人都能执行sudo,仅规范到/etc/sudoers内的用户才能进行sudo命令
用户与文件系统空间
- Linux是多人多任务环境,管理员应该适当限制用户的硬盘容量,以妥善分配系统资源。
- 为了保证用户的独立性,每个用户都有自己的使用空间或目录。
- 系统可以控制用户对磁盘的使用。
主目录
- 用户主目录,有时也称为工作目录,每个用户都有自己的主目录,不同用户的主目录一般互不相同。例如,默认情况下,用户wxdh的主目录就是/home/wxdh目录。
- 用户刚登陆时,其工作目录便是主目录,通常与用户的登录名相同。可以通过”~“字符来引用。
- 修改主目录方法
vi /etc/passwd usermod -d /usr/newfolder -u uid
用户与磁盘空间
- 系统管理员可以控制用户使用的硬盘空间的大小。
- 用户磁盘空间的限制是以文件系统(分区)为单位,而不理会用户文件放在该文件系统中的哪个目录。
- quota(磁盘限额)可以从两个方面来限制用户
- 用户所能够支配的索引节点数
- 用户可以存取的硬盘分区数
文件权限管理
- 文件权限管理是文件管理与用户管理的结合
- 分为两部分
- 常用的文件权限管理
- 特殊的权限管理
文件权限
- 文件权限是指对文件的访问权限,包括对文件的读、写、删除、执行等。
- 文件的权限分为三组
- 文件拥有者权限
- 文件所属群组权限
- 其他用户的权限
- 可以设置r、w、x,分别表示读,写,执行权限
文件权限示例
- 第一列显示文档类型与执行权限,由十个字符组成,分为4个部分:
- 第一部分,”d“表示目录
- 第二部分,对文档所有者权限的设定,“表示用户对此目录有读、写和执行的所有权限”
- 第三部分,对文档所属用户组权限的设定
- 第四部分,对文档拥有者之外的其他用户权限的设定
改变属主和属组
- 改变属主可以用chown命令,一般语法为:
chown [-R] 用户名称 文件或目录 chown [-R] 用户名称:用户组名称 文件或目录
改变访问权限
chmod用于改变文件或目录的访问权限
有两种方法
-
方法一:字符设定法
chmod [who] [+ | - | =] [mode] 文件名- Who:可以是下面字母中的任何一个或者它们的组合。
- u 表示“用户”,即文件或目录的所有者。
- g 表示“用户组”,即文件或目录所属的用户组。
- o 表示“其它用户”。
- a 表示“所有用户”。它是系统默认值。
- 操作符号含义如下:
- “+”表示添加某个权限。
- “-”表示取消某个权限。
- “=”表示赋予给定的权限,同时取消文档以前的所有权限。
- mode表示可以执行的权限,可以是“r”(只读)、“w”(可写)和“x”(可执行),以及它们的组合。
- 文件名可以是以空格分开的文件列表,支持通配符。
chmod u=rwx g, o=r hello.sh
- Who:可以是下面字母中的任何一个或者它们的组合。
-
方法二:数字设定法
- chmod abc文件名
- 数字设定法:
- 0表示没有任何权限
- 1表示有可执行权限
- 2表示有可写权限
- 4表示有可读权限
chmod 644 hello.sh
文件特殊权限
Selinux
SeLinux安全上下文
- Selinux系统中的每一个进程与对象都会记录一条安全上下文
- Selinux启动之后,如果要查看文件和进程安全上下文,可使用以下命令
id -Z #查看账号安全上下文 ls -Z #查看文件安全上下文 ps -Z #查看进程安全上下文
进程与程序
- 【执行一个程序或命令】就可以触发一个事件获取一个PID
- 触发后加载到内存中成为一个进程。为了让OS可以管理这个进程,进程会给予执行者权限/属性等参数,以及进程所需要的脚本和数据
- 针对用户进程,又可以分为交互进程、批处理进程和守护进程三类。
- 交互进程:由一个shell终端启动的进程,在执行过程中,需要与用户进行交互操作,可以运行于前台,也可以运行在后台。
- 批处理进程:该进程是一个进程集合,负责按顺序启动其他的进程。
- 守护进程:守护进程是一直运行的一种进程,经常在linux系统启动时启动,在系统关闭时终止。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。例如httpd进程,一直处于运行状态,等待用户的访问。还有经常用的crond进程,这个进程类似与windows的计划任务,可以周期性的执行用户设定的某些任务。
进程管理
- ps 查看进程
- ps aux 查看系统所有进程
- top 动态查看进程变化
- pstree 查看进程树
- kill 杀死进程
- nice renice 调整进程优先级
作业
-
(单选题)下面( )文件与用户组帐号有关。
A. /etc/passwd
B. /etc/shadow
C. /etc/gshadow
D. /etc/gpasswd
正确答案: C -
(单选题)下面关于passwd命令说法不正确的是( )。
A. 普通用户可以利用passwd命令修改自己的密码
B. 超级用户可以利用passwd命令修改自己和其他用户的密码
C. 普通用户不可以利用passwd命令修改其他用户的密码
D. 普通用户可以利用passwd命令修改自己和其他用户的密码
正确答案: D -
(单选题)删除用户使用的命令是( ) 。
A. delusr
B. userdel
C. usrdel
D. delete user
正确答案: B -
(单选题)默认情况下管理员创建了一个用户,就会在( )目录下创建一个用户主目录。
A. /usr
B. /home
C. /root
D. /etc
正确答案: B -
(单选题)默认情况下,root用户属于( )用户组。
A. user
B. admin
C. root
D. system
正确答案: C
10分 -
(单选题)Linux文件权限一共10位长度,分成四段,从左到右第三段表示的内容是( )。
A. 文件类型
B. 文件所有者的权限
C. 文件所有者所在组的权限
D. 其他用户的权限
正确答案: C -
(单选题)文件exer1的访问权限为rw-r–r–,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是( )。
A. chmod a+x,g+w exer1
B. chmod 765 exer1
C. chmod o+x exer1
D. chmod g+w exer1
正确答案: A -
(单选题)某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为( )。
A. 467
B. 674
C. 476
D. 764
正确答案: D -
(单选题)以长格式列目录时,若文件test的权限描述为:drwxrw-r–,则文件test的类型以及文件主的权限是( )。
A. 目录文件、读写执行
B. 目录文件、读写
C. 普通文件、读写
D. 普通文件、读
正确答案: A -
(单选题)
chmod中通过指定“ugoa”可以控制哪些用户对某文件(目录)的权限可以被改变,其中“a”表示:( )。
A.
文件的所有者
B.
其他组的用户
C. 与文件所有者同组的用户
D. 所有用户