用户、用户组与文件的关系

在了解权限管理之前先创建一些用户和用户组便于后续学习,在root用户下操作:

# 创建两个用户组
[root@localhost data]# groupadd kaifa
[root@localhost data]# groupadd ceshi # 创建三个用户,指定他们进入的用户组
[root@localhost data]# useradd -g kaifa zhangsan
[root@localhost data]# useradd -g kaifa lisi
[root@localhost data]# useradd -g ceshi wangwu # 设置三个用户的密码,这里我统一设置为123
[root@localhost data]# passwd zhangsan
[root@localhost data]# passwd lisi
[root@localhost data]# passwd wangwu

登录张三用户,在~目录中创建一个1.txt文件,关系如下图所示

[zhangsan@localhost ~]$ touch 1.txt
[zhangsan@localhost ~]$ ls
1.txt

环境已经模拟好了,现在分析一下1.txt文件和这几个用户之间的关系:

  • 张三创建了这个文件,那么张三就是该文件的所有者

  • 张三创建了这个文件,同时张三属于开发组,那么这个文件也属于开发组,开发组下除了张三还有李四,那么李四就是同组的用户

  • 王五既不是文件的所有者,和文件也不属于同一个组,那么对于文件来说王五就是其他组的用户

如果不知道该文件的所有者是谁,属于哪个组,可以用ls -l或者ll命令来查看

通过分析可得知,文件与用户可以有三种关系:所有者、同组,其他组,请务必牢记这三种关系,他与权限有着密切的关联

权限的基本知识

权限代表着用于对文件/文件夹操作的控制,可以控制用户是否有权利查看文件、修改文件以及执行文件

如何查看权限信息

详细的权限信息,在我们使用ll命令的时候就可以看到,列表的第一列就代表权限信息

可以发现他给出的权限信息为-rw-r--r--,完整的权限信息是由四部分组成,将他们拆开后如下所示

后面的三组就不细说了,结合之前说的就能理清,这里介绍下第一位文件类型,简单创建几个文件观察首位的变化

如果是文件夹,首位就是d,如果是文件首位就是-,如果是软连接首位就是l...... 更多的这里就不细说了
[zhangsan@localhost ~]$ touch 1.txt
[zhangsan@localhost ~]$ mkdir -p files/1/2/3
[zhangsan@localhost ~]$ ln -s files/1/2/ 3
[zhangsan@localhost ~]$ ll
总用量 0
-rw-r--r--. 1 zhangsan kaifa 0 12月 22 16:35 1.txt
-rw-r--r--. 1 zhangsan kaifa 0 12月 22 16:35 2.txt
lrwxrwxrwx. 1 zhangsan kaifa 10 12月 22 16:34 3 -> files/1/2/
drwxr-xr-x. 3 zhangsan kaifa 15 12月 22 16:33 files

现在回过头来看1.txt的权限信息-rw-r--r--,首先通过首位可以看出他是一个普通文件,接下来分析一下他的权限信息

  • zhangsan作为所有者,可以对文件进行查看和编辑

  • lisi与文件属于同一个组,可以对文件进行查看操作

  • wangwu属于其他组,同样可以对文件进行查看

然后切换到/home目录,再查看该目录下的文件夹的权限信息

[zhangsan@localhost ~]$ cd /home
[zhangsan@localhost home]$ ll
总用量 0
drwx------. 3 lisi kaifa 78 12月 22 14:24 lisi
drwx------. 3 wangwu ceshi 78 12月 22 14:24 wangwu
drwx------. 6 zhangsan kaifa 155 12月 22 16:35 zhangsan

之前说过每个目录代表着一个用户,而每个目录的权限都为drwx------,也就是说除了目录所有者之外任何人都没有权限查看该目录,这也就解释了为什么不能查看其他用户目录的问题

权限信息在文件/文件夹上的作用

权限信息在文件和在文件夹上起到的作用分别是不一致的,具体如下

当目标是一个文件时:

  • r 可以控制是否有权限查看该文件的内容

  • w 可以控制是否有权限修改文件的内容,需要注意的是就算有修改权限也并不代表可以删除该文件,判断一个文件是否允许被删除需要观察该文件所在的目录的权限信息

  • x 可以控制是否拥有执行文件的权限

当目标是一个目录时:

  • r 可以控制是否有权限移动到该目录下,是否有权限查看目录下的文件

  • w 可以控制是否有权限增删目录下的文件

  • x 可以控制是否拥有执行文件的权限

修改权限信息

由于修改权限信息本身需要的权限较大,这里建议在root用户下进行操作,在修改权限信息之前先看一眼这个表格的内容

中文解释 英文全拼 简写字母 权限数字
可读 read r 4
可写 write w 2
可执行 execute x 1

设置权限信息

权限包含可读、可写、可执行三种操作,而所有者、同组、其他组又分别有着各自的权限,那么修改权限就是围绕着这几个基本属性进行设置的

设置权限信息的命令使用方法为chmod [权限信息] [目标文件/文件夹],看一下下面这行命令

# u=rw:u的全拼为user所有者,所有者拥有r读和w写的权限
# g=r:g的全拼为group同组,同组拥有r读的权限
# o=r:o代表other其他组,其他组拥有r读的权限
[root@localhost zhangsan]# chmod u=rw,g=r,o=r 1.txt # 所有者拥有所有权限,本组拥有读写全选,其他组拥有读权限
[root@localhost zhangsan]# chmod u=rwx,g=rw,o=r 1.txt # 所有者保持不变,同组只能读,其他组只能读
[root@localhost zhangsan]# chmod g=r,o=r 1.txt

修改权限信息

除开使用等号来设置权限之外,还可以使用加号和减号来修改权限,如下

# 本组设置只读的权限
[root@localhost zhangsan]# chmod g=r 1.txt # 本组添加执行的权限
[root@localhost zhangsan]# chmod g+x 1.txt # 其他组添加修改和执行的权限
[root@localhost zhangsan]# chmod o+wx 1.txt # 其他组移除修改和执行的权限
[root@localhost zhangsan]# chmod o-wx 1.txt # 本组添加读的权限移除执行的权限
[root@localhost zhangsan]# chmod g+w-x 1.txt

数字方式设置权限信息

除开上面的两种方法之外,还可以使用数字代表权限信息,上面的表格中记录了每个权限代表的数字,将需要赋予的权限的数字相加就可以了

数字设置权限的命令使用规范为chmod [所有者权限][同组权限][其他组权限],如下所示

# 所有者有读写的权限(4+2),同组与其他组有读的权限(4)
[root@localhost zhangsan]# chmod 644 1.txt # 所有者有读写执行的权限(4+2+1),同组有读的权限(4),其他组没有任何权限(0)
[root@localhost zhangsan]# chmod 740 1.txt # 所有者、同组、其他组全部拥有所有权限(4+2+1)
[root@localhost zhangsan]# chmod 777 1.txt

修改文件所有者以及文件所有组

文件的操作全选与所有者和所有组有着密切的关系,可以通过ll命令查看这些信息,当然这些信息也可以修改

# 修改文件所有者为wangwu
[root@localhost zhangsan]# chown wangwu 1.txt # 修改文件所在组为测试
[root@localhost zhangsan]# chgrp ceshi 1.txt

需要注意的是修改文件所有者后,文件所在组并不会随着所有者的改变而改变,想要修改文件所在组需要手动执行命令才可以进行修改

CentOS7学习笔记(六) 用户权限管理的更多相关文章

  1. PostgreSQL学习之【用户权限管理】说明

    背景 最近在学习PostgreSQL,看了用户权限管理文档,涉及到的知识点比较多,顺便写篇文章进行整理并不定时更新,也方便自己后续进行查阅. 说明 注意:创建好用户(角色)之后需要连接的话,还需要修改 ...

  2. MySQL学习笔记二:权限管理

    1. 创建和删除用户,mysql中的用户是由用户名和主机名来确定的 create user "user_name@host_name" identified by passwd; ...

  3. linux学习笔记二-----文件权限管理

    一.分析文件权限(ln -s 文件名 快捷方式名 用来创建文件的快捷方式,下方ll查看信息时会在第一个字符处显示l) [hjp@bogon ~]$ ll total 4 drwxrwxr-x. 2 h ...

  4. MySql 在cmd下的学习笔记 —— 有关用户权限的操作(grant)

    用户连接到MySQL时: [用户]   <---->   [服务器] 分为2个阶段: 1:有没有权限连接: 2:有没有执行此操作的权利.(如select, update……) 判断依据:( ...

  5. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

  6. Python 学习 第十篇 CMDB用户权限管理

    Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...

  7. 一文带你学习DWS数据库用户权限设计与管理

    前言 本文将介绍DWS基于RBAC(Role-Based Access Control,基于角色的访问控制)的数据库用户权限管理.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成 ...

  8. ClickHouse学习系列之二【用户权限管理】

    背景 最近花了些时间看了下ClickHouse文档,发现它在OLAP方面表现很优异,而且相对也比较轻量和简单,所以准备入门了解下该数据库系统.在安装完之后首先做的应该如何设置用户密码以及权限控制.因为 ...

  9. Liunx学习笔记(三) 文件权限

    一.文件权限 1.查看文件权限 (1)文件权限 在 Linux 中对于文件有四种访问权限,列举如下: 可读取:r,Readable 可写入:w,Writable 可执行:x,Execute 无权限:- ...

随机推荐

  1. ROS机器人开发实践1->SSH远程登录要点记录

    1.有线网卡 设置 找到有线网络,点击设置,修改其中的IPv4的地址和子网掩码. 1 //地址 2 192.168.xxx.xxx 3 //子网掩码 4 255.255.255.0 点击应用 2.配置 ...

  2. 洛谷 P7163 - [COCI2020-2021#2] Svjetlo(树形 dp)

    洛谷题面传送门 神仙级别的树形 dp. u1s1 这种代码很短但巨难理解的题简直是我的梦魇 首先这种题目一看就非常可以 DP 的样子,但直接一维状态的 DP 显然无法表示所有情况.注意到对于这类统计一 ...

  3. HDU 6036 Division Game

    HDU 6036 Division Game 考虑每堆石头最多操作 $ \sum e $ 次,考虑设 $ f(x) $ 表示某一堆石头(最开始都是一样的)操作 $ x $ 次后变成了 $ 1 $ 的方 ...

  4. 回文字符串 Manacher

    1. Manacher 忘光了,忘光了. 首先将字符串所有字符之间(包括头尾)插入相同分隔符,再在最前方插入另一个分隔符防止越界. 设以 \(s_i\) 为对称中心的回文串中,最长的回文半径为 \(p ...

  5. windows系统开/关机日志位置

    邮件计算机=>管理 =>系统工具=>事件查看器=>Windows日志=>系统 过滤:关机:事件ID=6006 开机:事件ID=6005

  6. 1D RKDG to shallow water equations

    RKDG to shallow water equations 1.Governing Equations \[\frac{\partial U}{\partial t} + \frac{\parti ...

  7. miRNA预测工具miRDeep-P2

    之前讲过预测植物miRNA的一款软件miR-PREFER, 今天在介绍一款软件miRDeep-p2, 也叫miRDP2 安装 在此之前,应安装一下软件 Bowite, Bowtie2, Vienna ...

  8. GWAS在农业上应用

    农业的组学技术应用虽然落后于人的研究,这是什么意义的问题,但有时农业基因组有自己无可比拟的优势,那就是材料.下面介绍GWAS应用. GWAS(Genome-wide association study ...

  9. mysql 索引的注意事项

    mysql 无法使用索引的查询 索引是什么,为什么要用索引,索引使用的时候要注意什么,那些情况下索引无法起作用. 1,索引是什么 mysql的索引也是一张表,并且是一个有序的表,主要记录了需要索引的数 ...

  10. mysql 实现某年单季度内的品牌TOPn销量在此年此单季度内销量占比

    数据表:       结果表: mysql语句: