Linux文件、目录的权限

文章目录

  • Linux权限的概念
  • Linux文件权限
    • 文件访问者分类
    • 文件类型和访问权限
    • 文件权限值的表示方法
    • 文件权限的设置
  • Linux目录权限
  • 粘滞位
  • 权限的总结

Linux权限的概念

Linux下有两种用户:超级用户(root)和普通用户(user)

  • 超级用户:可以在Linux下做任何事
  • 普通用户:权限有限
  • 超级用户的命令提示符为**#,普通用户的命令提示符为$**

普通用户->超级用户:su / su -
超级用户->普通用户:su user_name
Linux文件、目录的权限_第1张图片

Linux文件权限

文件访问者分类

  • 文件和文件目录所有者:u—User
  • 文件和文件目录的所有者所在组的用户:g—Group
  • 其他人:o—Others

文件类型和访问权限

(1)文件类型

  • d 文件夹
  • - 普通文件
  • l 软连接(类似windows的快捷方式)
  • b 块设备文件(例如硬盘、光驱等)
  • p 管道文件
  • c 字符设备文件(例如屏幕等串口设备)
  • s 套接口文件

(2)基本权限

  • 读(r/4):对文件而言,具有读取文件内容的权限;对于目录而言,具有浏览该目录信息的权限
  • 写(w/2):对文件而言,具有修改文件内容的权限;对于目录而言,具有删除和移动目录内文件的权限
  • 执行(x/1):对文件而言,具有执行文件的权限;对于目录而言,具有进入目录的权限
  • - 表示不具有任何权限
    Linux文件、目录的权限_第2张图片

文件权限值的表示方法

(1)字符表示方法

Linux表示 说明 Linux表示 说明
r– 只读 -w- 只写
–x 只执行 rw- 可读可写
r-x 可读可执行 -wx 可读可执行写
rwx 可读可写可执行 无权限

(2)8进制数值表示方法

权限符号 二进制 八进制
r 100 4
w 010 2
x 001 1
rw 110 6
rx 101 5
wx 011 3
rwx 111 7
--- 000 0

文件权限的设置

(1) chmod

功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项

  • R 递归修改目录文件的权限(只有root用户可以修改权限

chmod命令权限值的格式:
用户标识符 +/- 权限字符

  • + 向权限范围增加权限代号所表示的权限
  • - 向权限范围取消权限代号所表示的权限
  • = 向权限范围赋予权限代号所表示的权限
  • u 拥有者
  • g 拥有者同组用
  • o 其它用户
  • a 所有用户

实例:
Linux文件、目录的权限_第3张图片
三位8进制数字
实例
Linux文件、目录的权限_第4张图片
(2)chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
实例
Linux文件、目录的权限_第5张图片
此时运行chown显示权限不够,每次切换root用户非常麻烦,因此此时介绍一个新方法——sudo
Linux文件、目录的权限_第6张图片
这里有些小伙伴无法执行sudo命令,因为还没有将用户添加进root的sudoers文件中,方法:

  • su
  • echo ‘username ALL=(ALL) ALL’ >> /etc/sudoers

username为要加入sudoers的用户
Linux文件、目录的权限_第7张图片
(3)chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项

  • -R 递归修改文件或目录的所属组

实例
Linux文件、目录的权限_第8张图片
(4)umask
功能:查看或修改文件掩码
格式:umask 权限值
说明

  • 新建文件夹默认权限 = 0666
  • 新建目录默认权限 = 0777
  • 假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
  • 将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

实例
Linux文件、目录的权限_第9张图片

Linux目录权限

  • 可执行权限:如果目录没有可执行权限,则无法cd到目录中
  • 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
  • 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

实例
Linux文件、目录的权限_第10张图片
但是问题来了,只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限.
Linux文件、目录的权限_第11张图片结论:

  • 如果目录对other具有w权限,other可以删除目录下任何一个文件
  • 如果目录对other没有w权限,other不可以删除目录下的任何文件

需求:

  • other可以在特定目录下创建文件,但不可以删掉自己的文件。

由此引入粘滞位的概念。

粘滞位

通过sudo chmod o+t 设置目录的粘滞位
Linux文件、目录的权限_第12张图片
当一个目录被设置为粘滞位,该目录下的文件只能被超级管理员该目录所有者、该文件所有者删除。

权限的总结

  • 目录的可执行权限是表示你可否在目录下执行命令
  • 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目录, 即使目录仍然有读权限
  • 如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限,所以即使可以执行ls命令,但仍然没有权限读出目录下的文档

你可能感兴趣的:(Linux,linux,服务器,运维)