当前位置: 首页 > news >正文

Linux权限概述

一、权限概述

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.lryc.cn/news/392591.html

相关文章:

  • 谷粒商城学习-09-配置Docker阿里云镜像加速及各种docker问题记录
  • 基于GWO灰狼优化的多目标优化算法matlab仿真
  • 排序算法-java版本
  • Java+前后端分离架构+ MySQL8.0.36产科信息管理系统 产科电子病历系统源码
  • js使用websocket,vue使用websocket,copy即用
  • 【鸿蒙学习笔记】Stage模型工程目录
  • 算法基础-----【动态规划】
  • Java中的响应式编程与Reactor框架
  • 政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署ComfyUI:功能最强大、模块化程度最高的Stable Diffusion图形用户界面和后台
  • 匿名内部类
  • react_web自定义组件_多类型Modal_搜索栏Search
  • Apache Flink架构介绍
  • 华为HCIP Datacom H12-821 卷28
  • 安装Nginx以及简单使用 —— windows系统
  • 【UE5.3】笔记8 添加碰撞,检测碰撞
  • 丝滑流畅!使用kimi快速完成论文仿写
  • 【C++】认识使用string类
  • 如何在 Odoo 16 中对 Many2Many 字段使用 Group by
  • PCL从理解到应用【03】KDTree 原理分析 | 案例分析 | 代码实现
  • Windows 11内置一键系统备份与还原 轻松替代Ghost
  • leetCode-hot100-动态规划专题
  • 【算法笔记自学】入门篇(2)——算法初步
  • Redis基础教程(六):redis 哈希(Hash)
  • 鸿蒙开发设备管理:【@ohos.account.appAccount (应用帐号管理)】
  • java项目自定义打印日志,打印请求方式,参数用时等
  • 03:EDA的进阶使用
  • Linux/Unix系统指令:(tar压缩和解压)
  • MySQL 日期和时间函数知识点总结
  • 鸿蒙登录页面及页面跳转的设计
  • 【居家养老实训室】:看中医保健在养老中的应用