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

Linux 权限管理

        hello!这里是敲代码的小董,很荣幸您阅读此文,本文只是自己在学习Linux过程中的笔记,如有不足,期待您的评论指点和关注,欢迎欢迎~~

✨✨个人主页:敲代码的小董

💗💗系列专栏:Linux

1. 认识Linux系统下用户的分类

认识Linux下的用户分类:

  • root:超级用户,基本不受约束,可以在Linux系统下做任何事情。
  • 普通用户:我们新创建的用户"adduser",受权限约束,在Linux系统下做有限的事情。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

命令:su [用户名]
功能:切换用户。

例如:要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

如果我们想要展示对一条指令进行提权 sudo command(目前我们用adduser新建的用户,没有颁发执行sudo,系统不信任新用户,除非将普通用户,添加到系统的信任白名单里面)。

2. 什么叫做权限?

        在Linux系统中,文件权限是用于控制用户和组对文件和目录的访问和操作权限。 简单来说,一件事情是否允许被我们做。 

        权限的认证是身份(权限和“人”有关),在Linux中,权限有三类用户:文件的拥有者(u)、文件所属组的用户(g)和其他用户。

         权限也和事务的“属性”有关。以文件属性为例,每个文件或目录都有三个基本权限:读取(r)、写入(w)、可执行(x)。

2.1 文件的类型 

文件的类型:

  • d:文件夹(目录文件)
  • -:普通文件 (文本、可执行程序、库)
  • l:软链接(类似Windows的快捷方式)
  • b:块设备文件(例如硬盘、光驱等)
  • p:管道文件 (用来进行通信的)
  • c:字符设备文件(键盘、显示器文件等)
  • s:套接口文件 

2.2 基本权限 

读(r/4)

Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限 。

写(w/2)

Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。

执行(x/1)

execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。

“—”:

表示不具有该项权限。

3. 文件权限值的表示方法 

3.1 字符表示方法 

 3.2 8进制数值表示方法

没有权限会出现什么现象? 

4. 文件访问权限的相关设置方法

4.1 chmod

功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
R :递归修改目录文件的权限

说明:只有文件的拥有者和root才可以改变文件的权限

 chmod命令权限值的格式:

 ①用户表示符+/-=权限字符

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限
  • 用户符号:   
  • u:拥有者 
  • g:拥有者同组用 
  • o:其它用户 
  • a:所有用户 

②三位8进制数字

4.2 chown 

功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名 

4.3 chgrp 

功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组 

4.4 umask

功能:
查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。

假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
格式:umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。 

http://www.lryc.cn/news/526957.html

相关文章:

  • 8.2 从看图识字到智能解读:GPT-4 with Vision 开启多模态 AI 新纪元
  • 差分轮算法-两个轮子计算速度的方法-阿克曼四轮小车计算方法
  • 使用.NET 8构建高效的时间日期帮助类
  • 学习std::is_base_of笔记
  • 第 25 场 蓝桥月赛
  • 【设计模式-行为型】访问者模式
  • 无人机微波图像传输数据链技术详解
  • SpringCloud系列教程:微服务的未来(十七)监听Nacos配置变更、更新路由、实现动态路由
  • 【QT】 控件 -- 显示类
  • 反馈驱动、上下文学习、多语言检索增强等 | Big Model Weekly 第55期
  • CF 41A.Translation(Java实现)
  • 14【学历和能力哪个更重要】
  • Learning Vue 读书笔记 Chapter 2
  • SpringBoot支持动态更新配置文件参数
  • 开发技巧,vue 中的动态组件的引用 component + is
  • 基于SpringBoot+WebSocket的前后端连接,并接入文心一言大模型API
  • PSD是什么图像格式?如何把PSD转为JPG格式?
  • c语言中mysql_query的概念和使用案例
  • 一次端口监听正常,tcpdump无法监听到指定端口报文问题分析
  • 解决InnoDB: Failing assertion: !lock->recursive
  • 基于微信小程序的外卖点餐系统设计与实现ssm+论文源码调试讲解
  • Helm Chart 实现 Kubernetes 应用的多环境部署与镜像更新
  • “腾讯、钉钉、飞书” 会议开源平替,免费功能强大
  • 我谈区域偏心率
  • 思科交换机telnet配置案例
  • 机器学习:支持向量机
  • 人工智能前沿技术进展与应用前景探究
  • (一)HTTP协议 :请求与响应
  • 什么是网络爬虫?Python爬虫到底怎么学?
  • NR_shell运行流程简析