zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Linux权限管理操作

2023-02-18 16:38:31 时间

文章目录

Linux的权限管理操作

权限概述

权限的基本概念

在多用户计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权利。

在Linux 中分别有读、写、执行权限:

权限针对文件

权限针对目录

读r

表示可以查看文件内容;cat

表示可以(ls)查看目录中存在的文件名称

写w

表示可以更改文件的内容;vim 修改,保存退出

表示是否可以删除目录中的子文件或者新建子目录(rm/touch/mkdir)

执行x

表示是否可以开启文件当中记录的程序,一般指二进制文件(.sh) => 绿色

表示是否可以进入目录中(cd)

注:一般给予目录读权限时,也将会给其执行权限,属于“套餐”组合 可读权限 read => r(简写),可写权限 write => w(简写),可执行权限 excute => x(简写)

为什么要设置权限

1)服务器中的数据价值

2)员工的工作职责和分工不同

3)应对自外部的攻击(挂马)

4)内部管理的需要

Linux用户身份类别

Linux 系统一般将文件权限分为3 类:

read(读)

write(写)

execute(执行)

**谁**对文件有读,写,执行的权限呢? 答:针对三大类用户

user文件拥有者

文件的拥有者:默认情况下,谁创建了这个文件谁就是文件的拥有者。文件的拥有者可以进行更改并不是一成不变的。

裴凯 => linux.txt,默认情况下,裴凯就是linux.txt文件的拥有者

group文件所属组内用户

group所属组内用户代表与文件的所属组相同的组内用户。

比如,裴凯与罗新兴、周卓都同属于一个itops的用户组,罗新兴和周卓就是这个文件的组内用户。

other其他用户

other其他用户代表这些人既不是文件的拥有者,也不是文件所属组内的用户,我们把这些人就称之为other其他用户。

特殊用户root

在Linux操作系统中,root拥有最高权限(针对所有文件),所以权限设置对root账号没有效果。

在Linux系统中,三大类用户也可以拥有简写形式user(u)、group(g)、other(o)

普通权限管理

ls -l命令查看文件权限

基本语法:

# ls -l
或
# ll

备注:ll命令是红帽以及CentOS系统特有的一个命令,在其他操作系统中可能并不支持

文件类型+权限解析

Linux一共有7种文件类型,分别如下: -:普通文件 d:目录文件 l: 软链接(类似Windows的快捷方式)

(下面四种是特殊文件) b:block,块设备文件(例如硬盘、光驱等) p:管道文件 c:字符设备文件(例如猫(上网猫)等串口设备) s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)

文件或文件夹权限设置(字母)

基本语法:ch = change mod简单理解权限

# chmod [选项] 权限设置 文件或目录的名称
选项说明:
-R :递归设置,针对文件夹(目录)

重点:字母设置并不难,重点看三方面 第一个:确认要给哪个身份设置权限,u、g、o、ugo(a) 第二个:确认是添加权限(+)、删除权限(-)还是赋予权限(=) 第三个:确认给这个用户针对这个文件或文件夹设置什么样的权限,r、w、x

案例:给readme.txt文件的拥有者,增加一个可执行权限

# chmod u+x readme.txt

案例:把readme.txt文件的拥有者的可执行权限去除

# chmod u-x readme.txt

案例:为readme.txt中的所属组内用户赋予rw权限

# chmod g=rw readme.txt

案例:给shop目录及其内部的文件统一添加w可写权限

# chmod -R ugo+w shop
或
# chomd -R a+w shop

案例:给shop目录设置权限,要求拥有者rwx,组内用户r-x,其他用户r-x

# chmod -R u=rwx,g=r-x,o=r-x shop

文件或文件夹权限设置(数字)

经常会在技术网站上看到类似于# chmod 777 a.txt 这样的命令,这种形式称之为数字形式权限。

文件权限与数字的对应关系,我们会发现没有7这个数字

权限

对应数字

意义

r

4

可读

w

2

可写

x

1

可执行

-

0

没有权限

777 :

第一个数字7,代表文件拥有者权限

第二个数字7,代表文件所属组内用户权限

第三个数字7,代表其他用户权限

rwx = 4 + 2 + 1 = 7

rw = 4 + 2 = 6

rx = 4 + 1 = 5

案例:给readme.txt设置权限,文件的拥有者rwx,组内用户rw,其他用户r

rwx = 7
rw = 6
r = 4
# chmod 764 readme.txt

案例:给shop文件夹设置777权限

# chmod -R 777 shop

奇葩权限

问题:用超级管理员设置文档的权限命令是# chmod -R 731 shop,请问这个命令有没有什么不合理的地方?

答:731权限进行拆解

7 = 4 + 2 + 1 = rwx

3 = 2 + 1 = wx

1 = x

问题在权限731中的3权限,3表示写+执行权限,但是写又必须需要能打开之后才可以写,因此必须需要具备可读权限,因此此权限设置不合理。

注:实际工作中,各位小伙伴在设置权限时一定不要设置这种"奇葩权限",一般情况下,单独出现2、3的权限数字一般都是有问题的权限。

练习题

1)使用root 用户设置文件夹/root/shop 的权限为:属主全部权限,属组拥有读和执行权限,其他用户没有权限,请使用数字权限的形式设置

rwx=7,rx=4+1=5,0
# chmod -R 750 /root/shop

2)请置文件/root/readme.txt 的权限,权限要求为:

    属主拥有**全部**权限,属组要求可以**读写**,其他用户**只读**,要求使用数字形式;
rwx=7,rw=4+2=6,r=4
# chmod 764 /root/readme.txt

3)请设置/root/email.doc权限,权限要求只有属主可以读写,除此之外任何人没有权限;

rw=6,0,0
# chmod 600 /root/email.doc

特殊权限说明

在Linux 中,如果要删除一个文件,不是看文件有没有对应的权限,而是看文件所在的目录是否有写权限,如果有才可以删除(同时必须具备执行权限)。

/shell/readme.txt
我们想删除readme.txt文件,必须要对shell目录具有可写权限,否则文件无法删除