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盘......

本章完。

相关推荐
霍夫曼17 分钟前
UTC时间与本地时间转换问题
java·linux·服务器·前端·javascript
2301_8107463130 分钟前
CKA冲刺40天笔记 - day20-day21 SSL/TLS详解
运维·笔记·网络协议·kubernetes·ssl
❀͜͡傀儡师36 分钟前
docker 部署 komari-monitor监控
运维·docker·容器·komari
物联网软硬件开发-轨物科技1 小时前
【轨物方案】软硬件一体赋能,开启矿山机械远程智慧运维新篇章
运维
月熊1 小时前
在root无法通过登录界面进去时,通过原本的普通用户qiujian如何把它修改为自己指定的用户名
linux·运维·服务器
大江东去浪淘尽千古风流人物2 小时前
【DSP】向量化操作的误差来源分析及其经典解决方案
linux·运维·人工智能·算法·vr·dsp开发·mr
打码人的日常分享2 小时前
智慧城市一网统管建设方案,新型城市整体建设方案(PPT)
大数据·运维·服务器·人工智能·信息可视化·智慧城市
赖small强3 小时前
【Linux驱动开发】NOR Flash 技术原理与 Linux 系统应用全解析
linux·驱动开发·nor flash·芯片内执行
风掣长空3 小时前
Google Test (gtest) 新手完全指南:从入门到精通
运维·服务器·网络
luback3 小时前
前端对Docker简单了解
运维·docker·容器