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

Linux文件权限

时间:2023-11-23 19:44:20浏览次数:44  
标签:文件 chmod ACL file Linux 权限 目录

一、文件权限

  1. 文件的权限针对三类对象进行定义

    owner 属主,缩写u

    group 属组,缩写g

    other 其他,缩写o

  2. 每个文件针对每类访问者定义了三种主要权限

    r:Read 读

    w:Write 写

    x:eXecute 执行

  3. 对于文件和目录来说,r,w,x有着不同的作用和含义:

针对文件:

r:读取文件内容

w:修改文件内容

x:执行权限对除二进制程序以外的文件没什么意义

针对目录:目录本质可看做是存放文件列表、节点号等内容的文件

r:查看目录下的文件列表

w:删除和创建目录下的文件

x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)

二、修改文件访问权限的方法

chmod 修改权限 change mode

方法1:mode法

格式:chmod who opt per file

who:u g o a(all)

opt:+ – =

per:r w x X

方法2:数字法

格式:chmod XXX file

rwx rw- r–
111 110 100
7 6 4

r:4
w:2
x:1

三、ACL访问控制列表

作用:实现更加灵活的权限管理,打破了三类用户的权限管理

添加ACL权限:

setfacl -m u:wang:0 file 使wang账户对指定file文件无权限

setfacl -m u:mage:rw file 使mage账户对指定file文件有读写权限

setfacl -m g:g1:rw file 使g1组对指定file文件有读写权限

getfacl file 查看指定file文件的ACL权限

删除ACL权限:

setfacl -x u:wang file 删除wang账户对指定file文件的ACL权限

setfacl -x g:g1 file 删除g1组对指定file文件的ACL权限

ACL权限下的mask:

设置用户对指定文件所能拥有的最大权限(限高作用)

setfacl -m mask::r file 使指定文件file所拥有的最大权限位读r

setfacl -x mask::r file 取消指定文件file的最大权限限制mask

setfacl -b f1 取消f1文件所有的ACL权限

备份和恢复ACL权限:

getfacl -R /tmp/dir1>acl.txt 将dir1目录下ACL权限备份

setfacl -R –set-file=acl.txt /tem/dir 恢复dir1目录下ACL权限

四、三种特殊权限suid、sgid、sticky(sticky权限工作环境中相对常用)

suid

作用:给一个用户继承二进制程序所有者拥有的权限

例:ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd

给file文件增加suid权限

chmod u+s file

chmod 4755 file suid数字法表示为4

sgid

作用1:给一个用户继承二进制程序所有组拥有的权限

例:ll `which cat`
-rwxr-sr-x. 1 root root 48568 Mar 23 2017 /bin/cat

给file文件增加sgid权限

chmod g+s file

chmod 2755 file sgid数字法表示为2

作用2:作用在目录上时,使一个目录下的新建的文件继承目录的所属组

sticky

作用:作用于目录上,此目录的文件只能被所有者删除

如:ll -d /tmp
drwxrwxrwt. 17 root root 4096 Apr 4 10:02 /tmp

给dir目录添加sticky权限

chmod o+t dir

chmod 1777 dir sticky数字法表示为1

五、文件权限操作的常用命令

  • chown 设置文件所有者(普通用户无法修改文件所有者)

  • chgrp 设置文件所属组(普通用户要想该所属组,前提是文件所有者为自己,自己在所属组中)

  • chmod 设置指定文件权限

-R 递归

–reference=f1 f2 f3 参考f1文件权限设置f2,f3文件

chattr 给指定文件添加保护,避免root账户误操作:

+i 锁定文件,不能删除,不能改名,不能更改内容

-i 解锁+i

-a 锁定文件,不能删除,不能改名,但可追加内容(追加重定向)

-a 解锁+a

+A 指定文件读时间atime不再更改

  • lsattr 查看指定文件是否有锁定状态

setfacl 设置文件ACL权限:

-m mask::r file 使指定文件file所拥有的最大权限位读r

-x mask::r file 取消指定文件file的最大权限限制mask

-b f1 取消f1文件所有的ACL权限

-R –set-file=acl.txt /tem/dir 恢复dir1目录下ACL权限

  • getfacl 查看文件ACL权限

 

标签:文件,chmod,ACL,file,Linux,权限,目录
From: https://www.cnblogs.com/zyj2580/p/17852330.html

相关文章

  • Linux解压缩命令
    解压tar.gztar-zxvftar-zxvf压缩文件名.tar.gzzipunzipzipped_file.zipunzipzipped_file.zip-dunzipped_directory压缩命令:tar-zcvftar-zcvf压缩文件名.tar.gz被压缩文件名zip-r-q-opack.zipmark/上面命令将目录mark/下的所有文件,打包成一个压缩......
  • Linux配置ssh
    kali网络经常抽风,遇到这种不符合常理的情况要重启安装debian系列sudoaptinstallopenssh-clientsudoaptinstallopenssh-serverredhat系列sudoyuminstallopenssh-server启动sudoservicesshstartservicesshstartservicestartssh不行sys......
  • Linux玩法
    通用man手册用法:了解如何使用:manmanman手册共有9本:第一本:查脚本命令ls、cd、pwd第二本:查系统调用函数open()、read()第三本:查库函数printf()、scanf()man2openman2closetty复制粘贴安装鼠标......
  • Linux文本模式手动配置静态ip ubuntu改ip
    查看当前系统版本cat/etc/os-release查看当前网卡设备名ipaifcofig-a高版本的ubuntu没有interfaces:vim/etc/netplan/xxxxxxnetwork:ethernets:ens33:#配置的网卡的名称addresses:[192.168.8.9/24]#配置的静态ip地址和掩码dhcp4:false......
  • 文件管理
    文件管理目录文件管理初识文件管理文件的属性文件内部数据应该怎样组织起来文件之间应该怎样组织起来?文件系统应该向上提供哪些功能从上往下看,文件应如何存放外存?其他需要由操作系统实现的文件管理功能文件系统管理目标设计文件系统需要考虑的主要问题什么是文件和文件系统?为什么......
  • linux下安装oracle 11g(静默安装)
    关闭selinux关闭防火墙检查安装依赖包yum-yinstallbinutilscompat-libcap1vsftpdgccgcc-c++glibc-develglibcelfutils-libelfdevelcompat-libcap1libaio-develkshlibgcclibstdc++libstdc++-devellibaiolibaio-develmakesysstatunixODBCunixODBC-devel......
  • springboot 集成swagger3.0 并开启权限认证
    1.POM文件只需要引入一个依赖即可  2.swagger配置文件如下注意:要添加“@EnableWebMvc"注解,详细代码如下:@Configuration@EnableWebMvcpublicclassSwaggerConfig{@Value("${swagger.enabled}")booleanenabled;@BeanpublicDocketdocket(){r......
  • Springboot文件上传代码笔记
    1.在src下创建filter包,包内Class名UploadFilterpackagecom.gd.filter;importorg.apache.catalina.servlet4preview.http.HttpServletRequest;importjavax.servlet.*;importjavax.servlet.annotation.WebFilter;importjavax.servlet.http.HttpServletResponse;impor......
  • react开发 jest写单元测试 如何借助mock模拟实现接口返回文件流的下载测试
    要借助mock模拟实现接口返回文件流的下载测试,可以使用以下步骤:1.创建一个用于接收文件流的虚拟DOM元素,例如通过`document.createElement('a')`创建一个`<a>`元素。2.使用`URL.createObjectURL()`方法将文件流转换为URL。3.设置创建的虚拟DOM元素的`href`属性为URL,同时设置`dow......
  • python批量修改文件名
    需求:有几十个文件(不超过100个),要根据文件名加序号思路:用字典将关键字对应序号,再批量改文件名,代码比较简单:importospath=input("请输入需批量更名的文件夹全路径:")units={"总裁办":"01","生产处":"02","安全处":"03"}files=os.listdir(path)forfilein......