Linux文件权限-DivineEngine

通过命令ls-l就可以获得文件的权限、属主与属组等信息:

ls-l/etc/hosts-rw-r--r--1rootroot186Aug2718:31/etc/hosts这些信息表示为:

对于每个文件来说,权限被分配给三种不同类别的用户:

关于第一个字母表示的文件类型:

举个例子,-rwxr-r--表示这是一个普通文件,属主拥有读取r(ead)、写入w(rite)及执行x(ecute)权限,而属组和世界(其他用户)均有读取但没有写入和执行权限。

你可能对属组还不是很明白,举个例子有这么一个目录:

drwxr-x---3awww4096Mar3015:30wwwroot属主是用户a,属组是www。这时用户b没有权限的,因为其他用户权限是---。但让用户b加入到名为www到用户组就可以拥有权限r-x。

思考

那么当一个文件的属主没有写入权限而属组有写入权限时,如:

-----w----2user1group14.0KAug2308:45README注意user1用户属于group1用户组,这时可以写入吗?

这是一个权限冲突的问题,属主权限是---,属组权限是-w-,当遇到这样的情况时以属主权限为准,即便该用户属于有写入权限的用户组。

**文件和目录只有其属主或root用户通过chmod(ChangeMode)命令修改文件或目录的文件模式(权限)。

chmod命令有八进制表示法和符号表示法两种模式表示方式。

举个例子:

mkdirDocuments&&ls-ldrwxr-xr-x2connersconners4096Apr811:32Documents这里新建了一个名为Documents的目录,并且可以看到权限是rwxr-xr-x。

按照八进制表示法就是755,也就是依照3个八进制数位表示属主、属组与其他用户的权限。

755usergroupworldr+w+xr+xr+x4+2+14+0+14+0+1=755那么如果想要将其他用户的权限禁止掉,即修改为rwxr-x---就可以使用八进制表示法:

#chmod<八进制表示法><目标文件或目录>chmod750Documents符号表示法符号含义u属主(user缩写)g属组(group缩写)o其他用户(other缩写)a所有(all缩写,等同于u、g、o一起设置)+添加权限-移除权限=只赋予指定权限并移除其他权限举几个例子:

#为指定文件或目录的属组添加写入权限chmodg+w<目标文件>#移除属主、属组与其他用户的写入权限#可以进一步简写为-w省去achmoda-w<目标文件>#可以同时添加多个权限,如为属组同时添加写入与执行权限chmodg+wx<目标文件>#等号会移除其他权限#如下,为属组与其他用户设置为仅有读取与执行权限,如果原有写入权限会被禁用chmodgo=rw<目标文件>#一次性为属主、属组与其他用户设置不同权限时,可用英文逗号隔开chmodu+x,go=rx<目标文件>可以使用-v选项得出修改前后的差别及八进制表示:

#chmod--reference=<被复制权限文件><复制权限文件>chmod--reference=a.shb.sh如上,文件b.sh就拥有了和a.sh一样的文件权限。

chmod还可以使用-R选项以递归的方式更新目录内所有文件的权限。但注意目录下的内容及子目录未必都是相同的属性,比如有的是可执行文件有的是文本文件。

在使用chmod-R进行执行权限调整需要谨慎,它不会去管执行权限对目录和普通文件有不同的含义。前面说过对于目录x表示进入目录,对于普通文件x表示执行。

针对这个问题,也就是如果只想对文件进行一个递归设置,但目录不要进行相应权限设置,可以搭配find命令:

find~-typef-execchmod640{}\;上面这条命令表示使用fimd查找主目录(~)下的普通文件(-typef),执行命令(-exec),命令为chmod640,针对查找到的文件({}),命令结束(\;)

使用chown和chgrp命令可以用于改变文件的属主和属组。

只有root用户可以改变文件的属主,普通用户只有在拥有该文件并且只能更改为其所属的组时才能更改该文件的属组,而root用户可以更改所有文件的属组。

修改文件的属主:

sudochown<目标用户><文件名>在用户组前加上冒号即为修改文件的属组,属主不变:

chown:<目标群组><文件名>将两者结合,修改目录wwwroot的属主为nginx,属组为web:

#-R选项用于递归修改目录下的子文件及子目录sudochown-Rnginx:webwwwroot除了使用chown:<目标属组><文件名>,使用chgrp命令也可以达到相同效果:

sudochgrp<目标群组><文件名>特殊权限除了读取、写入、执行权限之外还有其他一些较少用到的特殊权限设置。

但只是普通用户权限的我们是如何得以修改/etc/shadow文件的?答案是setuid。

setuid位(八进制表示为4000),如果将其应用于可执行文件,会将有效用户ID(effectiveuserID)从真实用户(实际执行程序的用户)ID更改为程序属主的有效用户ID。

大多数情况下,少数超级用户的程序才会做此设置。当普通用户执行setuidroot程序时,该程序将以超级用户的权限来执行,可以访问普通用户通常被禁止访问的文件和目录。这显然会带来安全隐患,因此允许设置setuid位的程序数量必须控制在最小范围内。

chmodu+s<程序文件名>#八进制法表示为chmod4755<程序文件名>权限:-rwsr-xr-x,注意属主的s。

setgid位类似于setuid位,它会将有效组ID(effectivegroupID)从真实用户的真实组ID(realgroupID)更改为文件属主的有效组ID。

如果对目录设置setgid位,那么在该目录下新创建的文件将由该目录的属组所有,而非文件创建者的属组所有。

这在共享目录中非常有用,当一个共同属组的成员需要访问目录中的所有文件时,不用管文件属主的属组是什么。

chmodg+s<目录名>#八进制法表示为chmod2775<目录名>权限:drwxrwsr-x,注意属组的s。

粘滞(sticky)位来自「远古」Unix的遗留产物,用于将可执行文件标记为「不可交换」。

Linux会忽略文件上设置的粘滞位,如果对目录设置了粘滞位,则能够阻止用户删除或者重命名其中的文件,除非用户是该目录的属主,或者是文件的属主,又或者是超级用户。

粘滞位常用来控制对共享目录(如/tmp)的访问。

chmod+t<目录名>#八进制法表示为chmod1777<目录名>权限:drwxrwxrwt,注意最后的t。

一般来说Linux上的文件或目录使用一组默认的权限进行创建,umask命令可用于查看或设置创建新文件的时的默认权限。

不带任何选项参数的情况下使用umask命令就是查看当前的掩码值:

umask0022可以看到当前的掩码值是0022,在一些发行版中也常见为0002

然后使用touch和mkdir创建一个文件和目录再看看它们的权限是怎样的:

touchfile.txtmkdirdirls-ldrwxr-xr-x2toortoor4096Sep214:46dir-rw-r--r--1toortoor0Sep214:46file.txt也就是说这些权限是默认值减去umask掩码值得到的:

此时我想要更改默认权限,就可以反推一下进行设置掩码值,如:

umask0002#之前是0022touchtest.txtls-ltest.txt-rw-rw-r--1toortoor0Sep214:52test.txt可以看到新创建的文件默认权限已经变成了664(rw-rw-r--)

使用umask掩码值并不会改变之前文件的权限,而且仅临时生效于当前shell会话,如果想要永久生效需要修改shell的配置文件。

ConnersHua

不折腾,无生活。

显示名称*

网站

介绍了Systemd的单元类型、单元文件的位置和编辑方法,以及如何使用systemctl命令管理服务的状态和依赖关系

THE END
1.permission denied没有权限;拒绝访问;权限被拒绝; ask for permission请求许可; with one's permission经某人允许 planning permissionn.<英>建筑许可; 今日热词 热门搜索 strip[str?p] n.(纸、布、食物等的)条,带;狭长区域;商业街;队服;脱衣舞;连环画;v.脱衣服;除去,剥去;拆卸;剥夺; north[nθhttps://dict.ruihongw.com/permission
2.权限(数据库引擎)每个SQL Server 安全对象都有关联的权限,可以将这些权限授予主体。 数据库引擎中的权限在分配给登录名和服务器角色的服务器级别上,以及分配给数据库用户和数据库角色的数据库级别上进行管理。 Azure SQL 数据库的模型拥有与数据库权限相同的系统,但服务器级别权限不可用。 本文包含权限的完整列表。 有关典型的权限https://msdn.microsoft.com/zh-cn/library/ms191291.aspx
3.Linux权限终极攻略:从小白到高手,掌握所有权限技巧!简单来说,权限的本质是能做什么不能做什么。权限首先限制的是角色,权限要求目标必须具备对应的属性。 Linux的权限由角色和目标权限属性组成。权限=角色+目标权限属性 角色包含拥有者、所属组、other、 角色:拥有者 2. 所属组 3. other拥有者(User,https://mp.weixin.qq.com/s?__biz=Mzg4ODQ1NTE2Mg==&mid=2247569967&idx=1&sn=9e1f751d0f565953483f6c37e2b74c4a&chksm=ce81159abc491669872ac8ef30f576438d117023ac689263114d4abc4cd17299974c73335aa3&scene=27
4.如何设置页面权限:新手入门指南页面权限是网站或应用程序管理中一个重要的概念,它用于控制不同用户对特定页面或资源的访问权限。通过合理设置页面权限,可以保证系统的安全性和用户数据的安全性,避免过多权限暴露给不必要的用户,从而减少安全风险。页面权限的设置也是实现用户角色管理和权限控制的基础,对于维护良好的用户体验和保障系统稳定运行至关重要。https://www.imooc.com/article/374802
5.android动态权限机制详解mob6454cc61df1e的技术博客从Android 6.0(API 23)开始,用户可以在应用运行时向其授予权限(6.0 以下,国内厂商也多数做了类似的权限管理),而不是在应用安装时授予。这一方法既可以简化应用的安装过程,也可以让用户对应用的功能进行更多的限制。 在Android 系统中,系统权限分为两类:正常权限以及危险权限。其中正常权限是不会直接给用户隐私权带https://blog.51cto.com/u_16099168/12854929
6.知识科普github开源证书等级说明在GitHub上,开源许可证(Open Source Licenses)用于规范开源项目的使用、分发、修改等权限。这些许可证种类繁多,各有其特点和适用场景。以下是一些常见的开源许可证的详细说明,以表格形式展现: 请注意,上述表格仅列出了GitHub上一些常见的开源许可证及其主要特点和知名项目。实际上,GitHub支持多种开源许可证,每种许可证都https://www.ctyun.cn/zhishi/p-449718
7.2024年777权限是什么意思Linux摘要:在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。(图片来源网络,侵删)例如用ls -l命令列文件表时,得到如下输出:-rw-r-- 在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。 https://win7sp.com/post/33775.html
8.SBB等英文简写的意义【提问】SBB阳性.PAS阳性.AS-DNCE阴性.NAP积分175分.POX阴性 中文分别是什么。有什么意义 【回答】学员wzj123,您好!您的问题答复如下: Pas是糖原pas反应;SBB是组织化学染色后的细胞形态图片(明显不对);NAP是中性粒细胞碱性磷酸酶,POX是过氧化物酶;AS-DNCE是指氯化醋酸AS-D萘酚酯酶(大纲不要求)。祝您复习顺利!https://www.med66.com/new/201210/tc201210107534.shtml
9.数据库与数据仓库的英文简写新建DWS数据连接华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:数据库与数据仓库的英文简写。https://support.huaweicloud.com/topic/1357776-3-S
10.用户角色权限权限管理的英文是什么?User role priority(优先级)、Authorization(权限)Authorization Management、Right Management https://ask.zol.com.cn/x/6728871.html
11.在建设工程项目总承包的方式中,EPC是()方式的英文简写。刷刷题APP(shuashuati.com)是专业的大学生刷题搜题拍题答疑工具,刷刷题提供在建设工程项目总承包的方式中,EPC是()方式的英文简写。A.设计一施工总承包B.设计采购施工总承包C.设计采购总承包D.勘察采购施工总承包的答案解析,刷刷题为用户提供专业的考试题库练习。一分钟将https://www.shuashuati.com/ti/22c760cae5c741209313e160243a0810.html?fm=bdbdsa77fd86186c75249d55beb7f9a420c3f
12.CMIWikicmi.customalias.[指令简写] – 限定自定义指令简写的使用(拥有权限才可使用) D cmi.damagecontrol.[组名] – 按组配置来决定伤害倍数 cmi.deathlocation – 允许在死后看见死亡位置 cmi.dropspawner – 允许在挖掉刷怪笼后掉落它 cmi.dropspawner.[实体种类] – 允许在挖掉特定种类的刷怪笼后掉落它 https://www.17wmc.cn/937.html
13.工厂生产系统常用英文对照以及解释英文简写英文全称中文名称解释 MESManufacturing Execution System制造执行系统美国先进制造研究机构AMR将MES定义为“位于上层的计划管理系统与底层的工业控制之间的面向车间层的管理信息系统”,它为操作人员/管理人员提供计划的执行、跟踪以及所有资源(人、设备、物料、客户需求等)的当前状态。 https://www.jianshu.com/p/4ad16a28d224
14.Linux期末复习综合linux操作系统应用期末考试题DNS区域中有哪几种资源记录?其英文简写及作用分别是什么? SOA(Start Of Authority):起始授权记录,它标记了一个区域解析库的开始。每个区域解析库有且只能有一条SOA记录,并且它必须位于该库的第一项。 A(Address):地址记录,用于定义主机名与IPv4地址之间的映射关系。例如,我们可以添加一个A记录,将域名指向网站服务https://blog.csdn.net/weixin_50987190/article/details/135441633
15.linux文件权限管理命令腾讯云开发者社区查看文件权限 ls-l命令 修改文件权限修改方法1:(参数)命令:chomod 语法:chomod [参数][augo][+-=][rwx]文件名例子: 1.将文件file1.txt增加可读权限chmod ugo+r file1.txt 2.将文件file1.txt设为所有人(all)可读 chmod https://cloud.tencent.com/developer/information/linux%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86%E5%91%BD%E4%BB%A4-article
16.全国各大快递公司名称中英文转换英文简写“Lht” 补丁号:Lht_CV2.0_0103 版本号:Lht_CV2.0_1231 +---+ Lht_CV2.0 团购导航系统软件的安装 +---+ 一、安装Lht_CV2.0前必须安装大维1.4程序才能使用官方发布的升级包,我们选用淘宝尚秀设计(站长站)发布的集成近百个采集规则的1.4程序。 安装大维1.4商业版: http://域名/install (填写数据https://www.iteye.com/resource/qq_37531990-10146157
17.英语单词缩写大全简写带翻译公司内部门英文单词缩写 Co.,Ltd.: Company Limited 的缩写 部门:Department/Division 简写为Dept. 人事部:HR Department(human resource) 行政部:Administration Department(比较常用)。也可以用Executive Department(有些公司也用这个)或者用Executive Branch(多用在银行) 市场部:Marketing Department 客服部:CUS Departmehttps://wenku.baidu.com/view/109ae4932079168884868762caaedd3383c4b59f.html
18.4文件权限中chmodu+xurwx分别代表什么·Linux英文:others,简写:o(覆盖标号789)所有人的权限,英文:all,简写:a r, 即Read,读,权限值为4 w,即Write,写,权限值为2 x,即eXecute,执行,权限值为1 -,在标号0位置,表示普通的文件 -,其他位置,表示对应权限未开启,不具备权限 d,即directory,表示目录文件 无任何权限:数字0表示开所有权限:数字7表示,即7=4+https://www.kancloud.cn/tinywan/linux/836644
19.权限管理IoTDBWebsiteIoTDB 提供了组合权限,方便用户授权: 权限名称权限范围 ALL 所有权限 READ READ_SCHEMA、READ_DATA WRITE WRITE_SCHEMA、WRITE_DATA 组合权限并不是一种具体的权限,而是一种简写方式,与直接书写对应的权限名称没有差异。 下面将通过一系列具体的用例展示权限语句的用法,非管理员执行下列语句需要提前获取权限,所需的权https://iotdb.apache.org/zh/UserGuide/latest/User-Manual/Authority-Management.html
20.文件权限中chmodu+xurwx分别代表什么Linux系统中的每个文件和目录都有访问许可权限, 用它来确定谁可以通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权 限分为只读,只写和可执行三种。 这里显示的权限是依次排列的,分别为:[用户][同组][其他] 用户权限,就是你自己的权限。英文:user,简写:u(覆盖标号123) 用户组权限,就是和你同组https://www.pianshen.com/article/3698191690/
21.处方与处方书写规范(通用8篇)药名简写或缩写必须为国内通用写法。处方书写规范 13、中成药和医院制剂品名的书写应当与正式批准的名称一致。 14、药品剂量与数量一律用阿拉伯数字书写。剂量应当使用公制单位;重量以克(g)、毫克(mg)、微克(μg)、纳克(ng)为单位;容量以升(l)、毫升(ml)为单位;国际单位(IU)、单位(U)计算。片剂、丸剂、胶囊剂https://www.360wenmi.com/f/filej9vfg1k1.html