Linux 读写权限的配置

news2024/11/18 5:50:51

文件权限

文章目录
  • Linux文件权限详解
    • 一、文件权限
    • 二、修改文件访问权限的方法
    • 三、UMASK值
    • 四、三种特殊权限suid、sgid、sticky(sticky权限工作环境中相对常用)
    • 五、ACL访问控制列表
    • 六、文件权限操作的常用命令

Linux文件权限详解

Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式对文件和目录进行访问和操作。

一、文件权限

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

    owner 属主,缩写u

    group 属组,缩写g

    other 其他,缩写o

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

    r:Read 读

    w:Write 写

    x:eXecute 执行

    另 X:针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)

    注意:root账户不受文件权限的读写限制,执行权限受限制

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

    针对文件:

     r:读取文件内容
     
     w:修改文件内容
     
     x:执行权限对除二进制程序以外的文件没什么意义
    

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

     r:查看目录下的文件列表
     
     w:删除和创建目录下的文件
     
     x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)
    

    权限

  4. 用户获取文件权限的顺序: 先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。

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

  • 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
    

    例:chmod 764 file 给file文件添加 rwxrw-r– 权限

    chmod -R +X dir 给dir目录添加X执行权限,dir目录下文件不添加执行权限

    (如果dir目录下有文件已具备执行权限,则添加该文件执行权限)

三、UMASK值

作用:取消对应的权限,影响创建文件和目录的默认权限

对目录:	umask+default=777(dir)

对文件:666-umask:观察结果,如果有奇数,奇数位+1,偶数不变

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

  1. suid

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

    suid权限位 位于所有者的执行权限位上,如果一个文件具有suid权限,则所有者执行位为s,文件表现为红色背景

     例: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
    

    注: suid只适合作用在二进制程序上

  2. sgid

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

    sgid权限位 位于所有组的执行权限位,如果一个文件具有suid权限,则所有组的执行位为s,文件表现为黄色背景

    例: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:作用在目录上时,使一个目录下的新建的文件继承目录的所属组

  3. sticky

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

    sticky权限位 位于其他的执行权限位上,如果一个文件具有sticky权限,则其他的执行位为t,目录表现为绿色背景

    如:ll -d /tmp
    	drwxrwxrwt. 17 root root 4096 Apr  4 10:02 /tmp
    
    给dir目录添加sticky权限
    
    	chmod o+t dir
    
    	chmod 1777 dir                sticky数字法表示为1
    

五、ACL访问控制列表

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

  1. 添加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权限执行顺序类似于用户获取文件权限的顺序,getfacl顺序从上到下执行,一旦生效,下面的将不再生效(如果属于多个组,权限累加)

  2. 删除ACL权限

    setfacl -x u:wang file      删除wang账户对指定file文件的ACL权限
    
    setfacl -x g:g1 file   删除g1组对指定file文件的ACL权限
    
  3. ACL权限下的mask

    设置用户对指定文件所能拥有的最大权限(限高作用)
    
    setfacl -m mask::r file             使指定文件file所拥有的最大权限位读r
    
    setfacl -x mask::r file               取消指定文件file的最大权限限制mask
    
    setfacl -b f1                      取消f1文件所有的ACL权限
    

    ACL生效顺序:所有者、自定义用户、自定义组、其他人

  4. 备份和恢复ACL权限

    getfacl -R /tmp/dir1>acl.txt           将dir1目录下ACL权限备份
    
    setfacl -R –set-file=acl.txt /tem/dir      恢复dir1目录下ACL权限
    

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

  • 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权限

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1211077.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

锐捷 Smartweb管理系统命令注入漏洞复现 [附POC]

文章目录 锐捷 Smartweb管理系统命令注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 锐捷 Smartweb管理系统命令注入漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关技术从事非法测…

学生台灯护眼灯需要多少W?小学生合适的五款护眼台灯推荐

台灯如何选择,随着人们生活水平的提高及科技的不断进步,台灯的品质也得到了极大的提高,在生活中很多时候都需要使用台灯,但是市面上的台灯那么多,台灯如何选择。学生护眼台灯选择多少瓦比较好呢?选择12w-20…

一文搞懂Transformer

近期Transformer系列模型的出现,增加了CV领域的多样性。但是Transformer这一不同领域的模型对学习者来说需要一个细致的学习过程.下面就是本菜鸟总结学习路线。 Transformer是基于attention机制。而attention机制又在Encoder、Decode中。本篇博客将从Attention->…

洗内裤的小洗衣机买啥牌子的?口碑好的迷你洗衣机推荐

迷你洗衣机是一种小型的家用洗衣设备,主要是由于其小巧便携而且实用性高的特点,非常适用于小户型家庭、单身人士、学生宿舍等场所,如今随着迷你洗衣机在市场上越来越受到消费者的青睐。那么,迷你洗衣机哪个牌子好用又不贵呢&#…

RabbitMQ-高级篇-黑马程序员

代码: 链接: https://pan.baidu.com/s/1nQBIgB_SbzoKu_XMWZ3JoA?pwdaeoe 提取码:aeoe 在昨天的练习作业中,我们改造了余额支付功能,在支付成功后利用RabbitMQ通知交易服务,更新业务订单状态为已支付。 但…

uniapp开发ios上线(在win环境下使用三方)

苹果 1、win环境下无法使用苹果os编译器所以使用第三方上传工具,以下示例为 初雪云 (单次收费,一元一次) 初雪云(注册p12证书):https://www.chuxueyun.com/#/pages/AppleCertificate 苹果开发者…

LeetCode - 232.用栈实现队列 225.用队列模拟实现栈 (C语言,配图)

目录 232.用栈实现队列 225.用队列模拟实现栈 注:本文是基于C语言实现的代码,所以栈和队列是在力扣上制造实现的,如果你使用C等语言,可以忽略前面相当大部分的代码。 在栈模拟实现栈和队列之前,我们先来复习一下栈和…

【LeetCode】每日一题 2023_11_14 阈值距离内邻居最少的城市(Floyd 最短路算法)

文章目录 刷题前唠嗑题目:阈值距离内邻居最少的城市题目描述代码与解题思路随机挑选一个大佬的题解 CV 结语 刷题前唠嗑 LeetCode? 启动!!! 今天的题目也是重量级,看到这个题目的名字,看到这张图&#xf…

MySQL My.cnf参数梳理与延伸 (MYSQL 8 cache and buffer类)

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(…

Python兼职接单(非常详细)从零基础入门到精通,看完这一篇就够了

当下python需求量还是挺大的,对于想要做兼职的程序员还是挺友好的:起码不用愁找不到;目前来看,其兼职方向大致有三:开发、爬虫、数据分析。 就开发来说,目前python的轮子在Github上一抓一大把,…

数据结构笔记:R树

R-trees: a dynamic index structure for spatial searching 1984 1 介绍 R树可以看作B树再高维空间的扩展。它很好的解决了在高维空间搜索等问题。 采用了B树分割空间的思想,并在添加、删除操作时采用合并、分解结点的方法,保证树的平衡性R树就是一棵…

Nginx配置开启HTTPS

获取证书文件 Nginx 开启SSL server {listen 443 default ssl;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;proxy_set_header Host $host;ssl_certificate /usr/local/nginx/cert/server.pem;ssl_certificate_key /usr/local/ngin…

Sealos 云操作系统一键集成 runwasi,解锁 Wasm 的无限潜力

WebAssembly (通常缩写为 Wasm) 是一种为网络浏览器设计的低级编程语言。它旨在提供一种比传统的 JavaScript 更快、更高效的方式来执行代码,以弥补 JavaScript 在性能方面的不足。通过使用二进制格式,WebAssembly 能够提供比传统 JavaScript 更快的解析…

印刷企业使用数字工厂管理系统前后有什么变化

随着科技的飞速发展,数字工厂管理系统已经逐渐渗透到印刷企业的各个环节。本文将通过分析印刷企业在使用数字工厂管理系统前后的变化,探讨这一技术如何为印刷行业带来革新。 一、使用前的状况 在使用数字工厂管理系统之前,印刷企业的生产方式…

从理论到实践:深度解读BIO、NIO、AIO的优缺点及使用场景

文章目录 BIO优缺点示例代码 NIO优缺点示例代码 AIO优缺点示例代码 总结 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 BIO、NIO和AIO是Java编程语言中用于处理输入输出(IO…

一则DNS被重定向导致无法获取MySQL连接处理

同事反馈xwik应用端报java exception 获取MySQL连接超时无法连接到数据库实例 经过告警日志发现访问进来的IP地址数据库端无法被解析,这里可以知道问题出现在Dns配置上了 通过以上报错检查/etc/resolve.conf 发现namesever 被重定向设置成了114.114.114.114 域名 …

Java面试题(每天10题)-------连载(31)

多线程篇 注:今天只更新四题,明天就换别的了 1、concurrent包下有哪些类? ConcurrentHashMap、Future、FutureTask、AtomicInteger... 2、线程a、b、c、d运行任务,怎么保证当a、b、c线程执行完再执行d线程? 1 、 Cou…

AdaBoost:提升机器学习的力量

一、介绍 机器学习已成为现代技术的基石,为从推荐系统到自动驾驶汽车的一切提供动力。在众多机器学习算法中,AdaBoost(Adaptive Boosting的缩写)作为一种强大的集成方法脱颖而出,为该领域的成功做出了重大贡献。AdaBoo…

企业设备巡检的痛点和解决方案

在设备巡检过程中,企业常面临多种痛点。首先,信息管理不足是一个关键问题,企业往往缺乏全面、准确的设备信息记录,这导致巡检工作缺乏针对性和效率。其次,巡检流程的非标准化使得巡检结果出现不一致,重要的…

HTML5+CSS3小实例:炫酷的流边按钮

实例:炫酷的流边按钮 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content="wid…