首页 > 系统相关 >Linux 文件权限

Linux 文件权限

时间:2024-03-20 19:22:05浏览次数:25  
标签:文件 用户组 chmod file Linux 权限 所有者

查看文件权限:

 ls -l file_name
 -rw-r--r-- 12 linuxize users 12.0K Apr  28 10:10 file_name
 |[-][-][-]-   [------] [---]
 | | | | |     |       |
 | | | | |     |       +-----------> 7. Group 用户组
 | | | | |     +-------------------> 6. Owner 所有者
 | | | | +--------------------------> 5. Alternate Access Method
 | | | +----------------------------> 4. Others Permissions 其他用户权限
 | | +-------------------------------> 3. Group Permissions 用户组权限
 | +----------------------------------> 2. Owner Permissions 所有者权限
 +------------------------------------> 1. File Type 文件类型
 ​

 

文件类型(1. File Type)

文件类型。

-:文件;

d:目录;

l:(L) 链接;

 

权限组

对于所有者和用户组权限,文件/目录创建时,默认赋值所有者为创建者,用户组为创建者所在组,但它们是可被更改的。

继文件类型之后的 9 个字符,分为 3 个权限组,都使用 -, r, w, x 来组合。

 

数值授权(推荐)

各权限数值:

  • r (read 读) = 4

  • w (write 写) = 2

  • x (execute 执行) = 1

  • - (无权限) = 0

由于各个权限组合不会得到相同的数字,因此每一类用户的权限都可以用一个数字表示,修改权限使用命令 chmod,格式为:

 chmod [OPTIONS] NUMBER FILE... # 多个文件使用空格隔开

例:

 chmod 760 filename

7 表示所有者权限:4 + 2 + 1 = 7,即 rwx,所有者拥有全部权限。

6 表示用户组权限:4 + 2 = 6,即 rw-,用户组拥有读写权限。

0 表示其他用户权限:0,即 ---,其他用户没有权限。

以数值形式查看文件权限,使用 stat 命令:

 stat -c "%a" file_name

 

符号授权(有特殊用处)

格式:

 chmod [OPTIONS] [ugoa…][-+=]perms…[,…] FILE...

解释:

[ugoa…]

  • u - 所有者。

  • g - 用户组。

  • o - 其他用户。

  • a - 所有用户,等同于 ugo

[-+=]

  • - - 移除指定权限。

  • + - 添加指定权限。

  • = - 赋值指定权限,覆盖原有权限,如果 = 后面为空,则为移除所有权限。

perms...

  • 权限符,可选且多选:r, w, x, X, s, t

  • 也可以复制其它权限组,但只能单选:u, g, o

    例:chmod g=u filename

[,…]

  • 表示分别授权,, 之间不能有空格。例:chmod u=rwx,g=r,o= filename

FILE...

  • 为一个或多个文件或目录设置权限,使用空格隔开。

 

修改用户组
 chgrp new_group_name file_or_directory

 

修改所有者
 sudo chown [-R] new_owner_username[:new_group_name] /path/to/file_or_directory

参数:

  • -R:如果目标是目录,递归修改此目录及所有子目录和文件的所有者。

  • :new_group_name:用户名:用户组,修改所有者的同时指定用户组,即:同时修改用户组。

 

特殊权限

特殊权限:s, S, t, T

s:体现在所有者权限组时:setuid (Set User ID up on execution),体现在用户组权限组时:setgid (Set Group ID up on execution),意思是运行时(有 x 权限)提升权限,以文件所有者(setuid)或用户组(setgid)的身份进行运行。

S:类似于 s,但没有执行权限(x)。

  • Ss 的一个变体,给文件所有者或用户组设置 s 权限时,如果文件已经拥有 x 权限,则设置之后体现为 s,如果文件没有 x 权限,则设置之后体现为 S

  • 没有设置 S 权限的命令,只有设置 s 权限的命令,二者之间的体现取决于文件原有的执行权限 x

t:set sticky bit,最常见于像 /tmp 这样的目录上,它允许用户在目录中创建文件或子目录,但只允许文件的所有者或管理者删除或改名自己的文件。

T:类似于 t,但没有执行权限(x),属于 t 的变体。描述参照 S

 

特殊权限授权

使用数值形式设置特殊权限:

  • setuid = 4

  • setgid = 2

  • sticky = 1

  • no changes = 0 (可忽略)

特殊权限数值放在第一位:

 sudo chmod 6760 filename

文件权限将展示为 -rwsrwS---

第一个数字 6:setuid + setgid = 4 + 2 = 6,因此在所有者和用户中都体现了 s 权限。由于所有者的权限值为 7,有执行权限,所以它表示为 s,而用户组权限为 6,没有执行权限,因此表示为 S

 

移除特殊权限

移除特殊权限,使其留下常规权限,使用符号授权方式:

 sudo chmod u-s /path/to/file_or_directory

 

参考

参考文章:https://linuxize.com/post/understanding-linux-file-permissions/

标签:文件,用户组,chmod,file,Linux,权限,所有者
From: https://www.cnblogs.com/64gdrifbottle/p/18085904

相关文章

  • python之自定义表头、列表内容导出excel文件例子
    函数三个参数outputfile:导出excel文件的位置,没有的话在该位置建该文件title:表头args:列的内容,每列是一个列表importxlsxwriterdefwriteExcel(outputfile,title,*args):wb=xlsxwriter.Workbook(outputfile)#创建sheetsheet=wb.add_worksheet("Sh......
  • Linux网络编程: TCP协议首部与可选项简述
    一、TCP/IP五层模型物理层(PhysicalLayer):物理层是最底层,负责传输比特流(bitstream)以及物理介质的传输方式。它定义了如何在物理媒介上传输原始的比特流,例如通过电缆、光纤或无线传输等。数据链路层(DataLinkLayer):数据链路层位于物理层之上,负责在直接相连的节点之间传输......
  • 在Linux 中,如何配置网桥?如何配置虚拟网络?
    本章主要学习的是linux中如何设置网桥和虚拟网络的配置一、网桥的配置在Linux系统中配置一个新的网桥主要涉及以下几个步骤:为yum仓库做准备,安装组件epel-releasesudoyum-yinstallepel-release在yum仓库中安装bridge-utilscd/etc/yum.repos.d/sudoyum-yi......
  • linux: nohup & 重定向
    linux:nohup&重定向背景今天在进行一些spark-hive​的操作时,因为对此完全不了解,所以找好兄弟咨询了下,他给了我一串我完全看不懂的shell命令,本文就是专门用来解释这个命令的问题​nohup​以及>​代码这段神奇的代码:nohupspark-hive-fxx.sql>xx.log2>&1......
  • linux系统kubernetes的资源对象secret
    资源对象-secretSecret实现场景解释內建的Secrets创建自己的Secretsecret使用使用Secret加密流程创建secret加密数据挂载到pod容器以变量形式挂载以Volume数据卷形式挂载案例Secret实现作用:加密数据,存储在etcd中,让pod容器,以挂载Volume方式进行访问场景凭证......
  • linux系统kubernetes容器检查和恢复机制
    容器检查和恢复机制容器检查和恢复机制命令模式探针httpget方式探针POD的恢复策略容器检查和恢复机制在kubernetes中,可以为容器定义一个健康探针,kubelet就会根据这个Probe的返回值决定这个容器的状态,而不是直接以容器是否运行(来自Docker返回的信息)作为依据......
  • IDEA - 文件上方的文档注释如何自定义
      1、在设置中打开文件和代码模板,根据描述中的参考信息进行自定义配置File>Settings>Editor>FileandCodeTemplates 2、配置完成之后的效果如下    — 要养成终生学习的习惯—......
  • 【Python实用教程】使用Python快速查找电脑里的文件
    电脑随着使用时间的增加,我们在电脑中储存的文件变得越来越多。当这个时候你想要查找一个文件,但是又忘记了文件的位置在哪,想通过排序查找这个文件,又由于文件夹里面文件太多,根本找不到。如果使用电脑自带的搜索,时间又很长。那么在面对海量的存储文件,其实我们可以通过其实我......
  • 自己动手做一个批量doc转换为docx文件的小工具
    前言最近遇到了一个需求,就是要把大量的doc格式文件转换为docx文件,因此就动手做了一个批量转换的小工具。背景doc文件是什么?"doc"文件是一种常见的文件格式,通常用于存储文本文档。它是MicrosoftWord文档的文件扩展名。"doc"是"document"的缩写,表示这是一个文档文件。这......
  • 权限与用户
    一、使用者文件拥有者userLinux是一个多用户多任务的系统,文件拥有者能够让Linux系统的文件更安全。群组group保护系统文件安全,设置同一个群组下的成员对文件的管理权限其他人others除了文件的拥有者、群组以外的其他人对文件的管理权限rootroot拥有对系统所有文件的权限......