首页 > 其他分享 >文件权限

文件权限

时间:2023-11-22 10:33:56浏览次数:25  
标签:文件 UGO 用户 ACL 权限 目录

在学习文件权限这一节知识点时我们需要掌握的是基本权限用法以及高级权限用法。

顾名思义权限就是允许一个东西去干什么东西,在文件权限这一章节中我们所指的就是允许某一个用户或某个用户组用规定的方式去访问某个文件。

基本权限UGO,首先我们介绍一下UGO这三个字母。U:owner,属主;G:group,属组;O:other,其他用户。我们在Linux系统中通过U、G、O将用户可以分成三类,然后对这三类用户分别设置三种基本权限,这种设置权限的方式称作UGO方式。U:rwx;G:rwx;O:rwx,其中r、w、x分别对于不同的操作。r:read(读取),数字设定为4;w:write(写入),数字设定为2;x:execute,数字设定为1。

 我们在设置文件属性与权限时,需要了解我们常用的三个修改权限命令:chown修改文件属主、属组;chgrp修改文件属组;chmod修改文件权限。例如修改文件权限使用chmod命令,那么有很多同学不是很清楚chown与chmod的区别,我们来讲一下关于chown:Linux系统中用来改变某个文件属性的命令,而chmod:Linux系统中用来改变某个文件的访问模式的命令。

前面我们了解了UGO权限,下面我们来了解一下ACL权限,UGO权限只针对一个用户、一个组与其他用户,有一定的局限性,而ACL权限提供UGO权限之外的权限,可以对单一用户、单一文件或目录进行权限的设置。getfacl命令用来查看ACL权限,setfacl命令可以设置ACL权限。讲完ACL的基本权限后我们来了解ACL的高级特性-最大有效权限mask,只要有任何ACL的权限设置,mask就会自动还原;default主要起到一个继承的作用。

有些权限是需要超级用户才能够访问,所以我们在进行操作时需要切换超级管理员用户-root用户。设计到一些权限例如:SUID权限,普通用户通过SUID提权,使用chmod命令给user增加SUID权限;SGID权限,在一个目录上添加SGID,该目录下新创建的文件会继承其属组;"Sticky Bit" 是一种在文件系统上设置的权限位,通常用于目录。当 Sticky Bit 被设置在一个目录上时,只有文件的所有者才能够删除或重命名自己的文件,其他用户无法删除或重命名该目录下的其他用户的文件,即便对该目录有写权限。

文件属性chattr,chattr是用于修改 Linux 文件系统上文件或目录的扩展属性(extended attributes)、隐藏权限的命令。这些扩展属性允许你设置一些特殊的标志,用于更改文件或目录的行为。chattr 命令通常用于提高文件的安全性或更改其行为。使用方法:chattr [选项] ±[属性] 文件名。

进程掩码umask,umask 是一个在创建新文件时掩盖权限的权限掩码。它通常用于设置进程的默认文件权限,确保新创建的文件不会拥有过于宽松的权限。在 Linux 系统中,umask 值是从默认权限中减去的,因此它通常用于降低权限而不是提高权限。我们在新建的目录如果全局可写,基本权限应该是777,不同的进程都可以自己设置自己的umask。

所以本章主要是去了解了基本权限UGO与ACL的用法、ACL高级特性以及mask与defalt的作用、高级权限SUID、SGID、Sticky的意义。另外,针对所有用户设置文件属性,进程和新建文件、目录的默认权限会受到umask的影响

 

标签:文件,UGO,用户,ACL,权限,目录
From: https://www.cnblogs.com/SUNDAWEN/p/17803257.html

相关文章

  • 简单的文件加密程序(md5xor异或winlinux)
    简介小程序是基于md5+password+xor的组合方式来加密文件。程序支持跨平台(Windows/Linux)。使用方法: 源文件清单:main.c  md5.c  md5.h  setup.sh 完整代码(main.c):#include<stdio.h>#include<stdlib.h>#include<string.h>#include<errno.h>#i......
  • 本地MinIO存储服务Java远程调用上传文件
    MinIO是一款高性能、分布式的对象存储系统,它可以100%的运行在标准硬件上,即X86等低成本机器也能够很好的运行MinIO。它的优点包括高性能、高可用性、易于部署和管理、支持多租户等。Cpolar内网穿透提供了更高的安全性和隐私保护,通过使用加密通信通道,Cpolar技术可以确保数据传输的......
  • win2win(windows之间局域网文件传输)
    简介这是一个基于C语言编写的控制台程序,可以在VS平台下编译。使用场景由于Windows之间自带的文件共享太费事,步骤太繁琐,于是参考网络文章Ctrl+C了一个凑出了一个小工具,主要实现网线直连或者同网段的局域网内的两台Windows电脑之间的文件传输。程序基于TCP协议传输,因此在......
  • 当项目中引用了 nuget 包,却在输出时无法找到对应文件时
    可以检查项目文件中对应包的属性是否有PrivateAssets=‘All’这个属性会在最终输出时,不复制相关文件,在nuget包仅在开发过程中使用时会比较有用。参考链接:https://learn.microsoft.com/zh-cn/nuget/consume-packages/package-references-in-project-files#controlling-depen......
  • CAJ转PDF文件
    使用CAJViewer1、使用CAJViewer打开想要转换的文件;2、点击“文件”选项卡,然后选择“打印”选项卡,或者直接按快捷键ctrl+p打开;  3.接下来重点来了,其实我们并不是真的要将CAJ文档打印出来,只是利用PDF虚拟将文档以PDF格式打印并保存下来,所以此时在打印机设备中选择一款PDF......
  • Java开发者的Python快速进修指南:文件操作
    Python提供的文件操作相对于Java来说,确实简单方便许多。不仅操作简单,代码可读性也相对较高。然而,我们需要注意的不仅仅是文件操作的简单性,还有文件操作的各种模式。在Java中,我们并不经常使用像Python中那样的操作模式。另外,我们还需要注意文件指针的移动。无论是Java还是Python,文......
  • 如何定义Sping上传文件的接口
    我直接通过拓云智能AI搜索获得了如下的答案。避免了花费太长时间也找不到直接答案。--现在百度广告太多了...在Spring中,通过定义Controll层,来实现接口,上传文件比较特殊,需要注意的点:可以使用@PostMapping注解来定义上传音频文件的接口使用MultipartFile类来接受前端上传......
  • 两个centos直接传递大文件
     两个centos直接传递大文件,其中,/path/to/source/file是源文件的路径,user是目标面板上的用户名,target_panel_ip是目标面板的IP地址,/path/to/destination/folder是目标文件夹的路径。scp/root/[email protected]:/ /path/to/source/file是源文件的......
  • 8.3 Windows驱动开发:内核遍历文件或目录
    在笔者前一篇文章《内核文件读写系列函数》简单的介绍了内核中如何对文件进行基本的读写操作,本章我们将实现内核下遍历文件或目录这一功能,该功能的实现需要依赖于ZwQueryDirectoryFile这个内核API函数来实现,该函数可返回给定文件句柄指定的目录中文件的各种信息,此类信息会保存在PF......
  • java读取.properties文件,通过key获取value
    1.将xx.properties文件放置在src/main/resources/config目录下(config是自己建的目录)2.通过ApplicationHome类获取target路径ApplicationHomeapplicationHome=newApplicationHome(this.getClass());Stringpath=applicationHome.getSource().getParent();3.拼......