权限的基本介绍

ls -l中显示的内容如下:

  1. lrwxrwxrwx. 1 root root 7 Dec 28 2020 bin -> usr/bin

0-9位说明

lrwxrwxrwx

第0位确定文件类型(d,-,l,c,b)

  • l:l是链接,相当于windows的快捷方式

  • d:d是目录,相当于windows的文件夹

  • -:-是普通文件,Linux中最多的一种文件类型, 包括纯文本文件(ASCII)、二进制文件(binary)、数据格式的文件(data)、各种压缩文件

  • c:c是字符设备文件,鼠标,键盘

  • b:b是块设备,比如硬盘

第1-3位为确定所有者(该文件的所有者)拥有该文件的权限,—User

第4-6位确定所属组(同用户组)拥有该文件的权限,—Group

第7-9位确定其他用户拥有该文件的权限,—other

rwx权限详解

rwx作用到文件

  1. [r]代表可读(read):可以读取、查看

  2. [w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在目录有可写权限,才能删除该文件

  • 代表可执行(execute):可以被执行

rwx作用到目录

  1. [r]代表可读(read):可以读取,ls查看目录内容

  2. [w]代表可写(write):可以修改,对目录内创建+删除+重命名目录

  • 代表可执行(execute):可以进入该目录

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

ls -l中显示的内容如下:

  1. -rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

10个字符确定不同用户能对文件干什么

  1. 第一个字符代表文件类型:-ldcb

  2. 其余字符每三个一组(rwx),读(r)、写(w)、执行(x)

  3. 第一组rwx:文件拥有者的权限是读、写和执行

  4. 第二组rw-:与文件拥有者同一组的用户的权限是读、写但不能执行

  5. 第三组r—:不与文件拥有者同组的其他用户的权限是读不能写和执行

其他数字表示:r=4,w=2,x=1,因此rwx=4+2+1=7

其他说明(依次往右观察)

  • 1:文件:硬连接数 或 目录:子目录数

  • root:用户

  • root:组

  • 1213:文件大小(字节),如果是文件夹,显示4096字节

  • Feb 2 09:39:最后修改日期

  • abc:文件名

修改权限 -chmod

基本说明

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

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

  • 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. chmod u=rwx,g=rx,o=rx abc
  3. # 给abc文件的所有者去除执行的权限,增加组写的权限
  4. chmod u-x,g+w abc
  5. # 给abc文件的所有用户添加读的权限
  6. chmod a+r abc

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

  • r=4

  • w=2

  • x=1

  • rwx=4+2+1

  1. chmod u=rwx,g=rx,o=x 文件目录名
  2. # 相当于
  3. chmod 751 文件目录名

修改文件所有者-chown

基本语法

  1. chown newowner 文件/目录 改变所有者
  2. chown newowner:newgroup 文件/目录 改变所有者和所在组
  3. -R 如果是目录,则使其下所有子文件或目录递归生效
  4. chown -R tom /home/test

修改文件所在的组-chgrp

基本语法

  1. chgrp newgroup 文件/目录 改变所有组
  2. -R 如果是目录,则使其下所有子文件或目录递归生效