Linux系統許可權掌控

来源:https://www.cnblogs.com/KeFeng/archive/2023/04/07/17296805.html
-Advertisement-
Play Games

無論是Window,MacOs,Linux均採用多用戶的管理模式進行許可權管理。 在Linux系統中,擁有最大許可權的賬戶名為:root(超級管理員)。 root用戶擁有最大的系統操作許可權,而普通用戶在許多地方的許可權是受限的。 普通用戶一般在HOME目錄是不受限制的,一旦出了HOME目錄,大多地方,僅有 ...


無論是Window,MacOs,Linux均採用多用戶的管理模式進行許可權管理。

  • 在Linux系統中,擁有最大許可權的賬戶名為:root(超級管理員)。
  • root用戶擁有最大的系統操作許可權,而普通用戶在許多地方的許可權是受限的。
  • 普通用戶一般在HOME目錄是不受限制的,一旦出了HOME目錄,大多地方,僅有隻讀和執行許可權。

切換用戶

su命令就是用於賬戶切換的系統命令,其來源英文單詞:Switch User

語法:su [-] [用戶名]
  • -符號是可選的,表示是否在切換用戶後載入環境變數,建議帶上。
  • 用戶名參數,表示要切換的用戶,用戶名也可以省略,省略表示切換到root
  • 切換用戶後,可以通過exit命令退回上一個用戶,也可以使用快捷鍵ctrl + d

區別

  • 使用普通用戶,切換到其他用戶需要輸入密碼。
  • 使用root用戶切換到其他用戶,無需密碼,可以直接切換。

臨時授權

sudo命令,可以為普通的命令授權,臨時以root身份執行。

語法:sudo 其他命令
  • 在其他命令之前,帶上sudo,即可為這條命令臨時賦予root授權。
  • 並不是所有用戶都有權利使用sudo,需要給普通用戶配置sudo認證。

為普通用戶配置sudo認證

  • 切換到root用戶,執行visudo命令,會自動通過vi編輯器打開:/etc/sudoers。

  • 在文件的最後添加

    [用戶名] ALL=(ALL)		NOPASSWD:ALL
    
    • 其中最後的NOPASSWD:ALL表示使用sudo命令,無需輸入密碼。
  • 最後通過wq保存。

  • 切換回普通用戶。

  • 執行的命令,均以root運行。


用戶與用戶組

Linux系統中可以

  • 配置多個用戶
  • 配置多個用戶組
  • 用戶可以加入多個用戶組中

image-20230329190458305

Linux中關於許可權的管控級別有2個級別,分別是:

  • 針對用戶的許可權控制
  • 針對用戶組的許可權控制

用戶組管理

以下命令需要root用戶執行

  • 創建用戶組

    groupadd [用戶組]
    
  • 刪除用戶組

    groupdel [用戶組]
    
  • 創建用戶

    useradd [-g -d] 用戶名
    
    • -g選項:指定用戶的組,不指定-g的話會創建同名組並自動加入,如果指定-g需要組已存在,如已存在同名組,必須使用-g。
    • -d選項:指定用戶HOME路徑,不指定的話HOME目錄預設在:/home/用戶名。
  • 刪除用戶

    useradd [-r] 用戶名
    
    • -r選項:刪除用戶的HOME目錄,不使用-r的話刪除用戶時,HOME目錄會保留
  • 查看用戶所在組

    id[用戶名]
    
  • 修改用戶所在組

    usermod -aG 用戶組 用戶名,將指定用戶加入指定用戶組
    
  • 查看當前系統中有哪些用戶

    語法:getent passwd
    
    • 共有7份信息分別是:用戶名:密碼(x):用戶ID:組ID描述信息(無用):HOME目錄:執行終端(預設bash)

認識許可權信息

許可權細節總共分為10個槽位

image-20230331105230091

舉例:drwxr-xr-x 表示

  • 這是一個文件夾,首字母d表示
  • 所屬用戶的許可權是:有r有x,rwx
  • 所屬用戶組的許可權是:有r無w有r,r-x(-表示無此許可權)
  • 其他用戶的許可權是:有r無w有r,r-x

rwx表示

  • r表示讀許可權
  • w表示寫許可權
  • x表示執行許可權

針對文件,文件夾的不同,rwx的含義有細微差別

  • r,針對文件可以查看文件內容,針對文件夾,可以查看文件夾內容,如ls。
  • w,針對文件表示可以修改此文件,針對文件夾,可以在文件夾內:創建,刪除,改名等操作。
  • x,針對文件表示可以將文件作為程式執行,針對文件夾,表示可以更改工作目錄到此文件夾,即cd。

修改許可權控制

註意:只有文件,文件夾的所屬用戶或root用戶可以修改。

chmod

可以使用chmod修改文件,文件夾許可權信息。

語法:chmod [-R] 許可權 文件或文件夾
示例:
	chmod u=rwx,g=rx,o=x hello.txt #將文件許可權修改為rwxr-x--x
	其中:u表示user所屬用戶許可權,g表示group組許可權,o表示other其他用戶許可權
  • -R選項,對文件夾內的全部內容應用同樣的操作
除此之外,還有快捷寫法:chmod 751 hello.txt #將hello.txt得許可權修改為751

751表示什麼意思呢?

許可權的數字序號

許可權可以用3為數字代表

  1. 第一位表示用戶許可權
  2. 第二位表示用戶組許可權
  3. 第三位表示其他用戶許可權。

數字細節如下

  • 0:無任何許可權,即---
  • 1:僅有x許可權,即--x
  • 2:僅有w許可權,即-w-
  • 3:有w和x許可權,即-wx
  • 4:僅有r許可權,即r--
  • 5:有r和x許可權,即r-x
  • 6:有r和w許可權,即rw-
  • 7:有全部許可權,即rwx

所以751表示:(7)rwx(5)r-x(1)--x

chown

使用chown命令,可以修改文件,文件夾的所屬用戶和用戶組

語法:chown [-R] [用戶][:][用戶組] 文件或文件夾
  • 選項,-R,對文件夾內的全部內容應用同樣的操作。
  • 選項,用戶,修改所屬用戶。
  • 選項,用戶組,修改所屬用戶組。
  • :用於分隔用戶和用戶組。

示例

  • chown root hell.txt,將hello.txt所屬用戶修改為root
  • chown :root hell.txt,將hello.txt所屬用戶組修改為root
  • chown root:KF hell.txt,將hello.txt所屬用戶修改為root,所屬用戶組修改為KF
  • chown -R root test,將文件夾test的所屬用戶修改為root並對文件夾內全部應用同樣規則。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在本文中,我們將介紹如何使用 .NET Core 中的中間件來自定義規範響應,以便在 API 調用時返回統一的格式和錯誤信息。中間件是一種可以在請求和響應管道中執行邏輯的軟體組件,它可以對請求或響應進行修改、攔截或處理。我們將使用一個簡單的示例來演示如何創建和使用自定義規範響應的中間件。 首先,我們 ...
  • 1. 在Blazor中使用Chart.js 首先,從Chart.js官方網站下載Chart.js庫文件。 推薦下載這個構建好的版本https://cdnjs.com/libraries/Chart.js,最新版是v4.2.1 在Blazor項目中把剛剛下載好的Chart.js放到wwwroot目錄下 ...
  • 雲伺服器開啟埠 CentOS開啟埠 防火牆添加埠 firewall-cmd --zone=public --add-port=埠/tcp --permanent 命令含義: –zone #作用域 –add-port=1935/tcp #添加埠,格式為:埠/通訊協議 –permanent ...
  • Ubuntu系統Flameshot使用問題 系統:Ubuntu22.04 問題:使用Flameshot,每次都會先截取整個屏幕,提示需要先分享,再使用Flameshot的功能 安裝Flameshot sudo apt install flameshot 先說解決方案 開機用戶登錄時,右下角有設置桌面 ...
  • 前言 這個任務調度模塊的實現是形成於畢設項目中的,用在STM32中,斷斷續續跨度2個月實現了一些基本功能,可能後面再做其他項目時會一點點完善起來,也會多學習相關知識來強化模塊的實用性和高效性,畢竟用自己自主實現出來的功能還是蠻舒心的。 任務調度模式結構 整體上的結構屬於線性結構,結合鏈表和定時器來實 ...
  • Win(WD 512G)+ Fedora(Lexar 256G),在Fedora Linux中無法顯示Windows的硬碟,排除SCSI匯流排的問題後確認是傲騰Optane without Raid的問題,通過BIOS更改為ACHI得到解決 ...
  • 一、基礎知識 1.1 Linux系統的文件結構 /bin 二進位文件,系統常規命令 /boot 系統啟動分區,系統啟動時讀取的文件 /dev 設備文件 /etc 大多數配置文件 /home 普通用戶的家目錄 /lib 32位函數庫 /lib64 64位庫 /media 手動臨時掛載點 /mnt 手動 ...
  • 痞子衡嵌入式半月刊: 第 75 期 這裡分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時發佈一期。 本期刊是開源項目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。 上期回顧 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...