Linux的权限管理操作
linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险。所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要。Linux系统一般将文件可读/写访问的身份分为3个类别: owner、group、others, 且3种身份分别有read、write、 execute 等权限。
1、权限介绍
什么是权限?
在多用户计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权力,像是文件夹、特定系统指令的使用或存储量的限制。
2、身份介绍
Owner身份(文件所有者,默认为文档创建者)
由于Linux是多用户、多任务的操作系统,因此可能常常有多人同时在某台主机上工作,但每个人均可在主机上设置文件的权限,让其成为个人的“私密文件”,即个人所有者。因为设置了适当的文件权限,除本人(文件所有者)之外的用户无法查看文件内容。例如某个MM给你发了一封Email情书,你将情书转为文件之后存档在自己的主文件夹中。为了不让别人看到情书的内容,你就能利用所有者的身份去设置文件的适当权限,这样,即使你的情敌想偷看你的情书内容也是做不到的。
root用户修改文件的所有者及组
chown 文件拥有者(用户):组 要修改的文件
选项:
-R:递归将文件夹中的所有文件(目录)设置为文件拥有者及组用户
Group身份(与文件所有者同组的用户)
在进行团队协作的时侯非常有用。例如主机上有A、B两个团体,A中有a1,a2,a3三个成员,B中有b1,b2两个成员,这两个团体要共同完成一份报告F。由于设置了适当的权限,A、B团体中的成员都能互相修改对方的数据,但是团体C的成员则不能修改F的内容,甚至连查看的权限都没有。同时,团体的成员也能设置自己的私密文件,让团队的其它成员也读取不了文件数据。在Linux中,每个账户支持多个用户组。如用户a1、b1 即可属于A用户组,也能属于B用户组。【主组和附加组】
Others身份(其他人)
相对概念,其它用户
root用户(超级用户)
在用户和用户组之外还有一个超级用户,该用户就是 root,这个用户类似于 windows 中的管理员,可以针对系统中的任何文件做出更改,在具体操作时要谨慎使用。管理着普通用户。
Linux 的权限介绍
要设置权限,就需要知道文件的一些基本属性和权限的分配规则。在Linux中,Is 命令常用来查看文件的属性,用于显示文件的文件名和相关属性。
ll 等价于ls -l
文件列表信息分为:文件类型、权限、链接数、所属用户、所属用户组、文件大小、最后修改时间、文件名。
linux一共有7种文件类型,分别如下:
-:普通文件
d:目录文件
l: 软链接(类似Windows的快捷方式)
(下面四种是特殊文件)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如猫等串口设备)
s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)
文件权限对应关系
Linux中存在用户、用户组和其他人概念,各自有不同的权限,对于一个文件来说,其权限
具体分配如下:
权限分配中,均是rwx的三个参数组合,且位置顺序不会变化。没有对应权限就用-代替.我们看上面截图第一个文件权限信息,每三位为一组
rwxr-xr-x 5 root root 18 Apr 27 2020 fire
rwx:代表文件所有者(u表示)权限,这里是root,root对该文件拥有读写执行权限。
r-x : 代表所属组(g表示)的权限,这里所属组拥有对该文件读和执行的权限。
r-x : 代表其他人(o表示)的权限,这里和上面权限一样。
当然我们也可以修改文件的权限。 linux中chmod命令就可以用来变更文件或目录的权限。
语法: chmod (选项)模式 文件名
常用选项: -r
注意:如果想要给文档设置权限,操作者要么是root用户,要么就是文档的所有者。
1、字母形式
选项 字母 说明
身份 u 用户,代表文件拥有者
身份 g 用户组
身份 o 其它用户
身份 a all
操作 + 增加权限
操作 - 减少权限
操作 = 确定权限
权限 r 可读
权限 w 可写
权限 x 可执行
2、数字形式
数值 权限 目录列表
0 没有权限 ---
1 可执行 --x
2 可写 -w-
3 可写,可执行 -wx
4 可读 r--
5 可读可执行 r-x
6 可读可写 rw-
7 可读可写可执行 rwx
总结下,权限对文件及目录的作用
对于文件:
r : 可以读取文件内容(比如命令 cat more head tail)。
w : 可以编辑文件(比如命令 vim echo ),但是不能删除文件,因为文件名没有放在自己的文件空间,而是放在了上一级的目录空间下。
x : 可以执行。
对于目录:
r:可以查询目录下的文件(比如命令ls ll)。
w:具有修改目录结构的权限,比如新建文件和目录,删除此目录下文件和目录,重命名此目录下文件和目录,剪切和复制(比如命令cp mv touch rm)。
x:目录有执行权限但是不能运行,可以进入目录(cd命令)。
对文件来说最高权限是x,对于目录来说最高权限是w,一般给目录赋予权限0 ,5(rx),7(rxw),赋予4 ,1, 6都是没有意义的。对于文件能否删除,首先要对目录具有执行权限,同时对文件也具有执行权限。
sudo权限
sudo(switch user do)是linux系统管理指令,操作对象是系统命令。是允许让普通用户执行部分或者全部的系统管理员才能执行的命令的一个工具,限制某个普通用户有限的命令有root权限(比如说重启,备份,添加用户,ifconfig命令等)。sudo 执行时候不需要知道超级管理员的密码。
sudo是超级用户赋予普通用户权限才能使用,sudo为系统管理员提供配置文件,使用visudo命令(这个命令可以防止两个用户同时修改它,也能进行有限的语法检查)可以打开该配置文件: