linux-权限管理

  • 一、权限的基本类型
  • 二、权限的表示方式
    • 1. 字符形式(rwx)
    • 2. 数字形式
  • 三、权限管理常用命令
    • 1. chmod
    • 2. chown
    • 3. chgrp
  • 四、隐藏权限
    • 1. lsattr
    • 2. chattr
  • 五、权限掩码
  • 六、特别权限位
    • 1. suid
    • 2. sgid
    • 3. Sticky Bit
  • 七、权限委托
    • 1. 授权用户
    • 2. 授权组里的用户
    • 3. 使用命令别名授权
  • 八、ACL
    • 1.getfacl
    • 2. setfacl
  • 总结


一、权限的基本类型

读(r)写(w)执行(x)
文件查看内容cat修改内容vim作为命令使用
文件夹列出目录内容ls添加、删除touch、rm进入文件夹或搜索cd

二、权限的表示方式

1. 字符形式(rwx)

-rw- r-- r-- root root /etc/passwd

用户 组 其他人 用户 组

第一个位置
- 表示文件的类型是普通的文件
d 表示文件的类型是文件夹 directory

r read 读文件
w write 写文件、修改、删除
x execute 执行权限
- 没有权限

3类人
user —》owner 拥有者
group 组
others 其他人

all 所有人


2. 数字形式

r : 4
w :2
x : 1
- : 0


三、权限管理常用命令

1. chmod

修改权限(读、写、执行)

chmod 任何用户都可以使用

[huang@feng ~]$ vim test.sh 编辑一个test.sh的脚本
echo “hello,world”
[huang@feng ~]$ ll
-rw-r–r–. 1 huang huang 43 5月 8 20:19 test.sh
[huang@feng ~]$ ./test.sh 执行当前文件夹下的test.sh脚本
-bash: ./test.sh: 权限不够

授予test.sh文件可执行权限

[huang@feng ~]$ chmod +x test.sh
[huang@feng ~]$ ll
-rwxr-xr-x. 1 huang huang 43 5月 8 20:19 test.sh
[huang@feng ~]$ ./test.sh 执行脚本
hello,world

使用 + 、- 增加或减少权限,可指定哪一类人(u、g、o)加,不指定则都加

[root@feng lianxi]# chmod o+w zhang.txt
[root@feng lianxi]# ll zhang.txt
-rw-r–rw-. 1 root root 0 5月 8 20:29 zhang.txt
[root@feng lianxi]# chmod a+x zhang.txt
-rwxr-xrwx. 1 root root 0 5月 8 20:29 zhang.txt
[root@feng lianxi]# chmod a-x zhang.txt
-rw-r–rw-. 1 root root 0 5月 8 20:29 zhang.txt
[root@feng lianxi]# chmod +x zhang.txt
-rwxr-xrwx. 1 root root 0 5月 8 20:29 zhang.txt
[root@feng lianxi]# chmod -x zhang.txt

=或数字 赋予对应权限

[root@feng lianxi]# chmod a=rwx zhang.txt
[root@feng lianxi]# chmod 777 zhang.txt
[root@feng lianxi]# ll zhang.txt
-rwxrwxrwx. 1 root root 0 5月 8 20:29 zhang.txt

-R 递归修改

[root@feng lianxi]# chmod -R a=rwx liu
# 将liu目录下的所有的文件或者子文件夹里的文件的权限,全部修改
[root@feng liu]# chmod -R 644 fan.txt


2. chown

修改文件的归属(用户、组)

chown 只能root用户使用

chown user:group file

[root@feng liu]# ll
-rwxrwxrwx. 1 root root 0 5月 8 20:37 liu.txt
-rwxrwxrwx. 1 root root 0 5月 8 20:37 zhang.txt
[root@feng liu]# chown huang:huang zhang.txt
                                       用户   组
[root@feng liu]# ll
-rwxrwxrwx. 1 root root 0 5月 8 20:37 liu.txt
-rwxrwxrwx. 1 huang huang 0 5月 8 20:37 zhang.txt
[root@feng liu]# useradd zhang
[root@feng liu]# id zhang # 查看zhang用户的信息 uid和gid
用户id=1001(zhang) 组id=1001(zhang) 组=1001(zhang)
[root@feng liu]# chown zhang zhang.txt
                                       用户
[root@feng liu]# ll
-rwxrwxrwx. 1 root root 0 5月 8 20:37 liu.txt
-rwxrwxrwx. 1 zhang huang 0 5月 8 20:37 zhang.txt
[root@feng liu]# chown :root zhang.txt
                                       组
[root@feng liu]# ll
-rwxrwxrwx. 1 root root 0 5月 8 20:37 liu.txt
-rwxrwxrwx. 1 zhang root 0 5月 8 20:37 zhang.txt

-R 递归修改

[root@feng lianxi]# chown -R zhang:zhang liu


3. chgrp

专门用于修改文件或目录的用户组
chgrp group file


四、隐藏权限

1. lsattr

查看文件的隐藏权限
lsattr - list file attributes on a Linux second extended file system

-d List directories like other files, rather than listing their contents.


2. chattr

chattr - change file attributes on a Linux file system

设置文件的隐藏权限
chattr +/-i
chattr +/-a

immutable (i) 不能修改 --》不能删除和增加、修改
append only (a) 只能在文件或者文件夹里追加内容,不能删除

授予不能修改的权限

root@sanchuang:~# mkdir /feng
root@sanchuang:~# ll -d /feng
drwxr-xr-x 2 root root 4096 May 15 19:18 /feng/
root@sanchuang:~# chattr +i /feng
root@sanchuang:~# lsattr /feng
root@sanchuang:~# lsattr -d /feng
----i---------e------- /feng
root@sanchuang:~# cd /feng
root@sanchuang:/feng# mkdir sc
mkdir: cannot create directory ‘sc’: Operation not permitted
root@sanchuang:/feng# rm -rf /feng
rm: cannot remove ‘feng’: Operation not permitted

取消不能修改的权限

root@sanchuang:/feng# chattr -i /feng
root@sanchuang:/feng# lsattr -d /feng
--------------e------- /feng
root@sanchuang:/feng# mkdir sc
root@sanchuang:/feng# ls
sc

授予文件夹可追加的权限

root@sanchuang:/feng# chattr +a changsha
root@sanchuang:/feng# lsattr
-----a--------e------- ./changsha
root@sanchuang:/feng# cd changsha/
root@sanchuang:/feng/changsha# mkdir furong
root@sanchuang:/feng/changsha# ls
furong
root@sanchuang:/feng/changsha# rm -rf furong
rm: cannot remove ‘furong’: Operation not permitted

取消可追加权限

root@sanchuang:/feng# chattr -a changsha
root@sanchuang:/feng# lsattr
--------------e------- ./changsha


五、权限掩码

umask 0022

控制新文件和目录的默认权限
计算方式:默认权限(文件 666,目录 777)减去 umask 值

正常情况下,新建一个文件的默认权限 644
新建一个文件夹的默认权限 755

在内核级别,文件的初始权限为666
文件夹的初始权限为777

[root@hz lianxi]# umask
0022
[root@hz lianxi]# touch test.txt
[root@hz lianxi]# ll
-rw-r–r-- 1 root root 0 7月 7 21:20 test.txt
[root@hz lianxi]# umask 077 # 修改用户的umask值,从而达到设置默认文件或文件夹的权限
[root@hz lianxi]# umask
0077
[root@hz lianxi]# touch test2.txt
[root@hz lianxi]# ll
-rw------- 1 root root 0 7月 7 21:21 test2.txt
-rw-r–r-- 1 root root 0 7月 7 21:20 test.txt


六、特别权限位

1. suid

普通用户在执行命令的时候,会享有root用户的权限,因为linux系统里的所有的命令都是归root用户所有

[root@fengdeyong /]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 32656 5月 15 2022 /usr/bin/passwd

授予mkdir命令suid权限位

[root@fengdeyong sc]# which mkdir
/usr/bin/mkdir
[root@fengdeyong sc]# ll /usr/bin/mkdir
-rwxr-xr-x. 1 root root 69872 4月 21 2024 /usr/bin/mkdir
[root@fengdeyong sc]# chmod u+s /usr/bin/mkdir
[root@fengdeyong sc]# ll /usr/bin/mkdir
-rwsr-xr-x. 1 root root 69872 4月 21 2024 /usr/bin/mkdir

取消suid权限位

[root@fengdeyong /]# chmod u-s /usr/bin/mkdir
[root@fengdeyong /]# ll /usr/bin/mkdir
-rwxr-xr-x. 1 root root 69872 4月 21 2024 /usr/bin/mkdir

权限数字授权
chmod mnnn 文件
m为4时,对应suid,2对应sgid,1对应粘滞位,可叠加

[root@rocky shell]# ll get_info_cpu_mem.sh
-rw-r–r-- 1 root root 705 7月 9 17:56 get_info_cpu_mem.sh
[root@rocky shell]# chmod 4755 get_info_cpu_mem.sh
[root@rocky shell]# ll get_info_cpu_mem.sh
-rwsr-xr-x 1 root root 705 7月 9 17:56 get_info_cpu_mem.sh

s 小写的s 表示原来的文件具有可执行权限
S 大写的S 表示原来的文件没有可执行权限

[root@fengdeyong test]# touch hello.sh
[root@fengdeyong test]# ll
-rw-r–r–. 1 root root 0 5月 22 20:55 hello.sh
# 没有可执行权限 -> S
[root@fengdeyong test]# chmod +s hello.sh
[root@fengdeyong test]# ll
-rwSr-Sr–. 1 root root 0 5月 22 20:55 hello.sh
 
[root@fengdeyong test]# chmod u+s hello.sh
[root@fengdeyong test]# ll
-rwSr–r–. 1 root root 0 5月 22 20:55 hello.sh
[root@fengdeyong test]# chmod u-s hello.sh
[root@fengdeyong test]# ll
-rw-r–r–. 1 root root 0 5月 22 20:55 hello.sh
 
# 设置可执行权限 -> s
[root@fengdeyong test]# chmod +x hello.sh
[root@fengdeyong test]# ll
-rwxr-xr-x. 1 root root 0 5月 22 20:55 hello.sh
[root@fengdeyong test]# chmod u+s hello.sh
[root@fengdeyong test]# ll
-rwsr-xr-x. 1 root root 0 5月 22 20:55 hello.sh


2. sgid

此目录下创建的文件会继承该目录的用户组

chmod g+s


3. Sticky Bit

粘滞位(t) --》如果一个文件夹具有粘滞位权限,任何人都只能删除自己创建的文件或者文件夹

root@sanchuang:~# ll -d /tmp
drwxrwxrwt 15 root root 4096 May 22 19:12 /tmp/

/tmp 临时文件夹,任何用户都可以在这个目录下创建文件和文件夹
temporary 临时

授予粘滞位

root@sanchuang:~# ll -d /sky
drwxrwxrwx 2 root root 4096 May 22 20:45 /sky/
root@sanchuang:~# chmod +t /sky
root@sanchuang:~# ll -d /sky
drwxrwxrwt 2 root root 4096 May 22 20:49 /sky/


七、权限委托

sudo

## Sudoers allows particular users to run various commands as
## the root user, without needing the root password.

1. 授权用户

root用户授权一个普通用户zhangmx去实现新建用户和删除用户的权限

  1. 新建用户zhangmx并且设置密码为123456

[root@fengdeyong /]# useradd zhangmx
[root@fengdeyong /]# echo “zhangmx:123456” |chpasswd
[root@fengdeyong /]# su - zhangmx
[zhangmx@fengdeyong ~]$ useradd zhangmx1
useradd: Permission denied.
useradd:无法锁定 /etc/passwd,请稍后再试。
注销

  1. 进行委托授权
    /etc/sudoers 授权书

授予zhangmx可以执行/usr/sbin/useradd, /usr/sbin/userdel 命令

[root@fengdeyong /]# vim /etc/sudoers
zhangmx ALL=/usr/sbin/useradd, /usr/sbin/userdel

  1. 验证sudo授权

[root@fengdeyong /]# su - zhangmx
上一次登录: 四 5月 15 20:10:31 CST 2025 pts/0 上
[zhangmx@fengdeyong ~]$ useradd zhangmx1
useradd: Permission denied.
useradd:无法锁定 /etc/passwd,请稍后再试。
[zhangmx@fengdeyong ~]$ sudo useradd zhangmx1
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[sudo] zhangmx 的密码:
# 第一次使用sudo命令的时候,需要输入普通用户的密码
[zhangmx@fengdeyong ~]$ id zhangmx1
用户id=1033(zhangmx1) 组id=1034(zhangmx1) 组=1034(zhangmx1)
[zhangmx@fengdeyong ~]$ sudo useradd zhangmx2
[zhangmx@fengdeyong ~]$ id zhangmx2
用户id=1034(zhangmx2) 组id=1035(zhangmx2) 组=1035(zhangmx2)
[zhangmx@fengdeyong ~]$ sudo userdel -r zhangmx2

只要是使用sudo去执行命令,会记录日志–》记录到/var/log/secure日志里

[root@fengdeyong /]# tail -20 /var/log/secure


2. 授权组里的用户

新建一个wudang组,新建用户wuji 属于wudang组,设置密码为123456
然后授权wudang组可以执行任何的命令

  1. 新建组wudang

[root@fengdeyong /]# groupadd wudang
[root@fengdeyong /]# useradd -g wudang wuji
[root@fengdeyong /]# id wuji
用户id=1035(wuji) 组id=1028(wudang) 组=1028(wudang)
[root@fengdeyong /]# echo “wuji:123456”|chpasswd

  1. 修改授权书,授予权限

[root@fengdeyong /]# vim /etc/sudoers
## Allows people in group wheel to run all commands
%wudang ALL=(ALL) ALL

  1. 验证授权

[root@fengdeyong /]# su - wuji
[wuji@fengdeyong ~]$ sudo useradd wuji1
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[sudo] wuji 的密码:
[wuji@fengdeyong ~]$ id wuji1
用户id=1036(wuji1) 组id=1036(wuji1) 组=1036(wuji1)


3. 使用命令别名授权

命令别名 : 一般是大写的

Cmnd_Alias 将很多命令放到一个别名里,然后授予用户或者组可以使用这个命令别名
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum

授予zhangfan用户,可以使用yum、ip、useradd、userdel、mount命令,别名定义为ZHANGCMD

  1. 新建zhangfan用户,并且设置密码123456

[root@fengdeyong /]# useradd zhangfan
[root@fengdeyong /]# echo “zhangfan:123456”|chpasswd

  1. 定义别名并授权

先用which查找命令存放的地方

Cmnd_Alias ZHANGCMD = /usr/bin/yum, /usr/sbin/ip, /usr/sbin/useradd, /usr/sbin/userdel, /usr/bin/mount
# 授予zhangfan可以使用命令别名ZHANGCMD
zhangfan ALL=ZHANGCMD

  1. 验证

[zhangfan@fengdeyong ~]$ sudo yum install vim -y
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[sudo] zhangfan 的密码:
上次元数据过期检查:1:43:52 前,执行于 2025年05月15日 星期四 19时03分34秒。
软件包 vim-enhanced-2:8.2.2637-21.el9.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
[zhangfan@fengdeyong ~]$ sudo useradd zhangfan1
[zhangfan@fengdeyong ~]$ id zhangfan1
用户id=1039(zhangfan1) 组id=1039(zhangfan1) 组=1039(zhangfan1)


八、ACL

access control list

文件权限的访问控制列表: 写明哪些用户哪些组有哪些权限
可以单独对某个人或者组进行限制

对原来的权限进行扩展

1.getfacl

获取文件的访问控制列表权限 --》查看文件的访问控制列表

[root@fengdeyong sc]# getfacl sc
# file: sc
# owner: zhangsanfeng
# group: wudang
user::rwx
group::rwx
other::—


2. setfacl

设置文件的访问控制列表权限
setfacl - set file access control lists

[root@fengdeyong sc]# setfacl -m u:songqingshu:--- /sc

-m 作用是修改 modify
u 用户 user

[root@fengdeyong sc]# getfacl /sc
getfacl: Removing leading ‘/’ from absolute path names
# file: sc
# owner: zhangsanfeng
# group: wudang
user::rwx
user:songqingshu:---
group::rwx
mask::rwx
other::---

验证用户是否还有权限

[root@fengdeyong sc]# su - songqingshu
上一次登录: 四 5月 22 21:09:20 CST 2025 pts/0 上
[songqingshu@fengdeyong ~]$ cd /sc
-bash: cd: /sc: 权限不够

让其他组的某个用户有权限

[root@fengdeyong sc]# groupadd shaolin
[root@fengdeyong sc]# useradd -g shaolin huang1
[root@fengdeyong sc]# id huang1
用户id=1048(huang1) 组id=1040(shaolin) 组=1040(shaolin)
[root@fengdeyong sc]# su - huang1
[huang1@fengdeyong ~]$ cd /sc
-bash: cd: /sc: 权限不够
[root@fengdeyong sc]# setfacl -m u:huang1:rwx /sc
[root@fengdeyong sc]# su - huang1
上一次登录: 四 5月 22 21:18:01 CST 2025 pts/0 上
[huang1@fengdeyong ~]$ cd /sc
[huang1@fengdeyong sc]$ mkdir huang
[huang1@fengdeyong sc]$ ls
huang qingshu wuji
[huang1@fengdeyong sc]$ ll
drwxr-xr-x. 2 huang1 shaolin 6 5月 22 21:19 huang
drwxr-xr-x. 2 songqingshu wudang 6 5月 22 21:09 qingshu
drwxr-xr-x. 2 zhangwuji wudang 6 5月 22 21:08 wuji

对组修改

[root@fengdeyong sc]# groupadd emei
[root@fengdeyong sc]# setfacl -m g:emei:rwx /sc
[root@fengdeyong sc]# getfacl sc
# file: sc
# owner: zhangsanfeng
# group: wudang
user::rwx
user:songqingshu:—
user:huang1:rwx
group::rwx
group:emei:rwx
mask::rwx
other::—

删除组的 ACL 权限

[root@fengdeyong sc]# setfacl -x g:emei /sc

删除所有 ACL 权限

[root@fengdeyong sc]# setfacl -b /sc


总结

拒绝权限高于一切

权限管理是 Linux 系统安全的基石,其核心价值在于平衡安全性与可用性:通过精细的权限控制,既保护系统和数据免受未授权访问,又允许用户高效完成工作。合理的权限策略能显著降低安全风险、提升运维效率

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/88454.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/88454.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/88454.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从FCOS3D到PGD:看深度估计如何快速搭建你的3D检测项目

【导读】 还记得那个曾经在单目3D目标检测领域掀起热潮的 FCOS3D 吗?在后续更新中他们又推出了全新升级版——PGD(Probabilistic and Geometric Depth)最有意思的是,这次他们彻底换了路线:从原先的“直接回归深度”&a…

Apache Cloudberry 向量化实践(三)重塑表达式构建路径:Gandiva 优化实战

在向量化执行系统中,表达式构建是不可或缺的基础环节。无论是 SQL 中的投影、筛选,还是分区、聚合、排序,最终都需转化为底层执行引擎能识别和执行的表达式树。而在 Apache Cloudberry 向量化执行框架中,这一过程由 Gandiva 表达式…

Windows删除文件或者拔出U盘显示正在使用/占用解决办法

1、复制文件地址2、打开任务管理器,选择左侧【性能】3、打开资源监视器4、选择资源监视器中的CPU5、粘贴你复制的占用文件地址6、除了explore.exe以外,其他的关联的句柄都选中,然后右键结束

自由学习记录(68)

🧠 blender为什么不用 M 或 T? 键位含义为什么没选MMove?其实被用作「Move to Collection」等功能不符合历史定义,而且功能太多了TTransform? 但 transform 是一个总称(含移动、旋转、缩放)T 被…

ReactNative【实战系列教程】我的小红书 8 -- 我(含左侧弹窗菜单,右下角图标等)

最终效果点左上角菜单按钮,弹出左侧菜单后代码实现app/(tabs)/mine.tsx import icon_add from "/assets/icons/icon_add.png"; import mine_bg from "/assets/images/mine_bg.png"; import Heart from "/components/Heart"; import a…

C++性能优化实战:从理论到落地的五大核心策略

在当今这个对计算效率要求极高的时代,C作为系统级编程语言的王者,其性能优化能力依然是无可替代的核心竞争力。本文将分享我在大型分布式系统开发中积累的C性能优化实战经验,这些经验帮助我们将关键组件的吞吐量提升了300%,延迟降…

字节 Seed 团队联合清华大学智能产业研究院开源 MemAgent: 基于多轮对话强化学习记忆代理的长文本大语言模型重构

🔥 最新动态!!! [2025/07] 我们提供了快速启动脚本,让使用MemAgent变得超级简单,详情请见下方"快速入门"部分。[2025/06] 我们发布了RL-MemAgent-14B和RL-MemAgent-7B模型,在350万token上下文任务中实现了近乎无损的性…

【unitrix】 4.20 类型级二进制数减法实现解析(sub.rs)

一、源码 这段代码实现了一个用于统计二进制补码整数位数的系统,支持多种自定义数值类型(Z0、P1、N1、B0、B1)。 use core::mem::size_of; use crate::number::{Z0, P1, N1, B0, B1, Var};/// 统计二进制位数的 trait pub trait BitLength {f…

手把手教你安全删除Anaconda虚拟环境(避坑指南)

文章目录一、删除前必看清单(超级重要)二、三种删除方法对比(建议收藏)方法1:官方推荐命令(最安全)方法2:暴力删除大法(快速但需谨慎)方法3:核弹级…

Effective Modern C++ 条款7:区分使用 `()` 和 `{}` 创建对象

在 C11 及以后的版本中,初始化对象的方式变得更加灵活,但也带来了选择上的困惑。() 和 {} 是两种常见的初始化语法,它们在语义、行为和适用场景上有显著差异。本文将通过具体示例,深入解析这两种初始化方式的区别,并探…

Java基础-String常用的方法

String常用的三种构造方法 public static void main(String[] args) {//1.使用常量字符串构造String s1 "1.Hello world";System.out.println(s1);//2.使用new关键字构造String s2 new String("2.Hello world");System.out.println(s2);//3。使用字符数组…

数学建模:多目标规划:ε约束法、 理想点法

一、ε约束法定义ε约束法通过将部分目标函数转化为约束条件,保留一个主要目标进行优化。1、选择一个主要目标 fk​(x) 进行优化。2、其他目标 fi​(x) 转化为约束 fi​(x)≤εi​,其中 εi​ 是决策者设定的容许阈值。​​原理​​​​目标选择​​&…

linux kernel struct regmap_config结构详解

在 Linux 内核中,struct regmap_config 是 ​Regmap 子系统的核心配置结构体,用于定义如何与底层硬件寄存器进行交互。Regmap(Register Map)子系统通过抽象不同总线(如 I2C、SPI、MMIO 等)的寄存器访问细节…

【Python3教程】Python3高级篇之CGI编程

博主介绍:✌全网粉丝23W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…

docker安装Consul笔记

安装过程 详细步骤如下: 首先拉取Consul的Docker镜像: docker pull hashicorp/consul:1.18.1创建Consul的配置文件和数据目录: mkdir -p /srv/docker/consul/data mkdir -p /srv/docker/consul/config在config目录下创建一个config.json配置文…

.net数据脱敏

.NET数据脱敏技术:保障数据安全的有效手段 在当今数字化时代,数据安全至关重要。尤其是涉及到用户的敏感信息,如密码、手机号码等,必须采取有效的措施进行保护。数据脱敏就是这样一种技术,它能够在不影响数据可用性的…

【openp2p】 学习2:源码阅读P2PNetwork和P2PTunnel

【openp2p】 学习1:P2PApp和优秀的go跨平台项目已经做了初步分析。阅读原版工程,感觉工程是一个暴露内网服务端口,让外部可以用的一个实现是一个完整的、跨平台的可商业化的应用。感谢作者需要学习作者的设计思路工程构建 F:\GolandProjects\openp2p\core\p2pnetwork.go通常…

网安学习NO.14

防火墙基础实验 传统防火墙配置实验拓扑图PC: ip 192.168.10.1 255.255.255.0 192.168.10.254 ip dns 114.114.114.114二层交换机 vl 10 ex int e0/0 sw mo ac sw ac vl 10 ex inr e0/1 sw tr en do sw mo tr三层交换机 vl 10 ex int g0/0 sw tr en do sw mo tr ex …

ESP32语音唤醒

两种唤醒方式AfeWakeWord与EspWakeWord对比 底层技术 AfeWakeWord:基于ESP-IDF的AFE框架(esp_afe_sr_iface_t),高性能模式(AFE_MODE_HIGH_PERF)EspWakeWord:基于WakeNet接口(esp_wn_…

借助 Wisdom SSH AI 助手,轻松安装 CentOS 8 LNMP 环境

打开Wisdom SSH软件,在AI对话区输入“在CentOS 8服务器安装LNMP环境”,AI助手会按以下步骤分析并执行安装: 安装Nginx 分析:CentOS 8默认软件源可能没有Nginx,所以要先启用Nginx官方软件源,然后才能安装Ngi…