一、组管理
在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=rw
6,本组人可以读g=r
4,其它组没有任何权限o
0。
(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