Linux ————​文件权限

news2024/11/22 14:24:42

 (一)文件权限

基础补充

        文件基本属性(Linux中万物皆是文件)文件是操作系统用来存储信息的基本结构,是一组信息的集合。文件通过文件名来唯一标识。Linux中的文件名称最长允许255个字符,这些字符可用A~Z、0~9、. _ -等符号表示。与其他操作系统相比,Linux最大的不同点是没有“扩展名”的概念,即文件的名称和该文件的种类并没有直接的关联,例如,sample.txt可能是一个运行文件,而sample.exe也有可能是文本文件,甚至可以不使用扩展名。另一个特性是Linux文件名区分大小写。例如,sample.txt、Sample.txt、SAMPLE.txt、samplE.txt在Linux系统中代表不同的文件,但在DOS和Windows平台却是指同一个文件。在Linux系统中,如果文件名以“.”开始,表示该文件为隐藏文件,需要使用Is-a命令才能显示。
        在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。
        通过设定权限可以用以下3种访问方式限制访问权限?只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问。同时,用户能够控制一个给定的文件或目录的访问程度。一个文件或目录可能有读、写及执行权限。当创建一个文件时,系统会自动赋予文件所有者读和写的权限,这样,可以允许文件所有者查看文件内容和修改文件。文件所有者可以将这些权限改变为任何他想指定的权限。一个文件也许只有读权限,禁止任何修改。文件也可能只有执行权限,允许它像一个程序一样执行。
        3种不同的用户类型能够访问一个目录或者文件:所有者、用户组或其他用户。所有者是创建文件的用户,文件的所有者能够授予所在用户组的其他成员及系统中除所属组之外的其他用户的文件访问权限。
        每一个用户针对系统中的所有文件都有它自身的读、写和执行权限。第一套权限控制访问自己的文件权限,即所有者权限。第二套权限控制用户组访问其中一个用户的文件的权限第三套权限控制其他所有用户访问一个用户的文件的权限。这3套权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限,就构成了一个有9种类型的权限组。
 

Linux权限的最大用途就是安全性

 权限

如何查看文件属性:

ls命令:

文件权限 

        所谓的文件权限,是指对文件访问权限,包括对文件的读、写、删除、执行操作。Linux是一个多用户操作系统,它运行多个用户同时登陆和工作,因此,Linux将一个文件或者目录与一个用户与组联系起来的。

   查看文件的权限

        drw-r-xr-x 9 n1 m1                 4096 Nov 13 00:30 apache-tomcat-7.0.61

三组权限,每组3个字母

r :读取权限

w :写入权限

x :执行权限

-:没有权限

root :所属用户(属主)

root:所属的组(属组)

权限的UGO模型

三组权限

属主的权限:属组的权限:其他的权限

所有说:将来修改文件的权限 可以从rwx和ugo两个方面进行修改

修改文件的权限

        修改文件所属

                chown n1 /var/lucky1

                chown n1:m1 /var/lucky2

       修改文件夹时,让子目录迭代修改

                chown -R n1:m1 school chgrp m2 lucky3

        当用户的组被修改之后,需要重新登录才能获取新组的权限

修改文件的rwx

chmod o+w lucky4

chmod ug+rw lucky4

chmod ugo-rw lucky4

(权限RWX分别对应数字 4 2 1 5= 4+0+1 r-x)

         chmod 664 lucky4 ->(rw- rw-r--)

 权限赋予

        我们可以将管理用的权限分配给普通用户

        文件位置在 vim /etc/sudoers 但是修改这个文件需要使用命令

                visudo

               修改 Line 99

               n1 ALL=(root) /sbin/useradd

               n1 ALL=(root) /sbin/*

如何使用

su n1

sudo chkconfig iptables off

一般权限:

 

特殊权限:

         特殊权限在文件和目录上具有特定的功能,但由于它们带有特定的权力,若无实际需求,不建议随意开启,以防安全风险或被恶意攻击者利用。以下是这些特殊权限的详细说明:

1)s 或 S(SUID,Set UID)

        当为可执行文件设置此权限时,运行该文件的用户将获得文件所有者的权限来执行它。需要特别注意的是,带有SUID权限且以root为所有者的文件可能会被恶意利用。攻击者可能会寻找具有此权限的文件,试图创建系统内的后门。

2)s 或 S(SGID,Set GID)

         当在文件上设置此权限时,其效果与SUID类似,但此时运行文件的用户将获得文件所属的用户组的权限。这意味着该文件可以存取其所属用户组所能使用的全部系统资源。

3)T 或 t(Sticky)

        此权限通常用于目录,如/tmp或/var/tmp。这些目录可供所有用户创建和存储文件,但只有文件的创建者或root才能删除或移动这些文件。这是为了保护用户之间的数据不被其他用户随意删除。

        由于SUID、SGID和Sticky权限在显示时占据执行权限x的位置,因此大小写有所不同。当执行权限与SUID、SGID、Sticky同时开启时,将使用小写字符表示:

-rwsr-sr-t 1 root root 4096 6月 23 08:17 conf

而当关闭执行权限时,则使用大写字符表示:

-rwSr-Sr-T 1 root root 4096 6月 23 08:17 conf


 

(二)权限字和权限操作

改变所属群组chgrp:

改变文件拥有者chown:

改变文件属性chmod:

文字设定法:

数字设定法: 

        我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将具相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(0)
        例如,如果想让某个文件的属主有"读/写"两种权限,需要把4(可读)+2.(可写)=6(读/写)

举例说明:文件的权限字符为:rwxrwxrwx,这九个权限是三个、三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

r:4                         w:2                      x:1 


        每种身份((owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限
为:rwx    r--r-x分数则是  owner= rWx= 4+2+1=7  group=rwx=4+0+0=4  others=---=4+0+1=5
 

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

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

相关文章

【小程序图片水印】微信小程序图片加水印功能 canvas绘图

看看效果 实现步骤: 1.选择图片 /* 选择背景图片 对图片的大小以及类型做一下限制 */ chooseImage(e) {uni.chooseImage({count: 1,success: (res) > {let index res.tempFilePaths[0].lastIndexOf(".");let imgUrl res.tempFilePaths[0].substr(i…

【设计模式】第3节:设计模式概论

设计模式不是代码,而是某类问题的通用方案。设计模式的本质是提高软件的维护性、通用性和扩展性,并降低软件的复杂度。一共有24种设计模式,可以分为创建型模式、结构型模式和行为型模式三大类。设计模式中比较重要的有:单例模式、…

seata at模式死锁

背景 mysql版本为5.7,在mysql的系统表中,有一个lock_deadlocks的指标 SELECT * FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE name LIKE %deadlock%该指标的count值记录了数据库实例从启动到现在的死锁次数,我们通过普罗米修斯的mysql探针&#xff0…

软件外包开发的代码质量控制

软件代码质量控制是确保软件项目成功的重要组成部分。以下是一些常见的软件代码质量控制方法,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.代码审查(Code Review) 通过定…

Zynq UltraScale+ XCZU15EG 纯VHDL解码 IMX214 MIPI 视频,2路视频拼接输出,提供vivado工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 MIPI 编解码方案3、本 MIPI CSI2 模块性能及其优越性4、详细设计方案设计原理框图IMX214 摄像头及其配置D-PHY 模块CSI-2-RX 模块Bayer转RGB模块伽马矫正模块VDMA图像缓存Video Scaler 图像缓存DP 输出 5、vivado工程详解PL端FPGA硬件设计…

目前比较好用的护眼台灯?央视公认最好的护眼台灯推荐

写这篇文章的时候,我总有种悔不当初的痛感:上学时只喜欢造型好看的台灯,总是把老妈买的护眼灯丢在一边,导致现在眼睛高度近视。虽然不念书了,但平日使用电脑浏览信息、阅读纸质书仍是抛弃不掉的生活习惯,配…

Redis实现方式开启新篇章,解决分布式环境下的资源竞争问题,提升系统稳定性

前言 分布式锁一般有三种实现方式: 数据库乐观锁;基于Redis的分布式锁;基于ZooKeeper的分布式锁 本篇博客将介绍第二种方式,基于Redis实现分布式锁。 虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实…

万字长文搞懂产品模式和项目模式

项目模式是很多传统企业对IT进行投资的方式,相对于产品模式,项目模式在团队建设、快速反应等方面存在很多弊端,本文从多个角度比较了产品和项目两种团队模式的利弊,并在最后回答了若干常见问题。原文: Products Over Projects 软件…

活动回顾|KCD 2023 杭州站

KCD 2023 活动介绍 HANGZHOU 关于 KCD Kubernetes Community Days(KCD)由云原生计算基金会(CNCF)发起,由全球各国当地的 CNCF 大使、CNCF 员工以及 CNCF 会员单位联合组织。目前 KCD 正在全球各个国家活跃地组织进行中…

nvidia-smi

1、说明 nvidia-smi 是 NVIDIA System Management Interface 的缩写,是 NVIDIA 提供的一个命令行工具,用于查看和管理 NVIDIA GPU 设备的信息。执行这个命令通常可以获取关于系统上安装的 NVIDIA GPU 的实时状态和性能信息。 一般来说,nvid…

内裤洗衣机有用吗?公认好用的四大款内衣洗衣机推荐

内衣目前洗衣机已经成为我们生活中不可缺少的一种电器。这不但可以节约我们的时间,而且能更好地清洗干净贴身衣物,使我们的生活变得更健康。那么到底哪些内衣洗衣机值得买呢?哪些内衣洗衣机清洗效果会更干净呢?这次,我…

众和策略:谷歌大跌!土耳其股市,两度熔断!

当地时间周三,美股三大指数团体收跌,谷歌等大型科技股连累纳指大跌超2%,创2月以来最大单日跌幅。 当日,谷歌股价大跌近10%至三个月低位,市值一夜蒸发超1600亿美元。周二盘后,谷歌母公司Alphabet发布了最新…

FinalShell或者XShell工具 突然连不上服务器(绝对好使!)

关闭网络管理器 systemctl stop NetworkManager禁止网络管理器开机重启 systemctl disable NetworkManager重启网络 service network restart绝对好使!

技术实力获行业高度认可,几何伙伴首获科技进步奖殊荣!

2023年10月25日,“2023年度中国汽车工程学会科学技术奖”正式公布并于北京举行颁奖典礼,以对汽车工业努力奋斗、勇于创新的优秀企业和人才进行嘉奖,对优秀先进成果进行表彰。 其中,由几何伙伴主导,携手上汽集团、友道智…

睿趣科技:抖音小店在哪里选品

随着抖音平台的日益火爆,越来越多的商家选择在抖音小店开设自己的店铺。然而,对于许多新手来说,如何选品却成为了一个难题。那么,抖音小店应该在哪里选品呢? 首先,我们可以从抖音平台上的热门商品入手。通过观察抖音上…

创业酵母:为创业酵母的新增长,数字化“发酵”

成立于2014年11月的创业酵母是一家以教育和咨询为核心的一站式企业服务平台。 张丽俊(Cherry)和俞朝翎(俞头)是创业酵母的两位创始人,由于两位创始人都是第一代阿里人,他们希望能将自己在阿里沉淀下来的经验…

NPDP产品经理证书是什么行业的证书?

NPDP是一个跨行业的证书,它适用于各种不同类型和规模的组织。无论是制造业、服务业还是科技领域,都可以从NPDP认证中获益。 1. 制造业: 制造业涉及大量的产品开发和创新活动。从汽车制造到电子设备制造,从家居用品到航天航空&…

重复性管理--抽象的重要性(上)

Haskell 语言的设计者之一 Paul Hudak 曾说过一句略带夸张的话(overstatement): 编程中最重要的三件事是: 抽象, 抽象, 抽象. “abstraction, abstraction, abstraction” are the three most important things in programming. 如果你去问一些资深开发者, 程序员最重要的的能力…

电商API接口教程|设计一个牛逼的Java API接口?

主要从以上三个方面来设计一个安全的电商API接口(包含淘宝/天猫/京东/拼多多/抖音/跨境电商亚马逊/阿里巴巴/LAZADA等)。 一 安全性问题 安全性问题是一个接口必须要保证的规范。如果接口保证不了安全性,那么你的接口相当于直接暴露在公网环…

vue3+klinecharts实现k线(附完整代码)

vue3klinecharts实现k线 环境安装图表配置创建一个容器实现点击时间切换图表完整代码 环境 vue3 klinecharts 最终实现 安装 npm install klinecharts图表配置 具体可用参考官网 https://klinecharts.com/guide/styles.html const option {crosshair: {show: true,//…