今天给伙伴们分享一下Linux 基本权限,希望看了有所收获。
我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!
如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相关文档。爱运维,爱生活。
一、权限基本概述
1、什么是权限
- 可以把它理解为操作系统对用户能够执行的功能所设立的限制,主要用于约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权力。
2、为什么要有权限
- 因为系统中不可能只存在一个root用户,一定会存在多个用户,为了保护每个登陆用户的隐私和工作环境,所以就有了权限。(比如三个租客合租同一个房子,a租客要使用b租客的肥皂,那这个事情??)
3、权限与用户之间的关系
-
在Linux系统中,针对文件定义了三种身份,分别是
-
属主(owner)、属组(group)、其他人(others),
-
每一种身份又对应三种权限,分别是
-
可读(readable)、可写(writable)、可执行(excutable)。
用户对文件资源,有三种角色ugo,当一个用户访问文件流程如下
- 判断用户是否为文件所有者,如果是则按所有者的权限进行访问
- 判断用户是否为文件所有组成员,如果是则按组的权限进行访问
- 如果不是所有者,也不是该文件所属组,则按匿名权限进行访问
4、权限中的rwx的含义
当我们使用ls -l查看一个文件的详细属性时,能看到每个文件都有一个9位基本权限位,比如: rwxr-xr-x
其中每三位字符为一组,分别表示属主权限位,属组权限位,匿名权限位。linux中基本权限位则是使用这9位字符来表示,主要控制文件属主(User)、属组(Group)、其他用户(Other)
字母 r(read) w(write) x(execute) -(没有权限)
含义 读取权限 写入权限 执行权限 没有权限
对应权限 4 2 1 0
目录 r – list 获取目录文件列表 w 创建,删除,修改文件/目录属性信息 x 能够进入目录 相当于cd命令(有x权限,cd命令才能生效)
文件 r --cat 获取文件内容, w 修改,添加,删除 文件内容 x 执行权限(可以把文件内容加载内存)
PS: 如果权限位不可读、不可写、不可执行,则全部使用-作为占位符表示。
二、权限设置示例
文件示例:
rwxrw-r– alice hr file1.txt
Q1: alice对file1文件拥有什么权限?
Q2: 前提:jack 属于 hr 组 jack 对 file1.txt 文件有什么权限?
Q3: tom 对 file1.txt 文件有什么权限?
1、为什么要设定权限,我们又如何修改一个文件的权限?
Q1: 为什么要设定权限,可以赋于某个用户或组 – 能够以何种方式 – 访问某个文件
Q2: Linux下使用chmod命令来变更权限,root用户可以变更所有文件的权限,而普通用户仅能变更属于自己的文件。
2、使用chmod设定权限示例
方式一: 模式授权 user group other
chmod a+x file chmod u+r 增量追加权限
- 用=号全量授权,是授权的全部权限
u=w u=rwx
- 精确授权,不关注历史
a all a=rw 666 a=rwx 777 a=r 444
- 追加授权,在已有的权限基础之上
u+x a+w
- 模式授权
[root@qfedu.com ~]# touch file #创建文件
[root@qfedu.com ~]# chmod a=rwx file #给所有人添加读写执行权限
[root@qfedu.com ~]# chmod a=-rwx file #取消所有的权限
[root@qfedu.com ~]# chmod u=rwx,g=rw,o=- file #属主读写执行,属组读写,其他人无权限
[root@qfedu.com ~]# chmod ug=rwx,o=r file #属主属组读写执行,其他人读权限
[root@qfedu.com ~]# ll file
-rwxrw-r-- 1 root root 0 Apr 13 03:29 file
方式二、number
#选项: -R递归修改
[root@qfedu.com ~]# touch file
[root@qfedu.com ~]# chmod 644 file
[root@qfedu.com ~]# chmod 600 file
[root@qfedu.com ~]# ll file
-rw------- 1 root root 0 Apr 13 03:29 file#针对目录设定权限
[root@qfedu.com ~]# mkdir dir
[root@qfedu.com ~]# chmod 777 dir/ #修改目录允许所有人访问
[root@qfedu.com ~]# chmod -R 755 dir/ #修改目录及子目录权限
[root@qfedu.com ~]# ll -d dir/
drwxr-xr-x 2 root root 6 Apr 13 03:34 dir/
3、权限设置案例
-
针对 hr 部门的访问目录/home/hr 设置权限,要求如下:
-
root 用户和 hr 组的员工可以读、写、执行 7 770
-
其他用户没有任何权限
[root@edenluo.com ~]# groupadd hr
[root@edenluo.com ~]# useradd hr01 -G hr
[root@edenluo.com ~]# useradd hr02 -G hr
[root@edenluo.com ~]# mkdir /home/hr
[root@edenluo.com ~]# chgrp hr /home/hr
[root@edenluo.com ~]# chmod 770 /home/hr
[root@edenluo.com ~]# ll -d /home/hr
drwxrwx--- 2 root hr 6 Apr 13 03:26 /home/hr
如果有版帮助,帮忙免费的关注一下**公众号「想吃西红柿」「云原生运维实战派」**后续会有更多实用的运维技术分享给伙伴们,您的关注就是我最大的成就。