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

Linux:权限(完结)|权限管理|修改权限chmod chown charp|文件类型|拓展

上篇文章:

https://blog.csdn.net/2401_86123468/article/details/153525703?spm=1001.2014.3001.5501


回顾上篇文章结尾,以普通用户通过sudo提权为示例,但实际上,普通用户是无法进行sudo的,一般会遇到下面的情形:

那究竟要怎样才能直接执行呢?

实际上,在Linux中有一种白名单机制,只有在白名单(Linux中的一个配置文件)中的人,才能执行sudo(指令提权)。

那么是不是只要在白名单中的用户权限就可以和root一样了?

实际上,关于修改sudoers的权限,只有root可以修改。


1.权限管理

在Linux下,一切皆文件,实际权限管理就是“文件管理”。


对权限的解释:

权限的大小决定能不能完成一件事,在现实生活中,“人”是由“角色”和具体的人构成,那么,权限本质限制的也只是“角色”的不同。


在Linux系统中,权限角色有三类:文件的拥有者,文件的所属组,文件的other

在Linux系统中,任何文件,关于权限属性,一共有三类:r w x(可执行)

如上图所示,其中other是指除了拥有者和所属组之外的人,并不需要记录。

对比 拥有者,所属组,other 和 root xxx404……

其中,root……是指具体的人,也就是用户,而拥有者,所属组……是不同的角色,而具体的用户在不同的场景下会扮演不同的角色,拥有不用的权限。


在Linux中,文件不需要后缀,而是通过第一个字符确定,而其余的9个字符通过3个字符为一组,也有各自的含义:

前三个字符对应拥有者的权限,中间三个字符对应所属组的权限,后三个字符对应other对应的权限。完整权限示例:rwx--读、写、执行


理解上述整体概念:权限 = 角色 + 目标事物的属性

所属组的意义:在大团体开发中,会有各类分组,组内的权限需要与其余组(other)相区别。总结为:在一个特定范围内,进行权限管理。

添加到组:

# 创建项目组
sudo groupadd project# 添加用户到项目组
sudo usermod -aG project xxx404#查看
groups project

2.修改权限

1.chmod

功能:设置文件的访问权限

格式:chmod[参数] 权限 文件名


chmod命令权限值的格式:

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

+:向权限范围增加权限代号所表示的权限

-:向权限范围取消权限代号所表示的权限

=:向权限范围赋予权限代号所表示的权限

用户符号:

u:拥有者

g:拥有者同组用

o:其它用户

a:所有用户

示例:

拓展

注意:权限不能限制root:当chmod u-rwx后,拥有者对文件什么操作都不能进行,但是root依旧可以读写执行。

问题一:

拥有者没有任何权限,但是我本身也是所属组,那么为什么我依旧没有读写的权限?

原因是,Linux中,身份匹配只会匹配一次。

问题三:

x可执行的含义,要怎么理解?

x指具有可执行权限 != 可以执行,可以执行 = 具有执行权限 + 二进制可执行文件


2.使用八进制修改权限

由于每个权限都是有或者无,那么就可以使用1或0代替有无。

rwx -> 111
rw- -> 110
--- -> 000

区间范围:000 - 111,八进制为0 - 7

2.chown

功能:修改文件拥有者和所属组

格式:chown [参数] 用户名 文件名

3.charp

功能:修改文件或目录的所属组

格式:charp [参数] 用户组名 文件名

常用选项:-R 递归修改文件或目录的所属组

同时操作上述两个指令:

3.文件类型

在Linux中,第一个字符代表文件类型,之前讲过以下类型:
d:文件夹
-:普通文件
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
S:套接口文件

今天新了解两种类型:

l:链接文件(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

对于块设备,以数据块为单位,支持随机读写,如磁盘,而不是按顺序读取,如键盘。

此处的vda,在Linux中指磁盘,而vda1就类似于windows电脑上的d盘,e盘……

本章完。

http://www.dtcms.com/a/523987.html

相关文章:

  • (一)仓库创建与配置 - .git 目录的结构与作用
  • Office 2010 64位 补丁 officesp2010-kb2687455 安装步骤详解(附安装包)
  • 建免费网站建设银行网站能不能注销卡
  • springboot中的怎么用JUnit进行测试的?
  • LeetCode:695. 岛屿的最大面积
  • 传奇手游可以使用云手机挂机搬砖吗
  • 2025 OSCAR丨与创新者同频!Apache RocketMQ 邀您共赴开源之约
  • Dify配置本地部署的音频识别模型
  • C# .NET Core中Chart图表绘制与PDF导出
  • 相机拍照的图片怎么做网站呀国内互联网公司排名
  • 微信怎么建设自己网站在单机安装wordpress
  • 实验-Vlan基础
  • Windows CMD 常用命令:7 大核心模块速查指南(附实战场景)
  • OCR国内外证件识别接口调用指南-身份证文字识别
  • 使用acme.sh创建自己的第一个https证书
  • Galera Cluster部署
  • 【Flink实战】升级HDFS,对Flink SQL(On Yarn模式)的功能兼容性验证
  • LangChain 表达式语言:SQL 数据库查询链
  • 通辽网站网站建设网站卖东西怎么做
  • 免费个人网站建设大全有什么建设网站的书籍
  • 电脑控制DFPlayer Mini MP3播放音乐
  • Day10:Python实现Excel自动汇总
  • 网站建设 美食站点网站设计确认函
  • 新买的笔记本电脑为什么风扇声音一直很大?怎样解决?
  • 鸿蒙 HarmonyOS 6|ArkUI(03):状态管理
  • DeepSeek 最新开源OCR模型,实测,不如百度Paddle
  • 做视频网站多大空间够网络推广是指什么
  • 网站运营维护中需要用到什么服务器网站设计哪家最好
  • 多类别分类中,标签的 “独热编码” 形式与输出层神经元的位置处理过程
  • 搞懂 Kotlin 的 List、Set、Map、HashMap、LinkedHashMap,以及 asSequence() 的底层原理与实战场景。