目录



  • 1. 权限的基本介绍(文件 / 目录)
  • 2. rwx 权限详解
  • 2.1 rwx 作用到文件
  • 2.2 rwx 作用到目录
  • 3. 文件及目录权限实际案例
  • 4. 修改权限-chmod
  • 4.1 基本说明
  • 4.2 第一种方式:+ 、- 、= 变更权限
  • 4.3 第二种方式:通过数字变更权限
  • 5. 修改文件所有者-chown
  • 5.1 基本介绍
  • 5.2 案例演示
  • 6. 修改文件所在组-chgrp
  • 6.1 基本介绍
  • 6.2 案例演示
  • 7. 最佳实践-警察和土匪游戏



1. 权限的基本介绍(文件 / 目录)

ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc 1)第 0 位确定文件类型(d,-,l,c,b)
2) 第 1-3 位确定所有者 (改文件的所有者)拥有该文件的权限。---User
3)第 4-6 位确定所属组 (同用户组的)拥有该文件的权限。---Group
4)第 7-9 位确定其他用户该文件的权限。---Other

图1

centos7给文件权限 centos7权限管理_hg

2. rwx 权限详解

2.1 rwx 作用到文件

1)[r]代表可读(read):可以读取,查看
2)[w]代表可写(write):可以修改,但是不代表可以删除改文件,删除一个文件的前提是对该文件所在的目录有写权限,才能删除该文件。
3)[x]代表可执行(execute):可以被执行

2.2 rwx 作用到目录

1)[r]代表可读(read):可以读取,ls 查看目录内容
2)[w]代表可写(write):可以修改,目录内创建 + 删除 + 重命名目录
3)[x]代表可执行(execute):可以进入该目录

3. 文件及目录权限实际案例

ls -l 中显示的内容如下:(记住)
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

解释如下:

10个字符确定不同用户能对文件干什么
第一个字符代表文件类型:文件(-),目录(d),链接(l)
其余字符每 3 个一组(rwx)读(r)写(w)执行(x)
第一组rwx:文件拥有者的权限是读、写和执行
第二组rw-:与文件拥有者同一组的用户的权限是读、写但不能执行
第三组r--: 不与文件拥有者同组的其他用户的权限是读不能写和执行

可用数字表示为:r = 4,w = 2,x = 1 因此 rwx = 4 + 2 + 1 = 7

1           文件:硬链接数或 目录:子目录数
root        用户
root        组
1213        文件大小(字节),如果是文件夹,显示 4096 字节
Feb 2 09:39 最后修改日期
abc         文件名

4. 修改权限-chmod

4.1 基本说明

通过 chmod 指令,可以修改文件或目录的权限

4.2 第一种方式:+ 、- 、= 变更权限

u: 所有者 g:所有组 o:其他人 a:所有人 (u、g、o 的总和)
1)chmod u=rwx,g=rx,o=x 文件目录名
2)chmod o+w 文件目录名
3)chmod a-x 文件目录名
  • 案例演示
    1)给 abc 文件的所有者读写执行的权限,给所在组读执行权限,给其他组读执行权限
    图2
  • centos7给文件权限 centos7权限管理_centos7给文件权限_02

  • 2)给 abc 文件的所有者除去执行的权限,增加组写的权限
    图3
  • centos7给文件权限 centos7权限管理_centos7给文件权限_03

  • 3)给 abc 文件的所有用户添加读的权限
    图4
  • centos7给文件权限 centos7权限管理_centos7给文件权限_04

4.3 第二种方式:通过数字变更权限

规则:r=4 w=2 x=1 ,rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件目录名
  • 案例演示
    要求:将 /home/abc.txt 文件的权限修改成 rwxr-xr-x,使用给数字的方式实现
    rwx=4+2+1=7
    r-x=4+1=5
    r-x=4+1=5
    指令:chmod 755 /home/abc.txt

5. 修改文件所有者-chown

5.1 基本介绍

chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所在组
-R 如果是目录 则使其下所有子文件或目录递归生效

5.2 案例演示

1)请将 /home/abc.txt 文件的所有者修改成 tom

图5

centos7给文件权限 centos7权限管理_hg_05

2)请将 /home/kkk 目录下所有的文件和目录的所有者都修改成 tom

首选使用root操作

图6

centos7给文件权限 centos7权限管理_hg_06

6. 修改文件所在组-chgrp

6.1 基本介绍

chgrp newgroup file 改变文件的所有组

6.2 案例演示

1)请将 /home/abc.txt 文件的所在组修改成 bandit(土匪)
chgrp bandit /home/abc.txt

2)请将 /home/kkk 目录下所有的文件和目录的所在组都修改成 bandit(土匪)

chgrp -R bandit /home/kkk

图7

centos7给文件权限 centos7权限管理_基本介绍_07

7. 最佳实践-警察和土匪游戏

police, banlit
jack,jerry:警察
xh,xq:土匪

(1)创建组
bash>groupadd police
bash>groupadd bandit

(2)创建用户

图8

centos7给文件权限 centos7权限管理_hg_08

(3)jack 创建一个文件,自己可以读写,本组人可以读,其他组没有任何权限

图9

centos7给文件权限 centos7权限管理_centos7给文件权限_09

(4)jack 修改该文件,让其他组可以读,本组可以读写

图10

centos7给文件权限 centos7权限管理_centos7给文件权限_10

(5)xh 投靠警察,看看是否可以读写

先用 root 修改 xh 的组:

图11

centos7给文件权限 centos7权限管理_bc_11

使用 jack 给他的家目录 /home/jack 的所在组一个 rx 的权限

图12

centos7给文件权限 centos7权限管理_bc_12

xh 需要重新注销 再到 jack 目录就可以操作 jack 的文件

图13

centos7给文件权限 centos7权限管理_hg_13