权限

简介:

用户的权限有普通权限、特殊权限文件的特殊属性和FACL(文件访问控制列表),对于普通权限来说首先要了解进程的安全上下文,

 进程的安全上下文:

  1.判断进程的所有者是否为想要操作文件的属主,如果是,就按照属主的权限进行授权,如果不是,则转到第2条

  2.判断进程的所有者是否为想要操作的文件的属组中的成员,如果是,就按照属组的权限进行授权,如果不是,就转到第3条

  3.按照其他用户的权限进行授权

接下来了解一下权限的构成,

 权限的构成:

  MODE:(Permission):使用权

  r:Readale 可读

  w:Writable 可写

  x: eXecutable 可执行

rw-r--r--  三个权限为:属主左三,属组中三,其他用户右三

属主:rw-

属组:r--

其他用户:r--

权限标识三元组

--- 000 0

--x 001 1

-w- 010 2

-wx 011 3

r-- 100 4

r-x 101 5

rw- 110 6

rwx 111 7

rwx在目录和文件中的意义虽有不同但大致一样 了解一下

 目录:

 r:可以使用ls命令获得其中所有文件名的列表,不能使用ls -l命令来获取目录中文件的详细属性信息,也不能使用cd命令进入其中,也不能在路径中引用该目录

 w: 可以修改此目录下中文件名或文件名列表,可以在此目录中创建、修改或删除文件名

 x:可以使用ls -l命令来获取其中的文件的详细属性,也可以在路径中引用该目录,也可以使用cd命令来进入其中

注意:x是目录的最基本权限,任何目录都不必须对用户开放x权限,否则用户无法进行任何操作。

 文件:

 r:可以查看或获取该文件中的数据

 w: 可以修改文件中的数据

 x: 可以将此文件发起运行为进程

注意:只有摸个文件的属主才能修改文件的使用权(root除外)

了解完权限的构成,还需要知道如何修改权限,以便我们的操作等

修改文件的使用权限:

 chmod-->change mode:修改文件的权限位

 MODE: 符号权限标识符

 u,g,o,a表示所有权

 +,-,=表示授权方式

 +:在原有的权限基础上添加新的权限

 -:在原有的权限基础上去除某些权限

 =:不考虑原有的权限,直接将所有权限设置为目标权限

 r,w,x表示具体权限的内容

举个例子: chmod u+rw,g-wx,o=x file 这是为file的属主添加读和写权限,去除属组的写和可执行权限,给其他用户设置可执行权限

   chmod ug-x file 这是去除file属主和属组的可执行权限

   chmod +x file 默认为a添加执行权限(还有r  不管+-=都是所有的都添加)

   chmod =w file 默认只为属主添加写权限(不管+-都是只为属主添加)

注意:文件的执行权限对linux的文件系统来说,非常重要的安全标识,因为一旦文件具备执行权限,意味着该文件可以被发起执行为过程,所以默认情况下文件都不具备执行权限

如果使用八进制数字标识法,则每次必须给足所有的权限位,如果给的权限位不完整,文件系统会自动补足,是将给定的权限放置在右侧,左侧使用0来补足

  chmod 640 file (这里的640就是上述权限标识三元组的部分)

  chmod --reference=/PATH/TO/SOMEFILE --reference=b a 将a的权限设置和b一样

选项: -R:将目标目录中的文件及子目录中的文件统一设置为指定的权限标识 

在上述描述中提到了所有权,这里讲述一下所有权

OWNERSHIP:所有权

 属主:资源掌控的某些特定用户owner(user) u

 属组:资源掌控的某些特定用户group g

 其他用户:未曾掌控资源的那些用户other o

 全部用户:all a

chown:可以修改属主和属组

 chown OWNER FILE

 chown :GROUP FILE

 chown OWNER:FILE将目标文件的属主改为owner,同时将属组修改为OWNER的基本组

 chown OWNER:GROUP FILE 将目标文件的属主和主组修改为OWNER和GROUP

 -R:将目标目录中的文件及子目录中的文件统一设置为指定的所有权

注意:修改ownership操作只有超级用户(root)可以完成

chgrp:只能修改文件的属组

install:安装 复制文件 为文件赋予执行权限

 -d:创建目录 相当于mkdir -p

 -m:指定目标文件的权限 默认权限755

 -o: 复制文件的时候直接指定目标文件的属主,只能超级用户可用(root)

 -g:修改组的所有权,设定目标文件的属组

注意:install命令不能复制目录,即其源不能为目录,如果其源为目录,则install会进入目录,一次复制其中的所有非目录文件到目标位置

mktemp:

 临时文件都会创建在/tmp或/ar/tmp目录中,无需手动删除 系统会第七清除两个目录中的文件

 -d 创建临时目录

接下来了解一下特殊权限:

SUID SGID STICKY

默认情况下,用户发起者执行的一个进程,该进程的属主是其发起者

SUID:

 功能作用:当用户发起执行一个进程时,该进程文件如果拥有SUID权限的话,那么此程序发起的进程是其属主为该程序文件的属主,而不是发起者

 SUID权限显示位置:文件的属主权限中的执行权限位,如果属主本来就有执行权限,显示为s否则显示S

管理文件的SUID权限

 chmod u+|-s file

SGID:

 功能作用:如果某个目录对于一些目录有写权限并且设置了SGID,则所有对此目录有写权限的用户在创建新的文件或目录以后,新文件的属组不再是创建用户的基本组,而是继承了该目录的属组

 SGID权限显示的位置:文件的属组权限中的执行权限位;如果属组本来就执行权限,显示为s,否则显示为S

管理文件的SGID权限

 chmod g+|-s file

STICKT:粘滞位

 如果某个目录中,有超过一个用户可以有写权限,则着多个用户都可以在该目录中随意创建、删除和修改文件名

 功能作用:如果为上述类似的目录设置了STICKY权限,每个用户仍旧能够创建和修改文件名,但每个用户只能删除那些属主为其自身的文件名

 STICKY权限的显示位置:在文件权限的其他用户的执行权限位,如果原来有执行权限,则显示为t,否则显示为T

管理文件的STICKY权限:

 chmod o+|-t file

 --- 000 0

 --t 001 1

 -s- 010 2

 -st 011 3

 s-- 100 4

 s-t 101 5

 ss- 110 6

 sst 111 7

特殊权限的另一种修改方式:将特殊权限对应的八进制数字放置与普通权限八进制数字的前面即可

 chmod 1755 DIRECTORY

umask:

权限遮罩码:在创建文件或目录时默认的权限生成标准

 root:0022

不考虑特殊权限位

对于新创建的文件或目录,不遮挡属主的任何权限;遮住了属组的写权限和其他用户的写权限

理解遮罩码:将遮罩码的值变为二进制,凡是有1的位置,其权限在创建文件时,就不设置

默认情况下,文件的遮罩码已经有了一个0111,在此基础之上再次应用umask来遮罩权限

接下来说一下文件的特殊属性:

查看文件的特殊属性:

 lsattr

修改文件的特殊属性:chattr

 mode:会使用+-=的方式来设置

整个chattr命令最关键的设置就是mode部分,[aAcCdDijsStTu]都是所需要的属性

+:在原有属性设定的基础上添加新的属性

-:从原有属性设定中移除指定的属性

=:不考虑原有的属性设置,直接将文件的属性更新为指定的属性内容

a: 设置这个属性的文件,其内容不能被更改和删除,只能以追加的方式想文件写数据,多数的服务器日志类文件会设置此属性

A: 文件的访问时间戳;IO瓶颈,设置A属性可以使得文件在被访问时不更改文件的访问时间戳,从而可以有效地防止IO瓶颈

c:设置文件是否自动压缩后在进行存储

C:设置文件是否开启“写实复制”属性

d:设置文件在使用dump进行备份的时候,不会称为备份目标

D:设置文件在文件系统中的异步写操作

i: 设置文件不能被删除、修改、设定链接关系

s: 设置文件的保密性删除一旦设置s属性的文件被删除,其对应存储设备中的使用空间会被一并删除

u:跟s属性相反,如果这样的属性被删除,则存储于存储设备的数据会被留存

-R:递归的指定目录中的所有文件和子目录的属性

接下来说一下FACL

文件的额外赋权机制:在原有的u,g,o权限位之外,让普通用户能够控制权限赋予另外的用户和组的一种赋权机制一般在centos或rhe17版本以后的发行版本中,才逐渐成熟

与FACL有关的命令:

 getfacl:查看文件的facl设置

 user:USERNNAME:MODE

 group:GROUPNAME:MODE

 other::mode

setfacl:set file access control lists

 setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ...

 acl_spec:指定的访问控制列表

 u:USERNAME:MODE

 g:GROUPNAME:MODE

 MODE:一般使用符号权限标识法

为用户赋予额外权限

 setfacl -m u:USERNAME:MODE FILE...

为组赋予额外权限

 setfacl -m g:GROUPNAME:MODE file

撤销为用户赋予的额外权限

 setfacl -x u:USERNAME

撤销为组富裕的额外权限

 setfacl -x g:GROUPNAME

注意:如果设置了facl之后在修改目标文件使用权限,那么facl中设置的条目就可能会受到影响而导致与要求不符,因此,如果真需要设置facl 就要在已经设置目标文件的使用权限以后再设置

 


 



       本文转自Vincent一马 51CTO博客,原文链接:http://blog.51cto.com/mazhenbo/1913136,如需转载请自行联系原作者



相关文章
落地华东总部、上线创新云、签约AIoT产业基金……京东云南京“新动作”
京东云一连多个动作,助力南京“领跑”智能产业“新赛道”。
973 0
|
20天前
|
存储 人工智能 测试技术
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
141061 20
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
|
19天前
|
人工智能 运维 前端开发
基于阿里百炼的DeepSeek-R1满血版模型调用【零门槛保姆级2084小游戏开发实战】
本文介绍基于阿里百炼的DeepSeek-R1满血版模型调用,提供零门槛保姆级2048小游戏开发实战。文章分为三部分:定位与核心优势、实战部署操作指南、辅助实战开发。通过详细步骤和案例展示,帮助开发者高效利用DeepSeek-R1的强大推理能力,优化游戏逻辑与视觉效果,解决官网响应延迟问题,提升开发效率和用户体验。适合企业开发者、教育行业及多模态探索者使用。
70897 17
基于阿里百炼的DeepSeek-R1满血版模型调用【零门槛保姆级2084小游戏开发实战】
|
27天前
|
人工智能 自然语言处理 Shell
深度评测 | 仅用3分钟,百炼调用满血版 Deepseek-r1 API,百万Token免费用,简直不要太爽。
仅用3分钟,百炼调用满血版Deepseek-r1 API,享受百万免费Token。阿里云提供零门槛、快速部署的解决方案,支持云控制台和Cloud Shell两种方式,操作简便。Deepseek-r1满血版在推理能力上表现出色,尤其擅长数学、代码和自然语言处理任务,使用过程中无卡顿,体验丝滑。结合Chatbox工具,用户可轻松掌控模型,提升工作效率。阿里云大模型服务平台百炼不仅速度快,还确保数据安全,值得信赖。
358011 62
深度评测 | 仅用3分钟,百炼调用满血版 Deepseek-r1 API,百万Token免费用,简直不要太爽。
|
23天前
|
人工智能 自然语言处理 API
快速使用 DeepSeek-R1 满血版
DeepSeek是一款基于Transformer架构的先进大语言模型,以其强大的自然语言处理能力和高效的推理速度著称。近年来,DeepSeek不断迭代,从DeepSeek-V2到参数达6710亿的DeepSeek-V3,再到性能比肩GPT-4的DeepSeek-R1,每次都带来重大技术突破。其开源策略降低了AI应用门槛,推动了AI普惠化。通过阿里云百炼调用满血版API,用户可以快速部署DeepSeek,享受高效、低成本的云端服务,最快10分钟完成部署,且提供免费token,极大简化了开发流程。
191016 23
快速使用 DeepSeek-R1 满血版
|
8天前
|
人工智能 搜索推荐 数据可视化
Manus:或将成为AI Agent领域的标杆
随着人工智能技术的飞速发展,AI Agent(智能体)作为人工智能领域的重要分支,正逐渐从概念走向现实,并在各行各业展现出巨大的应用潜力。在众多AI Agent产品中,Manus以其独特的技术优势和市场表现,有望成为该领域的标杆。作为资深AI工程师,本文将深入探讨Manus的背景知识、主要业务场景、底层原理、功能的优缺点,并尝试使用Java搭建一个属于自己的Manus助手,以期为AI Agent技术的发展和应用提供参考。
11071 13
|
8天前
|
机器学习/深度学习 人工智能 测试技术
阿里云百炼已上线超强推理开源模型QwQ-32B,尺寸更小,性能比肩DeepSeek满血版
通义千问团队推出了320亿参数的QwQ-32B模型,通过大规模强化学习和多阶段训练,在数学、编程及通用能力上达到或超越了DeepSeek-R1等先进模型。QwQ-32B模型已在阿里云百炼上线,支持API调用,用户可通过官方文档了解详细使用方法。未来,团队将继续探索智能体与RL集成,推动人工通用智能的发展。
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
快来零门槛、即刻拥有 DeepSeek-R1 满血版
随着人工智能技术的发展,DeepSeek作为一款新兴推理模型,凭借强大的技术实力和广泛的应用场景崭露头角。本文基于阿里云提供的零门槛解决方案,评测DeepSeek的部署与使用。该方案支持多模态任务,涵盖文本生成、代码补全等,融合NLP、IR和ML技术,提供快速实现AI应用的便利。用户无需编码,最快5分钟、最低0元即可部署DeepSeek模型。阿里云还提供100万免费Token,适合预算有限的个人或小型团队试用。通过Chatbox客户端配置API,用户可轻松体验智能交互功能,如数学提问和代码书写等。
37604 5