linux-權限管理

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…