【Linux】彻底搞懂Linux权限(超具体解析,小白必看系列) ...

打印 上一主题 下一主题

主题 834|帖子 834|积分 2502

目次
1 linux权限概念
1. 1 用户分类
2.1 语法
2.2 功能
2 Linux权限管理
2.1 文件访问者的分类(人)
2.2 权限表现
1 文件类型
2 基本权限
3 文件权限值的表现方法
2.3 权限管理下令
1. chmod 下令
2. chown 下令
3. chgrp 下令
4. umask
下令
2.4 特别权限(粘滞位)
1 粘滞位的作用
2 设置粘滞位
3 示例
4 留意事项


1 linux权限概念

   在Linux 中,权限是控制用户对文件和目次访问的一种机制。每个文件和目次都有三种基本权限:读取(r)、写入(w)执行(x)。这些权限分别实用于三类用户:文件的拥有者
(u)、文件所属组的用户(g)和其他用户
  1. 1 用户分类

Linux下有两种用户:超级用户(root)、平凡用户
   

  • 超级用户:可以再linux系统下做任何变乱,不受限定
  • 平凡用户:在linux下做有限的变乱。
  • 超级用户的下令提示符是“#”,平凡用户的下令提示符是“$”
  2.1 语法

   su [用户名]
  2.2 功能

   切换用户
  2 Linux权限管理

2.1 文件访问者的分类(人)

   

  • 用户(User):文件或目次的所有者,通常是创建该文件或目次的用户。符号表现为 u。
  • 组(Group):文件或目次所属的用户组,通常是所有者所在的组。符号表现为 g。
  • 其他用户(Others):除所有者和所属组之外的所有其他用户。符号表现为 o
  2.2 权限表现


1 文件类型

   

  • d:文件夹
  • -:平凡文件
  • l:软链接(类似Windows的快捷方式)
  • b:块装备文件(例如硬盘、光驱等)
  • p:管道文件
  • c:字符装备文件(例如屏幕等串口装备)
  • s:套接口文件
  2 基本权限

   

  • 读取(r):允许查看文件内容或列出目次内容。
  • 写入(w):允许修改文件内容或在目次中创建、删除文件。
  • 执行(x):允许执行文件或进入目次。
  • “—”:表现不具有该项权限
  3 文件权限值的表现方法

a)字符表现方法

b)8进制数值表现方法

2.3 权限管理下令

在 Linux 中,权限管理重要通过以下几个下令来实现:
1. chmod 下令

用于更改文件或目次的权限。
  1. chmod [options] mode file
复制代码


  • 示例
    1. chmod u+rwx file.txt  # 给文件所有者增加读、写、执行权限
    2. chmod g-w file.txt    # 去掉组用户的写权限
    3. chmod o=rx file.txt   # 设置其他用户只有读和执行权限
    4. chmod 755 file.txt    # 设置文件权限为 rwxr-xr-x
    5. chmod -R 755 directory  # 递归更改目录及其子目录的权限
    复制代码
2. chown 下令

用于更改文件或目次的所有者。
  1. chown [options] owner[:group] file
复制代码


  • 示例
    1. chown user file.txt  # 将文件所有者改为 user
    2. chown user:group file.txt  # 将文件所有者改为 user,组改为 group
    3. chown -R user:group directory  # 递归更改目录及其子目录的所有者和组
    复制代码
3. chgrp 下令

用于更改文件或目次的所属组。
  1. chgrp [options] group file
复制代码


  • 示例
    1. chgrp group file.txt  # 将文件所属组改为 group
    2. chgrp -R group directory  # 递归更改目录及其子目录的所属组
    复制代码
4. umask
下令


用于设置默认权限掩码,决定新创建文件和目次的默认权限。
  1. umask
  2. [options] [mask]
复制代码


  • 示例
    1. umask
    2. 022  # 设置新文件默认权限为 755,新目录默认权限为 755
    3. umask
    4. 077  # 设置新文件和目录默认权限为 700
    复制代码
在 Linux 中,权限掩码(umask
是用于设置新创建文件和目次的默认权限的机制。它通过屏蔽某些权限位来决定新文件和目次的终极权限。
a) 权限掩码的工作原理

默认情况下,新创建的文件和目次的权限分别是 666(rw-rw-rw-)和 777(rwxrwxrwx)。权限掩码通过从这些默认权限中减去指定的掩码值来确定终极权限。
b) 计算方法

假设 umask
值为 022:


  • 文件默认权限:666 - 022 = 644(rw-r–r–)
  • 目次默认权限:777 - 022 = 755(rwxr-xr-x)
c) 设置和查看 umask




  • 查看当前 umask
    1. umask
    复制代码
  • 设置 umask
    1. umask
    2. 022
    复制代码
d) 示例


  • 查看当前 umask
    1. $ umask
    2. 0022
    复制代码
  • 创建文件和目次
    1. $ touch newfile
    2. $ mkdir newdir
    复制代码
  • 查看权限
    1. $ ls -l newfile newdir
    2. -rw-r--r-- 1 user user 0 Aug 16 09:04 newfile
    3. drwxr-xr-x 2 user user 4096 Aug 16 09:04 newdir
    复制代码
e) 修改 umask


要永世修改 umask
,可以在用户的 shell 设置文件(如 .bashrc 或 .profile)中添加一行:
  1. umask
  2. 022
复制代码
f) 特别情况



  • umask
    000
    :新文件和目次将具有最大权限(666 和 777),这通常不推荐使用,因为它会导致安全风险。
  • umask
    077
    :新文件和目次将只有所有者有完全权限(600 和 700),实用于必要高安全性的场景。
通过合理设置 umask
,可以有效控制新创建文件和目次的默认权限,确保系统的安全性和资源的合理分配
2.4 特别权限(粘滞位)

在 Linux 系统中,粘滞位(Sticky Bit) 是一种特别权限位,重要用于控制对特定目次中文件的删除操作。设置粘滞位后,只有文件的所有者或 root 用户才气删除或移动该文件,而其他用户即使有写权限也不能删除或移动这些文件
1 粘滞位的作用

粘滞位通常用于多用户情况中的公共目次,例如 /tmp 目次,以防止用户删除或移动其他用户的文件。设置粘滞位后,目次的其他用户权限位会显示为 t 或 T:


  • t:表现该目次的其他用户有执行权限。
  • T:表现该目次的其他用户没有执行权限。
2 设置粘滞位

使用 chmod 下令可以设置粘滞位:
  1. chmod +t directory  # 为目录设置粘滞位
  2. chmod -t directory  # 移除目录的粘滞位
复制代码
3 示例


  • 查看 /tmp 目次的权限
    1. ls -ld /tmp
    2. drwxrwxrwt 10 root root 4096 Aug 16 09:04 /tmp
    复制代码
    可以看到 /tmp 目次的其他用户权限位为 t,表现已设置粘滞位。
  • 为目次设置粘滞位
    1. mkdir mydir
    2. chmod 1777 mydir  # 设置粘滞位并赋予所有用户读、写、执行权限
    3. ls -ld mydir
    4. drwxrwxrwt 2 user user 4096 Aug 16 09:04 mydir
    复制代码
4 留意事项



  • 粘滞位只对目次有效,对文件无效
  • 设置粘滞位后,其他用户仍然可以修改文件内容,但不能删除或移动文件。
通过合理使用粘滞位,可以有效保护公共目次中的文件,防止未授权的删除和移动操作。





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

老婆出轨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表