Linux 文件系统权限

devtools/2025/1/3 3:11:13/

文件的一般权限

文件详细信息

使用命令 ll ls -l 查看

文件权限构成

权限针对三类对象定义

owner :所有者,缩写 u
group :所属组,缩写 g
other :其他人,缩写 o

访问者三种权限

组成模式分析

文件与目录权限含义

chmod命令

作用

chmod(change mode) :修改文件或目录的权限

格式

# 格式1
chmod [选项] [ugoa][+-=][rwx] 文件或目录...
# 格式2
chmod [选项] nnn 文件或目录...

参数

-R :递归修改指定目录下所有文件、子目录的权限
ugoa :表示权限设置所针对的用户类别,可以是其中字母中的一个或组合, u(user) 表示文件或目录
的属主 ( 所有者 ) g(group) 表示属组内的用户; o(others) 表示其他用户; a(all) 表示所有用户 (
u+g+o)
+ - = :表示设置权限的操作动作, + 代表添加; - 代表取消; = 表示只赋予给定的权限,并取消原
有的权限。
rwx :用字符形式表示的所设置的权限,可以是其中一个字母或组合
nnn :用数字表示的权限

chown命令

作用

修改文件或目录的所有者和属组

格式

修改文件或目录的所属者
chown -参数 所有者:所属组 文件名或目录名
# 参数-R递归设置

特殊权限

概述

Linux 系统中,用户对文件或目录的访问权限除了 r w x 三种一般权限外,还有 SET
UID(SUID) SET GID(SGID) Sticky Bit( 粘滞位 ) 三种特殊权限,用于对文件或目录进行更加灵活方
便的访问控制。
SUID 权限的含义:是为了让一般用户在执行某些程序的时候, 在程序的运行期间, 暂时获得该程
序文件所属者的权限。

SUID权限

使用场景
例如: student 用户要更改自己的密码
student 在执行 passwd 修改自己的密码时, 其修改的密码, 最终是需要保存到 /etc/shadow
个文件中, 而这个文件的权限是 --------- ,它的拥有者是 root ,也只有 root 可以 强制
储, 其他用户连看都不行
可偏偏 student 去执行 passwd /usr/bin/passwd) ,却可以更新自己的密码
这就是因为有 s 权限的存在,当 s 权限在拥有者的权限位上时, 即如 -rwsr-xr-x 这样时, 称为
SUID SUID Set UID UID 指的是拥有者的的 ID , 而这个程序 (/usr/bin/passwd) 的拥有者
为( root)
[root@server ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 32648 8月 10 2021 /usr/bin/passwd

SGID 权限

SGID 可以用在两个方面:
文件: 如果 SGID 设置在二进制文件上, 则不论用户是谁,在执行该程序的时候,程序的所属组将
会变成该程序文件的所属组。
目录:如 果 SGID 是设置在 A 目录上, 则在 A 目录内所建立的文件或目录的所属组, 将会是此 A
目录的所属组

设置特殊权限

为文件或目录添加三种特殊权限同样可以通过 chmod 命令来实施 , 使用 “u±s” “g±s” “o±t” 的字符权
限模式分别用于添加和移除 SUID GUID sticky 权限。
若使用数字形式的权限模式 , 可采用 “nnnn” 格式的四位八进制数字表示,其中:后面三位是一般权限的数字表示,前面第一位则是特殊权限的标志数字:
0——表示不设置特殊权限
1——表示只设置sticky
2——表示只设置GUID权限
3——表示只设置SGID和sticky权限
4——表示只设置SUID权限
5——表示只设置SUID和sticky权限
6——表示只设置SUID和SGID
7——表示同时设置SUID、GUID、sticky3种权限

ACL 权限

作用

给指定的用户指定目录分配指定的权限。

ACL权限管理命令

查看ACL权限
格式
getfacl 文件名
设定ACL权限
格式
setfacl - 参数 文件名
参数
-m :设定 ACL 权限
给用户设定 ACL 权限: setfacl -m u: 用户名 : 权限 指定文件名
给用户组设定 ACL 权限: setfacl -m g: 组名 : 权限 指定文件名
-x :删除指定的 ACL 权限;
-b :删除所有的 ACL 权限;
-d :设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限;
-k :删除默认 ACL 权限;
-R :递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效
删除acl权限
# 删除指定用户的 ACL 权限
setfacl -x u:用户名 文件名
# 删除指定用户组的 ACL 权限
setfacl -x g:组名 文件名
# 删除文件的所有 ACL 权限
setfacl -b 文件名
权限掩码umask
新建文件权限与umask关系
Linux 系统中,当用户创建一个新的文件或目录时,系统都会为新建的文件或目录分配默认的权
限,该默认权限与 umask 值有关
新建文件的默认权限 =0666-umask (减去)
新建目录的默认权限 =0777-umask
查看默认umask
[root@server ~]# umask
0022
修改默认umask
[root@server ~]# umask 000 # 临时修改

配置网络

概念

网络接口是指网络中的计算机或网络设备与其他设备实现通讯的进出口,一般是指计算机的网络接
口即网卡设备
RHEL7 开始引入了一种新的 一致网络设备命名 的方式为网络接口命名,该方式可以根据固件、
设备拓扑、设备类型和位置信息分配固定的名字。网络接口的名称的前两个字符为网络类型符号,
:
en—— 表示以太网 (Ethernet)
wl 表示无线局域网 (wlan)
ww 表示无线广域网 (wwan)
接下来的字符根据设备类型或位置选择,如 :
o—— 表示内置 (onboard) 于主板上的集成设备 ( 即集成网卡 ) 及索引号 ;
s—— 表示是插在可以热拔插的插槽上的独立设备及索引号 ;
x—— 表示基于 MAC 地址命名的设备 ;
p—— 表示 PCI 插槽的物理位置及编号。
注意:一个网络接口,可以有多个网络连接,但同一时间只能有一个网络连接处于活动状态。

方法

nmcli命令

作用:

nmcli,可以实现创建,显示,编辑,删除,激活和停用网络连接以及控制和显示网络设备状态等

查看网卡信息
[root@server ~]# nmcli c sh
[root@server ~]# nmcli c show # 全写为:nmcli connection show
[root@server ~]# nmcli con show ens160 # 查看指定网卡的详细信息,q键退出
[root@server ~]# nmcli dev status # 查看已有设备的连接状态
[root@server ~]# nmcli dev show # 看所有网络设备详情,q键退出
激活和关闭网络连接
[root@server ~]# nmcli c up 网卡名 # 激活,也是重启网卡的一种方法
[root@server ~]# nmcli c down 网卡名 # 关闭
添加网络连接
# 例:添加网络连接ens161
[root@server ~]# nmcli c add type ethernet ifname ens160 con-name ens161
autoconnect yes ip4 192.168.48.135/24 gw4 192.168.48.2
连接 "ens161" (37bc8e79-92ea-4c01-a4af-1dfd7c687014) 已成功添加。
[root@server ~]# nmcli c up ens161 # 不能在xshell操作,否则ssh连接断掉
[root@server ~]# nmcli c show
[root@server ~]# nmcli c up ens160
设置静态IP
[root@server ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses
'192.168.48.134/24' ipv4.gateway '192.168.48.2' ipv4.dns '114.114.114.114'
[root@server ~]# nmcli c up ens160
[root@server ~]# ip a
# ipv4.method manual:手动获取
增加ip地址
[root@server ~]# nmcli c mod ens160 +ipv4.addresses 192.168.48.136/24
[root@server ~]# nmcli c up ens160
[root@server ~]# ip a
删除网络连接
# 删除上例的ens161
[root@server ~]# nmcli c show
NAME UUID TYPE DEVICE
ens160 0f83fcfd-bc6d-3866-b82b-fc4b09df2068 ethernet ens160
ens161 37bc8e79-92ea-4c01-a4af-1dfd7c687014 ethernet --
[root@server ~]# nmcli c del ens161
成功删除连接 "ens161" (37bc8e79-92ea-4c01-a4af-1dfd7c687014)。
[root@server ~]# nmcli c show
NAME UUID TYPE DEVICE
ens160 0f83fcfd-bc6d-3866-b82b-fc4b09df2068 ethernet ens160

修改配置文件

# 设置静态IP
[root@server ~]# cd /etc/NetworkManager/system-connections
[root@server system-connections]# ls
ens160.nmconnection
[root@server system-connections]# vim ens160.nmconnection
[connection]
id=ens160
uuid=d97d603d-5bb5-3d11-bfeb-11fbc8cb867d
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1682493359
[ethernet]
[ipv4]
address1=192.168.48.134/24,192.168.48.2
dns=114.114.114.114;
method=manual
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]
[root@server ~]# nmcli c reload
[root@server ~]# nmcli c up ens160
# 会话和网卡的关系:一个网卡可以有多个会话,但是一个时刻只能连接到一个会话

可视化配置

命令:nmtui


http://www.ppmy.cn/devtools/130329.html

相关文章

哈希——哈希表处理哈希冲突的方法

处理哈希冲突 实践中哈希表⼀般还是选择除法散列法作为哈希函数。 当然哈希表无论选择什么哈希函数也避免不了冲突(主要作用就是减少冲突),那么插入数据时,如何解决冲突呢?主要有两种两种方法,开放定址法和…

线程安全的集合类

目录 多线程下使用ArrayList 1.⾃⼰使⽤同步机制 (synchronized 或者 ReentrantLock)自行加锁(推荐) 2.使用Collections.synchronizedList(new ArrayList); 3.使⽤ CopyOnWriteArrayList 多线程使用哈希表 ConcurrentHashMap Concurre…

在Windows 10上安装Tesseract并用pytesseract运行OCR任务

诸神缄默不语-个人CSDN博文目录 文章目录 1. Tesseract安装2. pytesseract的安装与使用3. 手动安装其他语种并在pytesseract中调用4. 本文撰写过程中参考的其他网络资料 1. Tesseract安装 Tesseract官方GitHub项目链接:https://github.com/tesseract-ocr/tesseract…

Redis 目录

《Redis & 基础 & 源码》《Redis & 基础 & 总结》《Redis & 基础 & 问题》《Redis & 实战 & 源码》《Redis & 实战 & 总结》《Redis & 实战 & 问题》《Redis & 过期策略 & 源码》《Redis & 过期策略 & 总结》…

十分钟Linux中的epoll机制

epoll机制 epoll是Linux内核提供的一种高效I/O事件通知机制,用于处理大量文件描述符的I/O操作。它适合高并发场景,如网络服务器、实时数据处理等,是select和poll的高效替代方案。 1. epoll的工作原理 epoll通过内核中的事件通知接口和文件…

SpringBoot精准扶贫系统:数据驱动的扶贫

3系统分析 3.1可行性分析 通过对本精准扶贫管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本精准扶贫管理系统采用SSM框架,JAVA作为开发语…

iDP3复现代码运行逻辑全流程(一)——部署全流程代码逻辑梳理(Learning)

Improved 3D Diffusion Policy (iDP3) 是一种新的基于3D视觉的运动策略,使用了以自我为中心的3D视觉表征,实现了人形机器人在不同场景中自主执行技能 代码开源了两部分:Learning & Deployment of iDP3 和 Humanoid Teleoperation 本文详…

【数据库设计】规范设计理论之数据依赖的公理系统(1)

知道范式的几种分类之后还并不能帮助我们设计一款好的数据库,在对关系进行拆解(指模式分解)之前,我们需要引入一个理论基础让设计过程变得有迹可循和具备一定的严谨性以此来支撑数据库背后的可靠性。 Armstrong公理系统 所谓公理…