零、学习目标
   
- 掌握查看Linux文件的权限管控信息
- 掌握读、写、执行三种权限的含义
- 掌握使用chmod修改权限信息
- 掌握使用数字序号标记权限
- 掌握使用chown修改所属用户、用户组
    
    
    一、查看权限控制
   
- 
     通过
 
 ls -l
 
 可以以列表的形式查看内容,并显示权限细节
  
 – 序号1,表示文件、文件夹的权限控制信息 – 序号2,表示文件、文件夹所属用户 – 序号3,表示文件、文件夹所属用户组
    
    
    1、权限控制信息
   
- 
     权限控制信息总共分为10个槽位
 
  
 
 
 举例:
 
 drwxr-xr-x
 
 ,表示:
 
- 
     这是一个文件夹,首字母
 
 d
 
 表示
- 
     所属用户(序号2)的权限是:有
 
 r
 
 有
 
 w
 
 有
 
 x
 
 ,
 
 rwx
 
- 
     所属用户组(序号3)的权限是:有
 
 r
 
 无
 
 w
 
 有
 
 x
 
 ,
 
 r-x
 
 (
 
 -
 
 表示无此权限)
- 
     其它用户的权限是:有
 
 r
 
 无
 
 w
 
 有
 
 x
 
 ,
 
 r-x
 
    
    
    2、rwx权限解读
   
- 
     
 r
 
 表示读权限
- 
     
 w
 
 表示写权限
- 
     
 x
 
 表示执行权限
- 
     针对文件、文件夹的不同,
 
 rwx
 
 的含义有细微差别- 
       
 r
 
 ,针对文件可以查看文件内容;针对文件夹,可以查看文件夹内容,如ls命令
- 
       
 w
 
 ,针对文件表示可以修改此文件;针对文件夹,可以在文件夹内:创建、删除、改名等操作
- 
       
 x
 
 ,针对文件表示可以将文件作为程序执行;针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
 
- 
       
    
    
    3、案例演示
   
- 
     执行
 
 cd /
 
 命令,进入根目录
 
  
 
 可以进入根目录,则表明当前用户对根目录拥有执行权限
 
 x
 
- 
     执行
 
 ls -l
 
 命令,读取根目录文件夹的内容
 
  
 
 读取成功,表明当前用户对根目录拥有读权限
 
 r
 
- 
     执行
 
 touch test.txt
 
 命令,创建文件
 
  
 
 执行成功,表明当前用户对根目录拥有写权限
 
 w
 
    
    
    二、chmod命令
   
- 
     我们可以使用chmod命令,修改文件、文件夹的权限信息。
 
 
 注意,只有文件、文件夹的所属用户或root用户可以修改。
 
 
 语法:
 
 chmod [-R] 权限 文件或文件夹
 
 
 选项:
 
 -R
 
 ,对文件夹内的全部内容应用同样的操作
    
     语法示例:
    
   
- 
     
 chmod u=rwx,g=rx,o=x hello.txt
 
 ,将文件权限修改为:
 
 rwxr-x--x
 
- 
     
 chmod -R u=rwx,g=rx,o=x test
 
 ,将文件夹
 
 test
 
 以及文件夹内全部内容权限设置为:
 
 rwxr-x--x
 
 
 其中:
 
 u
 
 表示
 
 user
 
 所属用户权限,
 
 g
 
 表示
 
 group
 
 组权限,
 
 o
 
 表示
 
 other
 
 其它用户权限
    
     案例演示:
    
   
- 
     创建
 
 test
 
 文件夹
 
   
- 
     创建
 
 test.txt
 
 文件
 
   
- 
     查看权限信息
 
   
- 
     修改
 
 test.txt
 
 文件的权限,所属用户拥有全部权限,所属组只有读权限,其他用户只能写
 
  
 
 可以发现
 
 test.txt
 
 文件的权限已经被修改了
- 
     创建一个
 
 1.txt
 
 文件,将
 
 test.txt
 
 和
 
 1.txt
 
 文件移入
 
 test
 
 文件夹内
 
   
- 
     修改
 
 test
 
 文件夹的权限,所属用户只能读,所属用户组只能写,其他用户只能执行
 
   
- 
     修改
 
 test
 
 文件夹及包含所有文件的权限
 
   
    
     除此之外,还有快捷写法:
     
      chmod 751 hello.txt
     
     
     将hello.txt的权限修改为
     
      751
     
     
     那么问题来了,
     
      751
     
     表示什么意思呢?
    
   
    
     权限的数字序号
    
    
    权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。
    
    数字的细节如下:
    
     r
    
    记为
    
     4
    
    ,
    
     w
    
    记为
    
     2
    
    ,
    
     x
    
    记为
    
     1
    
    ,可以有:
   
- 
 0
 
 :无任何权限, 即
 
 ---
 
- 
 1
 
 :仅有
 
 x
 
 权限, 即
 
 --x
 
- 
 2
 
 :仅有
 
 w
 
 权限,即
 
 -w-
 
- 
 3
 
 :有
 
 w
 
 和
 
 x
 
 权限,即
 
 -wx
 
- 
 4
 
 :仅有
 
 r
 
 权限,即
 
 r--
 
- 
 5
 
 :有
 
 r
 
 和
 
 x
 
 权限,即
 
 r-x
 
- 
 6
 
 :有
 
 r
 
 和
 
 w
 
 权限,即
 
 rw-
 
- 
 7
 
 :有全部权限,即
 
 rwx
 
 
 所以
 
 751
 
 表示:
 
 rwx(7) r-x(5) --x(1)
 
 
  
 
 
 小练习:
 
- 
将 
 
 hello.txt
 
 的权限修改为:
 
 r-x--xr-x
 
- 
  
- 
将 
 
 hello.txt
 
 的权限修改为:
 
 -wx-w-rw-
 
 
   
- 
将hello.txt的权限修改为: 
 
 123
 
 
   
    
    
    三、chown命令
   
    使用
    
     chown
    
    命令,可以修改文件、文件夹的所属用户和用户组
    
    普通用户无法修改所属为其它用户或组,所以此命令只适用于
    
     root
    
    用户执行
   
- 
     
 语法:
 
 chown [-R] [用户][:][用户组] 文件或文件夹
 
 
 
 
 选项,
 
 -R
 
 ,同
 
 chmod
 
 ,对文件夹内全部内容应用相同规则
 
 选项,用户,修改所属用户
 
 选项,用户组,修改所属用户组
 
 
 :
 
 用于分隔用户和用户组
 
    
     案例演示:
    
   
- 
     
 chown alice hello.txt
 
 ,将
 
 hello.txt
 
 所属用户修改为
 
 alice
 
 
   
- 
     
 chown :alice hello.txt
 
 ,将
 
 hello.txt
 
 所属用户组修改为
 
 alice
 
 
   
- 
     
 chown root:smith hello.txt
 
 ,将
 
 hello.txt
 
 所属用户修改为
 
 root
 
 ,用户组修改为
 
 smith
 
 
   
- 
     
 chown -R alice test
 
 ,将文件夹
 
 test
 
 的所属用户修改为
 
 root
 
 并对文件夹内全部内容应用同样规则
 
   
 
