一、组管理
在linux中的每个用户必须属于一个组,不能独立于组外。组信息会存放在/etc/group中。
1.1 文件所有者
文件的所有者一般为文件的创建者。但也可以通过指令修改文件所有者。
| 查看文件所有者指令 | ls -ahl |
![]() |
|---|---|---|
| 修改文件所有者指令 | chown 用户名 文件名 |
![]() |
1.2 组的创建与修改
| 创建组 | group 组名 |
![]() |
|---|---|---|
| 修改文件所在组 | chgrp 新组名 文件名 |
![]() |
| 改变用户所在组 | usermod -g 组名 用户名改变用户所在组;usermod -d 目录名 用户名 改变用户登录的初始目录 |
![]() |
二、权限管理
这里的权限,指的是文件或目录的权限。使用ls -l查看ok.txt文件的信息如下,下面对此信息做详细介绍。

①- ②rw- ③r--④r--. ⑤1 ⑥root ⑦root ⑧0 ⑨5月 21 23:16 ⑩ok.txt
| ①文件类型 | ②文件所有者的权限 | ③与文件所有者同组的其他用户的用户权限 | ④不与文件所有者同组的其他用户的用户权限 | ⑤number | ⑥文件所有者 | ⑦文件所在组 | ⑧文件大小(字节) | ⑨文件最后的修改时间 | ⑩文件名 |
|---|
权限:r读权限,w写权限,-无权限
第①位确定文件类型:(d目录, -普通文件,l软连接,c字符设备,b块文件,x可执行文件)
第⑤位,如果是文件:显示硬链接数;是目录:显示子目录个数。
第⑧位,如果是文件:显示文件大小;是目录:显示4096。
注意:这些权限作用在目录和作用在文件上是不完全相同的。
2.2 修改权限
u:拥有者,g:所在组,o:其他用户,a:所有人(u,g,o的总和)
r=4,w=2,x=1,rwx=7
方法一:使用+、-、=变更权限;方式二:通过数字变更权限
| 方式一 | 方式二 | 说明 |
|---|---|---|
chmod u=rwx,g=rx,o=x 文件目录名 |
chmod 751 |
给目录拥有者rwx权限,所在组rx权限,其他用户x权限 |
chmod o+w 文件目录名 |
给文件的其他用户增加一个w权限 | |
chmod a-x 文件目录名 |
给所有的用户都减掉一个x权限 |
2.3 修改文件所有者
chown newowner file |
改变文件的所有者 |
|---|---|
chown -R newowner file |
递归改变文件file目录下所有文件的所有者 |
chown newowner:newgroup file |
同时改变用户的所有者和所有组 |
三、权限实践案例
存在police(警察组)和bandit(土匪组),警察有A和B,土匪有C和D,
要求:
(1)创建police(警察组)和bandit(土匪组)
(2)创建用户ABCD。
(3)用户A创建一个hello.txt文件,自己可以读写u=rw6,本组人可以读g=r4,其它组没有任何权限o0。
(4)用户A修改该文件,让其它组人可以读o=r, 本组人可以读写g=rw。
(5)C投靠警察,查看看是否可以读写。
代码实践:
(1)
[root@fcal ~]# groupadd police
[root@fcal ~]# groupadd bandit
(2)
[root@fcal ~]# useradd -g police A
[root@fcal ~]# useradd -g police B
[root@fcal ~]# useradd -g bandit C
[root@fcal ~]# useradd -g bandit D
(3)
[A@fcal ~]$ ls -l
总用量 4
-rw-r--r--. 1 A police 6 5月 22 07:25 hello.txt
[root@fcal ~]# su - A
[A@fcal ~]$ chmod 640 hello.txt
(4)
[A@fcal ~]$ ls -l
-rw-r-----. 1 A police 6 5月 22 07:25 hello.txt
[A@fcal ~]$ chmod o=r,g=rw hello.txt
[A@fcal ~]$ ll
总用量 4
-rw-rw-r--. 1 A police 6 5月 22 07:25 hello.txt
(5)
[root@fcal ~]# usermod -g police C
[root@fcal ~]# id C
uid=503(C) gid=503(police) 组=503(police)
此时C并不能访问同组成员的目录,仍然需要手动更改成员目录的权限(更改后需要重新登录)
四、rpm包管理
rpm包介绍:rpm是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。生成具有.rpm扩展名的文件,RPM(RedHat Package Manager,RedHat软件包管理工具)类似windows的setup.exe安装程序。Linux的分发版本都有采用(suse,redhat,centos等),几乎是公认的行业标准了。
rpm包的简单查询指令:rpm -qa | grep firfox(qa代表查询所有,grep代表过滤;查询是否有火狐)

| rpm包的其它查询指令 | 说明 |
|---|---|
rpm -qa(一般配合grep和more使用) |
查询所安装的所有rpm软件包 |
rpm -q 软件包名 |
查询软件包是否安装 |
rpm -qi 软件包名 |
查询软件包信息 |
rpm -ql 软件包名 |
查询软件包安装了哪些文件,目录在哪 |
rpm -qf 文件全路径名 |
查询文件所属的软件包 |
卸载rpm包
基本语法:rpm -e rpm包名称。
删除firefox的rpm包

细节问题:如果其它软件包依赖于要卸载的软件包,卸载时会产生错误信息。此时可以通过
rpm -e -nodeps rpm包名称强制删除,但不推荐。
安装rpm包
基本语法:rpm -ivh rpm包全路径名称(i安装,v提示,h进度条)
安装firefox的rpm包

五、yum包管理
yum介绍:Yum是一个Shell前端软件包管理器。基于rpm包管理,能够从指定的服务器自动下载rpm包并安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
基本指令:
- 查询yum服务器是否有需要安装的软件:
yum list | grep xx软件列表 - 安装指定的yum包:
yum install xxx 下载安装
转载:https://blog.csdn.net/weixin_43691058/article/details/106258459




