1.权限概述

1.1.什么是权限?

我们可以把它理解为操作系统对用户能够执行的功能所设立的限制,主要用于约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权⼒。

1.2.为什么要有权限?

因为系统中不可能只存在⼀个root用户,⼀定会存在多个用户,为了保护每个登陆用户的隐私和⼯作环境,所以就有了权限。(比如三个租客合租同⼀个房子,a租客要使用b租客的肥皂,那这个事情??)

1.3.权限与用户之间的关系?

在Linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others),每⼀种身份⼜对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。



对文件资源,有三种⻆⾊ugo,当⼀个用户访问文件流程如下

1) 判断用户是否为文件所有者,如果是则按所有者的权限进行访问

2) 判断用户是否为文件所有组成员,如果是则按组的权限进行访问

3) 如果不是所有者,也不是该文件所属组,则按匿名权限进行访问

1.4.权限中的rwx分别代表什么含义?

当我们使用ls -l查看⼀个文件的详细属性时,能看到每个文件都有⼀个9位基本权限位,比如:rwxr-xr-x 其中每三位字符为⼀组,分别表示属主权限位,属组权限位,匿名权限位。

linux中基本权限位则是使用这9位字符来表示,主要控制文件属主(User)、属组(Group)、其他用户(Other)

字⺟ 含义 对应权限
r(read) 读取权限 4
w(write) 写入权限 2
x(execute) 执行权限 1
-(没有权限) 没有权限 0

PS: 如果权限位不可读、不可写、不可执行,则全部使用-作为占位符表示。

2.权限设置示例

文件示例: rwxrw-r-- alice hr file1.txt

Q1: alice对file1文件拥有什么权限?

Q2: jack 对 file1.txt 文件有什么权限? 前提:jack 属于 hr 组

Q3: tom 对 file1.txt 文件有什么权限?

2.1.为什么要设定权限,我们⼜如何修改⼀个文件的权限?

Q1: 为什么要设定权限,可以赋于某个用户或组 -- 能够以何种⽅式 -- 访问某个文件

Q2: Linux下使用chmod命令来变更权限,root用户可以变更所有文件的权限,而普通用户仅能变更属于自己的文件。

2.2.使用chmod设定权限示例

⽅式⼀: ugo

[root@bgx   ~]#    touch   file    #创建文件
[root@bgx ~]# chmod a=rwx file #给所有人添加读写执行权限
[root@bgx ~]# chmod a=-rwx file #取消所有的权限
[root@bgx ~]# chmod u=rwx,g=rw,o=- file #属主读写执行,属组读写,其他人无权限
[root@bgx ~]# chmod ug=rwx,o=r file #属主属组读写执行,其他人读权限
[root@bgx ~]# ll file
-rwxrw-r-- 1 root root 0 Apr 13 03:29 file

⽅式⼆、number

#选项:    -R递归修改
[root@bgx ~]# touch file
[root@bgx ~]# chmod 644 file
[root@bgx ~]# chmod 600 file
[root@bgx ~]# ll file
-rw------- 1 root root 0 Apr 13 03:29 file
#针对目录设定权限
[root@bgx ~]# mkdir dir
[root@bgx ~]# chmod 777 dir/ #修改目录允许所有人访问
[root@bgx ~]# chmod -R 755 dir/ #修改目录及子目录权限
[root@bgx ~]# ll -d dir/
drwxr-xr-x 2 root root 6 Apr 13 03:34 dir/

2.3.权限设置案例

针对 hr 部⻔的访问目录/home/hr 设置权限,要求如下:

1.root 用户和 hr 组的员⼯可以读、写、执行

2.其他用户没有任何权限

[root@bgx   ~]#    groupadd    hr
[root@bgx ~]# useradd hr01 -G hr
[root@bgx ~]# useradd hr02 -G hr
[root@bgx ~]# mkdir /home/hr
[root@bgx ~]# chgrp hr /home/hr[root@bgx ~]# chmod 770 /home/hr
[root@bgx ~]# ll -d /home/hr
drwxrwx--- 2 root hr 6 Apr 13 03:26 /home/hr

3.权限设置案例

在Linux中权限对文件和对目录的影响是有不同区别的。

权限 对文件的影响 对目录的影响
读取权限(r) 具有读取\阅读文件内容权限 具有浏览目录及子目录
写入权限(w) 具有新增、修改文件内容的权限 具有增加和删除目录内文件
执行权限(x) 具有执行文件的权限 具有访问目录的内容(取决于目录中文件权限)

文件权限实验案例:

#1.新建文件,并添加内容⾄文件中,默认文件匿名用户仅有读权限
[root@xuliangwei ~]# echo "date" > filename
[root@xuliangwei ~]# ll filename
-rw-r--r-- 1 root root 5 Jan 24 08:24 filename #2.切换bgx普通用户
[root@xuliangwei ~]# su - bgx #3.对文件拥有读取的权限,但bgx用户对文件没有执行和删除的权限
[bgx@xuliangwei ~]$ cat /root/filename
date #4.使用root增加x执行权限
[root@xuliangwei ~]# chmod o+x /root/filename
[root@xuliangwei ~]# ll /root/filename
-rw-r--r-x 1 root root 5 Jan 24 08:24 /root/filename #5.测试x权限是否真的能执行该文件
[bgx@xuliangwei ~]$ /root/filename
Wed Jan 24 08:28:34 EST 2018 #6.增加w执行权限
[root@xuliangwei ~]# chmod o+w /root/filename
[root@xuliangwei ~]# ll /root/filename
-rw-r--rwx 1 root root 5 Jan 24 08:24 /root/filename #7.测试执行权限
[bgx@xuliangwei ~]$ vim /root/filename

PS: 总结rwx对文件的影响

读取权限(r)具有读取\阅读文件内容权限

1.只能使用查看类命令cat、head、tail、less、more

写入权限(w)具有新增、修改文件内容的权限

1.使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容

2.使用echo命令重定向的⽅式可以往文件内写入数据,>>可以进行追加

3.不能删除文件,因为删除文件看的不是文件的属性,需要看上级目录是否有w的权限

执行权限(x)具有执行文件的权限

1.执行权限什么用都没有

2.如果普通用户需要执行文件,需要配合r权限


目录权限实验案例:

#示例1:   创建目录,并在该目录下创建文件,匿名用户对目录没有w权限,对文件有777权限
[root@xuliangwei ~]# mkdir /dirname
[root@xuliangwei ~]# echo "test" >> /dirname/filename
[root@xuliangwei ~]# chmod 777 /dirname/filename #普通用户验证权限,能正常查看,但无法删除[奇怪]
[bgx@xuliangwei ~]$ cat /dirname/filename
test
[bgx@xuliangwei ~]$ rm -f /dirname/filename
rm: cannot remove ‘/dirname/filename’: Permission denied #示例2: 设置目录777权限,相当于匿名用户对目录有w权限,对文件没有任何权限
[root@xuliangwei ~]# chmod 777 /dirname/
[root@xuliangwei ~]# chmod 000 /dirname/filename #普通用户验证权限
[bgx@xuliangwei ~]$ cat /dirname/filename
cat: /dirname/filename: Permission denied
[bgx@xuliangwei ~]$ rm -f /dirname/filename
[bgx@xuliangwei ~]$ touch /dirname/filename_2

PS: 总结rwx对目录的影响

读取权限(r),如果目录只有r权限: 具有浏览目录及子目录权限

1.可以使用ls命令浏览目录及子目录, 但同时也会提示权限拒绝

2.使用ls -l命令浏览目录及子目录,文件属性会带问号,并且只能看到文件名

总结: 目录只有r权限,仅仅只能浏览内的文件名,无其他操作权限

写入权限(w),如果目录只有w权限: 具有增加、删除或修改目录内文件名权限(需要x权限配合)

PS: 如果目录有w权限, 可以在目录内创建文件, 删除文件(跟文件本身权限无关)

不能进入目录、不能复制目录、不能删除目录、不能移动目录

执行权限(x),如果目录只有x权限

1.只能进入目录

2.不能浏览、复制、移动、删除

Linux权限总结与注意事项

文件r权限, 只给用户查看,无其他操作

文件rw权限, 可以查看和编辑文件内容

文件rx权限, 允许查看和执行文件、但不能修改文件----->PASS

文件rwx权限, 能读,能写,能执行,但不能删除,因为删除需要看上级目录的权限有没有w----->PASS

目录rx权限, 允许浏览目录内文件以及子目录、并允许在目录内新建文件, 不允许创建、删除文件和目录

目录wx权限, 能进入目录,能删除内容,能写入内容,但就是无法使用ls cat这样的命令----->PASS

目录rw权限, 能看,能写,但无法进入目录----->PASS

PS: 文件的 x权限小心给予,目录的 w权限小心给予。

PS: 文件通常设定的权限是644,目录设定的权限是755

PS: 控制目录权限755, 如果有普通用户需要操作目录⾥⾯的文件,在来看文件的权限变更文件属主和属组的意义?

比如: 我现在⼿⾥有多套房,希望出售其中的A房进行变现,那么我会考虑将A房过户给金主,过户成功后A房就属于金主了,那么此时A房的拥有者就属于金主而不再属于我。

4.属主属组设置

在Linux中如何变更⼀个文件或者⼀个资源的属主和属组呢,可以使用chown、chgrp命令实现。

chown能设置属主和属组,chgrp仅能设置属组。(所以用哪个你懂的)

#chown  更改属主以及属组    -R:递归修改

#准备环境,创建文件和目录
[root@bgx ~]# mkdir dir/test1 && touch dir/file #示例1: 修改所属主为bin
[root@bgx ~]# chown bin dir/ #示例2: 修改所属组为adm
[root@bgx ~]# chown .adm dir/ #示例3: 递归修改目录及目录下的所有文件属主和属组
[root@bgx ~]# chown -R root.root dir/

7、Linux权限管理-基本权限的更多相关文章

  1. Linux课程---10、权限管理(权限有哪几种)

    Linux课程---10.权限管理(权限有哪几种) 一.总结 一句话总结: r 读 w 写 x 执行 1.drwxr-x---  2 root root  4096 Jan 20 19:39 mnt ...

  2. linux权限管理-特殊权限

    目录 linux权限管理-特殊权限 一,特殊权限 Linux权限属性chattr概述 linux进程掩码umask linux权限管理-特殊权限 一,特殊权限 1.suid(4000) SetUID( ...

  3. linux权限管理-基本权限

    目录 linux权限管理-基本权限 权限修改命令chmod linux权限管理-基本权限 权限 针对某些文件和进程,对用户进行限制 权限与用户的关系 rwx rwx r-x User Group Ot ...

  4. Linux用户和权限——管理文件权限的命令

    Linux用户和权限——管理文件权限的命令 摘要:本文主要学习了Linux中修改文件权限的命令. chown命令 chown命令,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件( ...

  5. linux权限管理—基本权限

    目录 Linux权限管理-基本权限 一.权限的基本概述 二.权限修改命令chmod 三.基础权限设置案例 四.属主属组修改命令chown Linux权限管理-基本权限 一.权限的基本概述 1.什么是权 ...

  6. 权限管理——ACL权限

    权限管理 ACL权限 用于解决用户对文件身份不足 命令:[root@localhost ~]#dumpe2fs -h /dev/sd3 作用:查询指定分区详细的文件系统给信息 选项 -h:仅显示超级块 ...

  7. 05 Linux系统下的用户以及用户权限管理(权限管理介绍、用户管理、常见命令介绍)

    这一节我们介绍Linux的用户以及权限管理的前半段,包括:1.权限管理介绍: 2.用户管理: 3.常见命令 权限管理介绍 权限管理: 为了访问计算机资源,我们需要对其进行授权才能访问,根据什么东西来进 ...

  8. Linux - 组管理和权限管理

    l Linux组基本介绍 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念. 1) 所有者 2) 所在组 3) 其它组 4) 改变用户所在的 ...

  9. Linux权限管理 ACL权限

    ACL权限简介 在普通权限中,用户对文件只有三种身份ugo,分别为属主(u).属组(g)和其他人(o):每种用户身份拥有读(read).写(write)和执行(execute)三种权限.但是在实际工作 ...

  10. Linux学习(五)-Linux组管理和权限管理

    Linux组基本介绍 在Linux中的每一个用户必须属于一个组,不能独立与组外.在Linux中每个文件有所有者,所在组,其他组的概念 所有者 所在组 其它组 改变用户所在组 1.文件/目录 所有者 文 ...

随机推荐

  1. tfserving 调用deepfm 并预测 java 【参考】

    https://blog.csdn.net/luoyexuge/article/details/79941565?utm_source=blogxgwz8 首先是libsvm格式数据生成java代码, ...

  2. Android Stuido中断点调试和高级调试

    写一个简单的调试程序 import android.os.Bundle; import android.support.v7.app.AppCompatActivity; public class M ...

  3. linux常用命令(9)nl命令

    nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...

  4. C 表达式中的汇编指令

    asm 为 gcc 中的关键字,asm 表达式为在 C代码中嵌套汇编指令,该表达式只是单纯的替换出汇编代码,并不对汇编代码的含义进行解析. asm 表达式有两种形式,第二种 asm-qualifier ...

  5. Servlet中@WebServlet("XXXX")注解无效,访问servlet报404错误

    1.问题描述 servlet使用注解配置,经检查无错误,如图: tomcat正常启动,页面正常运行,当访问servlet时出现无响应的情况,控制台报错404,未访问到servlet. 经检查,我的错误 ...

  6. (转)Dubbo + Zookeeper入门初探

    一.搭建java和tomcat环境 二.搭建zookeeper 三.搭建dubbo监控中心 四.配置项目 4.1 服务提供方代码 4.2 服务使用方代码 五.测试 2018年2月15日,阿里巴巴的du ...

  7. PJzhang:python基础入门的7个疗程-three

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 第七天 ...

  8. core python

    一:正则表达式 闭包操作符 | 等同于 or   exp:a|b|c           . 匹配任意一个字符 (若匹配本字符,需转义使用 \.   不能匹配换行符\n及空字符串)    (^:匹配首 ...

  9. 【AMAD】django-guradian -- 为Django加入单个对象级别的权限

    动机 简介 个人评分 动机 django默认的permission系统就是将将能用的程度.默认授权会将一个数据表所有数据的权限都授予,而现实世界不是这样.很多时候,我们仅想授权数据的一小部分给用户. ...

  10. pandas将非数值型特征转化为数值型(one-hot编码)

    import pandas as pd import numpy as np import matplotlib.pyplot as plt name = np.array([['jack', 'ro ...