首页 > 其他分享 >第四章 文件权限(一)

第四章 文件权限(一)

时间:2023-11-06 14:33:38浏览次数:25  
标签:文件 ACL 命令 设置 权限 目录 第四章

 

4.1 基本权限 UGO:

4.1.1 设置文件属性与权限:
在Linux系统中,每个文件和目录都有一组权限,用于控制对其的访问。这些权限被分为三个类别:用户(User)、组(Group)和其他人(Others)。每个类别都有三种权限:读取权限(R)、写入权限(W)和执行权限(X)。

  • 读取权限(R):允许用户查看文件内容或目录中的文件列表。
  • 写入权限(W):允许用户修改文件内容或目录中的文件列表。
  • 执行权限(X):对于文件,允许用户执行文件;对于目录,允许用户进入目录。

要设置文件的权限,可以使用chmod命令。下面是chmod命令的基本语法:

bash
chmod [r+w] 文件名

  


其中,权限模式可以使用数字或符号表示。

  • 数字表示法:每个权限用一个数字表示,读取权限为4,写入权限为2,执行权限为1。将所需权限的数字相加,即可得到权限模式。例如,权限模式为rwxr-xr--可以用数字表示为754。
  • 符号表示法:使用u、g、o和a分别表示用户、组、其他人和所有人。使用+、-和=来添加、删除和设置权限。例如,要将文件的所有者添加写入权限,可以使用命令:
bash
chmod u+w 文件名

4.1.2 UGO权限设置案例:
假设有一个文件名为example.txt,当前用户是文件的所有者。

  • 要将文件的所有者和组的权限设置为读取和写入权限,其他人的权限设置为只读权限,可以使用以下命令:
bash
chmod u+rw,g+rw,o+r example.txt

 

 

  • 要删除其他人的执行权限,可以使用以下命令:
bash
chmod o-x example.txt
  • 要将文件的所有者的执行权限设置为只读权限,可以使用以下命令:
bash
chmod u=r example.txt

 

4.2 基本权限 ACL:

4.2.1 ACL基本用法:
除了基本权限UGO之外,Linux还提供了一种更灵活的权限控制方式,即访问控制列表(ACL)。ACL允许用户为特定用户或组设置个别的权限。

要使用ACL,需要先确保文件系统支持ACL,并使用mount命令挂载文件系统时启用ACL选项。

  •  设置ACL权限:可以使用setfacl命令来设置ACL权限。下面是setfacl命令的基本语法:
bash
setfacl [选项] 文件名

其中,选项可以是以下之一:

  •  -m:添加或修改ACL权限。
  •  -x:删除ACL权限。
  • -b:删除所有ACL权限。

 

  •  查看ACL权限:可以使用getfacl命令来查看文件的ACL权限。下面是getfacl命令的基本语法:
bash
getfacl 文件名

 

4.2.2 ACL高级特性:
ACL还提供了一些高级特性,可以进一步细化权限控制。

  • -默认ACL:默认ACL允许用户为新创建的文件或目录设置默认的ACL权限。这样,在创建新文件或目录时,会自动继承默认ACL权限。默认ACL可以使用setfacl命令的-d选项来设置。
  • 继承ACL:继承ACL允许用户为目录设置继承ACL权限。这样,在目录中创建的新文件或目录会自动继承该目录的ACL权限。继承ACL可以使用setfacl命令的-R选项来设置。
  • -限制ACL:限制ACL允许用户为文件或目录设置限制ACL权限。限制ACL权限会覆盖基本权限和其他ACL权限。限制ACL可以使用setfacl命令的-mask选项来设置。

 

标签:文件,ACL,命令,设置,权限,目录,第四章
From: https://www.cnblogs.com/Kkkkky/p/17803527.html

相关文章

  • Python_pytest +文件名,报错—— zsh: command not found: pytest
     原因:由于“通过pip安装pytest不会使其成为系统命令,而是会将其安装到python”“-m命令将pytest作为其自己的命令运行,然后任何后续脚本都将作为参数。”解决:所以我们在命令窗口执行时应该在.py文件所在路径下执行  python-mpytest-vtest_wework.py这个问题终于......
  • Rust 在可执行文件中嵌入代码版本信息
    缘起我想要最终编译出的可执行文件中包含代码仓库的版本信息fnmain(){println!("HelloRustHub");//gitrev-parse--shortHEAD letcommit_hash="6c1b45f";println!("commit_hash:{}",commit_hash);}为了自动获取这个"6c1b45f"很自然的我们可以......
  • (六)Python之文件类型
    1、源码文件:Python源代码文件以“py”为扩展名,由于python语言解释,不需要编译2、字节代码文件Python源文件经编译后生成的扩展名为“.pyc”的文件名,依然由python加载执行,不过速度会提高,也会隐藏源码,根据官方文档说明,速度提高不是提高代码的执行速度,而是提高加载模块的速度。有......
  • 关于文件夹权限不够,引起的安装错误的处理方法
      文件夹没有权限,在更改文件夹的权限的时候会报各种错误,很多人在一报错的情况下,都不知道如何设置了。今天给大家带来一个用命令来处理这个问题的方法:假设文件路径为:C:\Windows\System32\en-US  比如:在安装软件的时候,报这个错误:用上面的设置文件权限的方法又报错的情况......
  • RStudio中,出现中文乱码问题的解决方案(修改文件编码)
    RStudio中,出现中文乱码问题的解决方案解决步骤:1、设置RStudio文本显示的默认编码:RStudio菜单栏的Tools->GlobalOptions2、选择General->DefaultTextEncoding,点击Change:3、在弹出的编码中,选择UTF-8编码。4、点击OK,然后再点击OK,保存设置。5、最后,在打开文件的时候,选择File->......
  • linux 文件名乱码 文件名出现问号 批量修改文件名
    linux文件名乱码文件名出现问号原因:创建文件的批处理文件使用windows编辑的,因为windows的换行是\r\n,而linux换行是\n,出现一些乱码如何处理: 1.linux批量重名名  2.dos2unix把Windows文件转换格式 LinuxShell批量重命名的方法1、删除所有的.bak后缀:rename's/\.bak$......
  • 在Mac OS上如何运行jar文件
     问题1:%java-jarTASTS-MacOS-X64.jar***WARNING:DisplaymustbecreatedonmainthreadduetoCocoarestrictions.Exceptioninthread"main"org.eclipse.swt.SWTException:Invalidthreadaccess   atorg.eclipse.swt.SWT.error(SWT.java:4533)   at......
  • 关于Mac OS虚拟机下共享文件夹的方法
     1、确保左上角苹果标志的旁边是“Finder”;2、点击"Finder";3、选择“偏好设置设置”;4、然后在“通用”标签下勾选“已连接服务器”;5、重启。    FinderPreference--General--连接服务器 设置边栏: 重启之后可以看到共享文件夹: ......
  • VMware Workstation 15 Pro 安装macOS 10.15 Catalina (cdr文件版)
    VMwareWorkstation15Pro安装macOS10.15Catalina(cdr文件版) 所需工具:1.VMwareworkstation15Pro2.Unlocker (https://github.com/paolo-projects/unlocker/releases)https://github.com/paolo-projects/unlocker/releases/download/3.0.3/unlocker.zip3.macOScdr安......
  • Java程序如何生成Jar 执行文件
     EclipseIDE      ......