ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux_08_文档权限管理

2022-01-25 23:58:26  阅读:81  来源: 互联网

标签:文件 08 用户 文件夹 文档 设置 Linux 权限


Linux_08_文档权限管理

文档权限

权限:多用户计算机系统管理中,不同用户对不同的的系统资源特定权利

Linux系统将文件可存取和访问的身份分为3个类别:owner、group、others

且3种身份对同一文件有着不同的权限(read、write、execute)

权限含义
读权限 (read)对文件夹,用户是否能够列出目录结构
对文件,用户是否能够查看文件内容
写权限 (write)对文件夹,用户是否可在文件夹下创建/删除/复制/移动等操作
对文件,用户是否能够编辑文件内用
执行权限 (execute)对文件夹,用户是否可以切入该文件夹内
对文件,用户是否能够执行该文件(特别脚本文件)

//在Linux中是否可以对一个文件进行操作(删除、复制、命名和移动等)

不是看是文件对应的权限,而是看文件所在文件夹有没有对应的权限

1)owner身份:文件所有者(默认为文档的创建者)

//类似个人的“私密文档”,其他普通用户对该文档无权限

2)group身份:与文件所有者同组的用户

//一个团队内的所有用户针对某一文档拥有相等的权限(个人文档除外)

3)others身份:其他用户(相对于owner和group)

//其他用户是一个相对概念

4)root身份:超级用户

//Linux中权限最大的用户,管理着其他普通用户

如:查看/root目录所有文件的详细权限信息

在这里插入图片描述

//红框内为该文档相对应的全部权限分布

//ls -l等效于“ll”,但ll仅查询当前目录下

Linux中存在多用户和多用户组,所以针对不同身份有着不同权限

在这里插入图片描述

1)权限分配中,rwx是一个固定组合(顺序不能发生变化)

若没有某一权限,则用“-”代替

2)属主:文档所属的用户

3)属组:文档所属的用户组

如:查看/root目录所有文件的属主和属组

在这里插入图片描述

//文档在创建时会默认使用创建者的信息为该两项的信息

其中用户组为该用户的初始组(若更改,则为有效用户组)

配置权限

chmod命令:设置用户对文档的权限

指令格式:chmod 选项 权限信息 文档路径

选项含义
-R递归设置权限(文件夹时)
-v显示权限变更的详细资料

//仅管理员和该文档所有者可给该文档设置权限

权限对应字母对应数字
r4
w2
执行x1

字母设置权限:通过字母构成权限信息

在这里插入图片描述

//加减权限是相对于已经存在的权限做变更

且加减权限不会对没有指定的权限作出变动

而“=”权限是无视当前权限,直接将结果设置为具体的权限

权限信息为:谁 作用 权限

1)三者中间没有空格

2)若设置权限时没有指定用户,则默认给所有用户设置

3)若权限信息中有多个权限设置,应用“,”进行分隔(而不是空格)

4)若给多个身份设置同样权限,还可以将“谁”写在一起

如:给mwl文件设置对应权限
在这里插入图片描述

数字设置权限:通过数字构成权限信息
在这里插入图片描述

1)给多个身份设置权限时,数字需按照u、g、o顺序写在一起

2)其中数字2和3不能设置,该类权限设置存在不合理

//一个文件可写但不可读,也无法完成对应的写操作

如:给mwl文件设置为:用户rwx,用户组rx,其他用户x
在这里插入图片描述

1)文件的默认权限:666

2)目录的默认权限:777

umask命令:查看/修改文档建立后的默认反权限(以数字掩码形式显示)

指令格式1:umask

1)文件的默认权限:666

2)目录的默认权限:777

3)umask配置文件为:/etc/bashrc

//也可以字母形式显示权限:umask -S

如:通过umask和umask -S查看系统默认反/正权限
在这里插入图片描述

1)数字显示含义为:建立文档时,使用该文档默认权限减去该掩码

2)系统建立文档时,先使用默认权限,再根据umask设置进行调整

且不同用户的umask设置也不一样

指令格式2:umask 权限 //临时修改

1)权限可用数字和字母两种形式表达

如:修改建立文件夹后的权限
在这里插入图片描述

chown命令:修改文档的属主(所属用户)

指令格式1:chown 用户名 文档路径

指令格式2:chown 用户名:用户组名 文档路径

//同时更改文档的属主和属组

chgrp命令:修改文档所属用户组

指令格式:chgrp 用户组名 文档路径

1)chown和chgrp命令都有“-R”选项,代表递归设置权限(文件夹时)

特殊权限

文件特殊权限:SUID、SGID、SBIT
在这里插入图片描述

SUID(Set UID):设置用户特殊权限

1.SUID仅对二进制程序(Binary Program)有效

//SUID对目录是无效的(也不能用在Shell脚本上)

2.执行者对于该程序需要具有可执行权限(x)

//需通过执行该程序才能获得对应权限

3.执行者将具有程序拥有者(owner)的权限

//在执行该程序时,将获得和程序拥有者相同的权限

4.该权限仅在执行程序过程中有效

SGID(Set GID):设置用户组特殊权限

1.SGID对二进制程序和文档都有效

2.执行者对于该程序需要具有可执行权限(x)

3.执行者将具有程序属组的权限

4.该权限仅在执行程序过程中有效

当文件夹设置SGID权限后:

1)用户具有文件夹r和x权限,就可进入该文件夹

2)用户在该文件夹下的有效用户组为该目录的属组

//用户在该文件夹建立的新文档(需具有w权限)

其属组都与该文件夹的属组相同(而不是建立者的属组)

SBIT(Sticky Bit):设置文件夹的特殊权限(仅对文件夹有效)

1.具有文件夹w和x权限,就具有写入的权限

2.在具有SBIT文件夹下建立的文档,则仅拥有者和root用户可改动

特殊权限设置:通过数字构成权限信息

设置格式:chmod 权限信息 文档路径

1)数字形式分别为:4、2、1

2)字母形式分为别:s、s、t

//权限信息应包含三个普通权限信息

如:给test1文件设置SUID特殊权限
在这里插入图片描述

如:给test文件设置SUID和SGID权限
在这里插入图片描述

//若设置特殊权限时无对应x权限,则对应的s或t会变为S或T

如:给test2文件夹设置SBIT特殊权限
在这里插入图片描述

隐藏权限

chattr命令:设置文档的隐藏权限

指令格式:chattr 选项隐藏权限信息 文档路径

1)只有root用户才有权限进行修改

2)选项为:-、+、=

隐藏权限含义
a文档仅能增加数据,不能删、改数据
i文档不能被增、删、改数据 且不能设置链接文档
s使文档不支持事务的回滚
u使文档支持事务的回滚
S即时更新文档
c将文档压缩后再存放

3)若目录设置“i”,则仅能修改该目录下的文件内容

4)事务的回滚:数据在删除后,是否可以恢复

5)文档设置“S”,则文档被修改后立刻同步数据写入磁盘

//文档一般都是非同步写入磁盘的

lsattr命令:显示文档隐藏权限信息

指令格式:lsattr 选项 文档路径

选项含义
-a全部文件(连同隐藏文档)
-d若文档是文件夹 则显示文件夹本身的属性,不是文件夹内的文件名
-R连同子目录内容一起列出来(目录所有文件都显示)

如:给/etc/shadow设置i隐藏权限
在这里插入图片描述

//因/etc/shadow是记录用户密码的特殊文件

若设置i权限,则不能在文件添加数据、

就导致不能添加新的用户

Access Control List

ACL(Access Control List):访问控制列表

1)ACL可以针对单一用户、单一文件和单一目录进行r、w、x的权限设置

getfacl命令:查询文档ACL

指令格式:getfacl 文档路径

setfacl命令:设置文档ACL

指令格式1:setfacl 选项 参数 文档路径

1)若设置用户,参数为:“u:用户名:权限”

2)若设置用户组,参数为:“g:用户组名:权限”

3)若两个“::”中没有用户名/用户组名,则默认为文档的属主/属组

//权限字段不可为空,若没有权限应该加上一个减号“-”

选项含义
-m添加权限参数中的权限为ACL设置
-x删除权限参数中的权限从ACL设置
-b删除所有ACL设置
-k删除默认的ACL设置
-R递归设置ACL(子目录同时被设置)
-d设置默认ACL参数 只对目录有效,目录下新建文档时会引用该数据

//若目录和该目录下的文件同时设置了ACL

则目录下的文件以该文件本身的ACL为准(文件ACL > 目录ACL)

如:使mwl用户对/root/test文件拥有rx权限
在这里插入图片描述

指令格式2:setfacl -m m:权限 文档路径 //设置文档ACL权限范围

1)通过改变mask规范设置最大允许权限范围

2)有效权限:用户/用户组所设置的权限在mask的权限设置范围内才能生效

如:设置mwl用户对该文件权限为rwx,再设置/root/test文件的mask为r
在这里插入图片描述
//若设置顺序反过来,则mask对用户权限设置没有影响

指令格式3:setfacl -m d:参数 目录路径

1)ACL的权限设置默认不会被子目录继承

如:设置mawenlong目录下的子目录默认权限
在这里插入图片描述

读取/修改文件

tr命令:修改数据中的指定字符

指令格式1:tr 选项 字符 //修改字符

选项含义
-d删除数据中的关键词
-s删除连续重复的字符以,且保留一个

指令格式2:tr 原字符 目标字符 //替换字符

如:使用tr调整echo的输出
在这里插入图片描述

expand命令:将数据中的跳格符(Tab)转换成空格符

指令格式:expand 选项 文档路径

选项含义
-t定义一个Tab按键等于多少空白字符 (默认是8个字符)

//unexpand命令实现的效果则相反(用法相同)

col命令:调整输入/输出内容

指令格式:col 选项

选项含义
-x以多个空格符代替跳格符(Tab)
-b删除所有的控制字符(包括RLF和HRLF)

sort命令:将文件中数据进行排序并输出

指令格式:sort 选项 文件路径

1)排序默认是以ASCII码值比较进行排序,且排序的字符与语系的编码有关

选项含义
-f忽略大小写
-b忽略行首的空格
-n以数字形进行排序
-M以月份进行排序
-r反向排序
-t指定数据的分隔符
-k指定以那个区间进行排序

//-t和-k一起使用才有意义(类似cut的-d和-f)

//指定的分隔符需用‘’括起来

uniq命令:显示/忽略数据中的重复行(默认忽略)

//一般与sort命令结合使用

指令格式:uniq 选项

选项含义
-i忽略大小写
-c显示重复出现的次数
-d仅显示重复出现的行列

split命令:以大小/行数把一个文件分割成多个数据

指令格式:split 格式 文件路径 前缀名

选项含义
-b以文件大小分割数据
-l以行数分割文件

//文件被分割后,其名为:前缀名aa、前缀名ab、前缀名ac以此类推

若没有前缀名,则默认以aa、ab、ac命名以此类推

//分割后原文件还会被保存

如:将/root/etc/passwd文件按10行分割并保存到/root/test文件夹下
在这里插入图片描述

join命令:根据两个文件指定相同的栏位进行连接

指令格式:join 选项 文件路径1 文件路径2

选项含义
-t指定数据的分隔符
-i忽略大小写
-1指定文件1的栏位
-2指定文件2的栏位

1)默认以两个文件的第1个栏位进行比较

2)栏位:数据中被分隔符分割的数据栏

如:将文件/etc/passwd和文件/etc/group整合
在这里插入图片描述

//因为GID在/etc/passwd中是第4个栏位,在/etc/group中是第三个栏位

paste命令:将多个文件按照队列进行合并

指令格式:paste 文件1 文件N

1)不论文件的内容是否相同,都会按照行数进行合并

2)“-”代表终端标准输出的数据

标签:文件,08,用户,文件夹,文档,设置,Linux,权限
来源: https://blog.csdn.net/qq_45686105/article/details/121365491

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有