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

文件权限

时间:2023-11-28 12:48:36浏览次数:31  
标签:文件 xxx umask 用户 chmod 权限

1.基本权限UGO

  • U:owner,属主
  • G:group,属组
  • O:other,其他用户

    r:read(读取),数字设定为4
    w:write(写入),数字设定为2
    x:execute(执行),数字设定为1
    其中图片上可知:
  • owner的权限为“rw-”(读写),数字可表示为4+2=6
  • group的权限为“r-”(读),数字表示为4
  • other的权限为“r-”,同理为4

2.设置文件属性与权限

chown:修改文件属主,属组

  • chown hanping xxx:改变xxx文件的所有者为hanping
  • chown xiaohan。linux xx:改变xx文件的属主为xiaohan,属组为linux
  • chown root ./abc:改变abc这个目录的所有者是root
  • chown ‐R root ./abc:改变abc这个目录及其下面所有的文件和目录的所有者是root

chgrp:修改文件属组

  • chgrp root xxx:改变xxx所属的组为root

chmod:修改文件权限

  • chmod 755 xxx:赋予xxx权限rwxr-xr-x
  • chmod u=rwx,g=rx,o=rx abc:同上
  • chmod u-x,g+w xxx:给xxx去除用户执行的权限,增加组写的权限
  • chmod a+r xxx:给所有用户添加读的权限

3.基本权限ACL

UGO权限只针对一个用户、一个组与其他用户,使用上有局限性,ACL主要提供传统的UGO的r、w、x权限之外的具体权限设置,可以对单一用户、单一文件或目录进行权限设置

3.1查看ACL权限

  • getfacl xxx

3.2添加ACL权限

添加用户权限

  • setfacl -m u:username:permissions filename
    添加组权限
  • setfacl -m g:groupname:permissions filename
    其中,username是用户的名称,groupname是组的名称,而permissions表示权限,如r(读取)、w(写入)和x(执行)等。

3.3删除ACL权限

删除用户权限

  • setfacl -x u:username filename
    删除组权限
  • setfacl -x g:groupname filename

4.ACL的高级特权

4.1最大有效权限mask

当mask权限为“rw-”而xxx用户的权限为“r-x”时,其"相与"后的最终权限为“r--”,但mask并不能影响所有用户,例如owner和other

5.高级权限

5.1SUID权限

SUID(Set User ID)是一种文件权限机制,允许一个执行文件在执行过程中暂时获得文件所有者的权限。这对于某些需要特殊权限执行的程序非常有用。
设置SUID权限

  • chmod u+s filename

5.2SGID权限

SGID(Set Group ID)是一种文件权限机制,允许一个执行文件在执行过程中暂时获得文件所属组的权限。通常用于确保多用户能够协同工作,同时具有对特定文件的写入权限。
设置SGID权限

  • chmod g+s dirname

5.3Sticky权限

Sticky权限是一种目录权限机制,防止非目录所有者删除其他用户创建的文件。通常用于一些公共目录,例如/tmp,确保用户只能删除自己的文件。
设置Sticky权限

  • chmod +t dirname

6.进程掩码umask

6.1进程掩码概述

进程掩码,通常称为umask,是一个用于限制新创建文件权限的值。它作为一个权限掩码,用来屏蔽掉权限中的特定位,确保新创建的文件或目录不会赋予过于宽松的权限。

6.2umask的作用

  • umask的主要作用是确定文件和目录的默认权限。系统中的每个用户和进程都有一个umask值,它与创建文件时所用的权限进行按位与运算,从而确定最终的实际权限。
  • umask值通过三位八进制数来表示,分别对应文件所有者、组和其他用户的权限位。例如,umask值为022表示新创建的文件默认会去掉组和其他用户的写权限。
  • 设置umask值
    umask 022

6.3修改umask值

  • 永久修改: 修改用户的shell配置文件(如/.bashrc或/.bash_profile)。
    在配置文件中设置umask值
    umask 022
  • 临时修改: 直接在命令行中设置umask值。
    临时设置umask值
    umask 022

标签:文件,xxx,umask,用户,chmod,权限
From: https://www.cnblogs.com/yyx147/p/17861655.html

相关文章

  • npm学习(二)之如何防止权限错误
     如何防止权限错误如果您在尝试全局安装包时看到EACCES错误,请阅读本章。如果更改安装npm的目录,通常可以避免此错误。要做到这一点,要么使用版本管理器重新安装npm(推荐)或手动更改npm的默认目录。选项一:使用节点版本管理器重新安装这是避免权限问题的最佳方法,在安装节点版......
  • npm学习(九)之README.md文件
      包括文档(readme.md)npm建议您包含一个readme文件来记录您的包。自述文件必须有文件名readme.md。文件扩展名.md表示该文件是一个标记(markdown)文件。当有人发现您的包时,该文件将出现在npm网站上。在开始之前,请查看一些包页面,了解可以添加到readme文件中的信息,并了解为......
  • 原生ajax动态加载js文件
    动态加载JS文件varxhr=newXMLHttpRequest;xhr.open('get','//web.test.com/js/common/jq.js',true);xhr.onreadystatechange=function(){if(xhr.readyState==4){if(xhr.status>=200&&xhr.status<300||xhr.s......
  • npm学习(十七)之node_modules中的bin文件夹
      可执行文件在本地模式下,可执行文件指向的位置;./node_modules/.bin 以便可以通过npm运行的脚本使用它们。例如,当您运行测试,将在路径中 npmtest。npm为script字段中的脚本路径都加上了node_moudles/.bin前缀npm为script字段中的脚本路径都加上了node_moud......
  • .gitignore配置文件
    #######################################################################BuildTools.gradle/build/!gradle/wrapper/gradle-wrapper.jartarget/!.mvn/wrapper/maven-wrapper.jar#######################################################################IDE......
  • ts文件使用class类引入SDK连接
    要在TypeScript文件中使用类引入并使用给定的代码,你可以创建一个类,并在类的构造函数中执行该段代码。以下是一个示例:classCollectEventSDK{constructor(){(function(win,exportObj){win['LogAnalyticsObject']=exportObj;if(!win[exportObj]){......
  • linux 文件共享盘以及备份机制
    NFS minio  glusterFile 1.NFSNFS服务器搭建  目录NFS服务器1、NFS简介2、NFS工作机制2.1.RPC3、/etc/exports文件的格式4、实操1)手动挂载2)自动挂载autofs NFS服务器1、NFS简介NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件......
  • 文件权限
    文件权限是指在Linux系统中,对文件和目录进行访问和操作的权限控制。它是保护文件和系统安全的重要机制之一。1.文件权限类型:可读权限(Read):表示具有读取文件内容的权限。 可写权限(Write) :表示具有修改文件内容的权限。可执行权限(Execute) :表示具有执行文件的权限。2.权限......
  • Anaconda 安装缺失文件导致开始菜单没有列表项
    1.2020版本的安装成功的目录如下: 2.安装失败的目录如下 3.我把别人和我同目录下安装成功的包复制到自己文件夹,进行替换,替换完,文件夹路径和1一样,但是此时开始菜单还没有快捷菜单4.打开dos窗口,切换到你的安装目录下,输入以下脚本python.\Lib\_nsis.pymkmenus执行结果如下: 5.......
  • vscode设置双击才能打开文件夹
    根据版本不同会有不同的方法打开文件夹:  在设置页中搜索expandMode,将singleClick改为doubleClick即可。双击打开文件:在设置页中搜索workbench.list.openMode。找到Workbench›List:OpenMode设置。选择doubleClick(在某些版本中可能显示为“双击”)关闭会......