Linux权限概述

news2024/11/20 15:36:09

一、权限概述

1.权限的基本概念

2.为什么要设置权限

3.linux用户的身份类别

4.user文件的拥有者

5.group文件所属组内用户

6.other其他用户

7.特殊用户root

二、普通权限管理

1.ls -l查看文件权限

2.文件类型以及权限解析

3.文件或文件夹的权限设置

4.通过数字给文件或文件夹进行权限设置

三、文件拥有着以及文件所属组设置

1.什么是属主与属组

文件拥有者:属主(所有者)

文件所属组:属组(所属组)

2.文件拥有者与所属组的查看

属主:所属的用户,文档的所有者,一般是一个账户

属组:所属的用户组,一般是一个组

ls -l 

3.文件拥有者所属设置

基本语法:chown ch=change,own=owner

#chown [选项] 文件拥有者名称 : 文件所属组名称 文件名称
#chown [选项] 文件拥有者名称 . 文件所属组名称 文件名称
选项说明:
-R:代表递归修改,主要针对文件夹

4.文件所属组设置

基本语法:chgrp ch=change grp=group

#chgrp [选项] 新文件所属组名称 文件名称
选项说明:
-R:代表递归修改,主要针对文件夹

四、特殊权限

1.特殊权限suid

suid 属性只能运行在可执行文件上,含义是开放文件所有者的权限给其他用户,当普通用户执行该文件时,会拥有该执行文件所有者(root 用户权限)的权限

仅仅限于可执行文件,二进制文件,比如系统下/usr/bin的命令 如:/usr/bin/ls、/usr/bin/rm

suid特殊权限只要用户设有suid的文件

注意:

只针对二进制命令设置,不能再shell脚本上

用户权限再x位置处,如果有则为s,无则为S,表示该命令存在suid权限

取消suid权限

#chmod g-s /tmp/dir_sgid

2.特殊权限sgid

SGID 属性可运用文件或者目录,运用在文件的含义是开放文件所属组的权限给其他用户,当用户执行该文件时,会拥有该执行文件所属组用户的权限

设置文件夹的sgid后,在这个目录下创建的文件,文件夹都会继承该目录的所属组。

对二进制文件,若g具有x权限,并设置了sgid权限,其他用户可以获得属组的权限去执行二进制文件

取消sgid权限

#chmod g-s /tmp/dir_sgid

3.特殊权限sticky(粘贴位)

sticky 权限只能用于目录上,限制普通用户在此目录下只能删除自己的文件,不能删除其他用户创建的文件。

sticky权限 防止被别人误删除的作用!

取消sticky

#chmod o-t /tmp/dir_sticky

4.通过数字修改文件的特殊权限

特殊权限数字表示方法

suid 4

sgid 2

sticky 1

例:
# chmod 4755 /usr/bin/cat 或 chmod u+s /usr/bin/cat
# chmod 2777 /tmp/linux 或 chmod g+s /tmp/linux
# chmod 1777 /tmp/dir_sticky 或 chmod o+t /tmp/dir_sticky
# chmod 7777 文件名 表示: 对文件设置 u+s,g+s,o+t

五、ACL访问控制列表

1.使用场景

基础权限中,用户对文件只有三种身份,就是属主、属组和其他人

每个用户都有读、写和执行三种权限。实际工作中三种身份不够用!

给用另外一种身份,需要单独使用ACl权限给他赋予单独的权限!

2.查看ac权限

#getfacl 文件或目录名称

3.设置文件的ACL权限

语法:

#setfacl 【选项】文件或目录名称

选项说明:

选项作用
-m修改acl策略
-x去掉某个用户或某个组的权限
-b删除所有acl策略
-R递归,主要针对文件夹
-d应用到默认访问控制列表的操作(继承效果)

 从上可以看出来user01和user02设置了acl权限后两个用户对dir_acl目录就有了第四种身份,不受ugo权限控制

给用户设置group的ACL权限

移除单个用户ACL权限

# setfacl -x u:user01 /tmp/dir_acl/

# getfacl /tmp/dir_acl/

移除全部ACL权限

# setfacl -b /tmp/dir_acl/

# getfacl /tmp/dir_acl/
移除目下所有文件的 ACL 权限
# setfacl -R -b /tmp/dir_acl/
# getfacl /tmp/dir_acl/
# getfacl /tmp/dir_acl/test/

六、Umask

1.什么是umask

代表创建文件时的默认权限

root创建文件默认权限是

文件:644 文件夹:755

普通用户创建默认权限是

文件:664 文件夹:775

2.查看usmask值

#umak

3.修改umask

  • 临时修改

  • 永久修改

#vim ~/.bashrc

在文档末尾添加umask 022 即可

保存并退出

su 切换用户生效

4.umask码作用

umask码使得用户创建目录和权限时,拥有默认的权限

创建文件的默认值

文件权限= 初始权限(666) - umask

创建目录的权限默认值

初始权限(777) ===> 转换成 字母 r w x  r w x  r w x
umask 权限如:022 ===> 转换成 字母 - - -  - w -  - w -

七、隐藏权限

文件的隐藏权限,默认看不到的权限(对管理员也生效)

1.添加隐藏权限

基本语法

#chattr +a 文件名

#chattt +i 文件名

选项:

a 限制用户只能追加内容,不能删除文件,剪切文件

i 限制用户只能查看文件内容,不能删除,剪切,追加,修改文件

2.查看隐藏权限

基本语法:

#lsattr 文件名

3.删除隐藏权限

#chattr -a a.txt

#chattr -i b.txt

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

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

相关文章

大数据平台之数据同步

数据同步也成为CDC (Chanage Data Capture) 。Change Data Capture (CDC) 是一种用于跟踪和捕获数据库中数据变更的技术,它可以在数据发生变化时实时地将这些变更捕获并传递到下游系统。以下是一些常用的开源 CDC 方案: 1. Flink CDC Flink CDC 是基于 …

Git基础知识与常用命令指南

这是一个Git基础知识和常用命令的简要指南,涵盖了日常开发中最常用的操作。你可以将这个指南保存下来,作为日常工作的参考。 目录 基础篇1. Git基本概念2. 配置Git3. 创建仓库4. 基本的工作流程5. 分支操作6. 查看历史7. 撤销更改8. 远程仓库操作 Git进阶知识与技巧指南1. 分…

Java常用算法集合扩容机制分析

基础篇 基础篇要点:算法、数据结构、基础设计模式 1. 二分查找 要求 能够用自己语言描述二分查找算法能够手写二分查找代码能够解答一些变化后的考法 算法描述 前提:有已排序数组 A(假设已经做好) 定义左边界 L、右边界 R&…

芯片的PPA-笔记

写在前面:这个仅记录自己对芯片PPA的一些思考,不一定正确,还请各位网友思辨的看待,欢迎大家谈谈自己的想法。 1 此次笔记的起因 记录的原因:自己在整理这段时间的功耗总结,又看到工艺对功耗的影响&#x…

十五、小型电脑没有数字键及insert,怎么解决IDEA快速插入getset构造这些方法

🌻🌻目录 一、小型电脑没有数字键及insert,怎么解决IDEA快速插入getset构造这些方法 一、小型电脑没有数字键及insert,怎么解决IDEA快速插入getset构造这些方法 解决: 1.winR打开搜索 2.osk回车 屏幕就出现了这样的一…

极狐GitLab 将亮相2024空天信息大会暨数字地球生态峰会,携手中科星图赋能空天行业开发者

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署…

新手教学系列——Git Stash踩坑

在之前的文章《如何彻底避免Git代码相互覆盖问题》中,我曾介绍过通过规范分支合并和使用git stash来避免代码覆盖问题。今天,我要深入探讨一下git stash的使用,并分享一些使用过程中遇到的坑,希望能帮你避免类似问题。 脚本mg.sh简介 为了更好地管理代码合并,我编写了一…

CSS - 深入理解选择器的使用方式

CSS基本选择器 通配选择器元素选择器类选择器id 选择器 通配选择器 作用:可以选中所有HTML元素。语法: * {属性名;属性值; }举例: /* 选中所有元素 */ * {color: orange;font-size: 40px; }在清除样式方面有很大作用 元素选择器…

医院陪诊系统开发的关键技术与挑战

随着医疗服务需求的不断提升,传统的医院服务模式面临着巨大的压力和挑战。为了提升患者的就医体验和医疗服务的效率,医院陪诊系统应运而生。本文将探讨医院陪诊系统开发的关键技术与挑战,并结合具体的技术代码进行分析。 一、医院陪诊系统的…

云计算渲染时代:选择Blender或KeyShot进行高效渲染

在云渲染技术日益成熟的背景下,挑选一款贴合项目需求的3D渲染软件显得尤为关键。当前,Blender与KeyShot作为业界领先的全能渲染解决方案,广受推崇。它们虽皆能创造出令人信服的逼真视觉效果,但在特色功能上各有所长。本篇文章旨在…

PMP–知识卡片--PDCA循环

记忆 PDCA:计划执行检查调整,计划观察动作;plan do check action 定义 PDCA循环的含义是将质量管理分为四个过程,即计划(Plan)、执行(Do)、检查(Check)、处…

Spring Boot Vue 毕设系统讲解1

项目结构 包说明 db:文件夹是存放数据脚本文件的 annotation: 系统自定义注解 config:系统定义的配置类 controller: 系统接口控制器类 dao: 系统dao类编写数据库查询方法和数据库交互 entity:数据库…

SpringSecurity 三更草堂学习笔记

0.简介 Spring Security是Spring家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 一般来说中大型的项目都是使用SpringSecurity来做安全框架。小项目有Shiro的比较多,因为相比与Spring…

Java项目:基于SSM框架实现的学生公寓管理中心系统【ssm+B/S架构+源码+数据库+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的学生公寓管理中心系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、…

【C++题解】1561. 买木头

问题:1561. 买木头 类型:省赛、数组问题、二分答案、贪心、2015江苏省青少年信息学奥林匹克竞赛复赛 题目描述: 有 n 个木材供应商,每个供货商有长度相同一定数量的木头。长木头可以锯短,但短木头不能接长。有一个客…

2024 年 6 月区块链游戏研报:Pixels 引发 DAU 波动,行业用户留存率差异显著

作者:Stella L (stellafootprint.network) 数据来源:区块链游戏研究页面 2024 年 6 月,加密货币市场遭遇显著回调,比特币跌幅达 7.3%,以太坊更是下跌了 9.8%。此番波动不可避免地波及区块链游戏领域,导致…

spring boot + vue3+element plus 项目搭建

一、vue 项目搭建 1、创建 vue 项目 vue create vue-element说明:创建过程中可以选择路由,也可也可以不选择,可以通过 npm install 安装 vue 项目目录结构 说明:api 为自己创建的文件夹,router 选择路由模块会自动…

秋招突击——7/5——复习{}——新作{跳跃游戏II、划分字母区间、数组中的第K个大的元素(模板题,重要)、前K个高频元素}

文章目录 引言正文贪心——45 跳跃游戏II个人实现参考实现 划分字母区间个人实现 参考实现数组中的第K个最大元素个人实现参考做法 前K个高频元素个人实现参考实现 总结 引言 今天就开始的蛮早的,现在是九点多,刚好开始做算法,今天有希望能够…

【贪心 堆 优先队列】502. IPO

本文涉及知识点 贪心 堆 优先队列 LeetCode502. IPO 假设 力扣(LeetCode)即将开始 IPO 。为了以更高的价格将股票卖给风险投资公司,力扣 希望在 IPO 之前开展一些项目以增加其资本。 由于资源有限,它只能在 IPO 之前完成最多 k…

iOS多target时怎么对InfoPlist进行国际化

由于不同target要显示不同的App名称、不同的权限提示语,国际化InfoPlist文件必须创建名称为InfoPlist.strings的文件,那么多个target时怎么进行国际化呢?步骤如下: 一、首先我们在项目根目录创建不同的文件夹对应多个不同的targe…