【DevOps】詳解 Linux 用戶和權限管理:添加用戶、分組及文件權限設置

目錄

1. 用戶管理

用戶分類

用戶相關文件

常用命令

2. 組管理

組相關文件

常用命令

3. 權限管理

文件權限

權限表示

修改權限

修改所有者和所屬組

特殊權限

4. 示例

命令的詳細解釋

權限解釋

示例:文件權限 -rw-r--r-- 的含義


在 Linux 中,用戶和權限管理是系統安全和資源控制的核心。以下是對 Linux 用戶和權限的詳細解釋:

1. 用戶管理

用戶分類
  • 普通用戶:通常用于個人和非特權操作。
  • 超級用戶(root):擁有系統的完全控制權,可以執行任何操作。
  • 系統用戶:通常用于系統服務和守護進程,通常沒有登錄權限。
用戶相關文件
  • /etc/passwd:存儲用戶的基本信息,包括用戶名、UID、GID、主目錄、Shell 等。
  • /etc/shadow:存儲用戶的加密密碼信息。
  • /etc/group:存儲組的信息。
常用命令
  • 添加用戶
    sudo useradd username
    sudo passwd username  # 設置密碼
    
  • 刪除用戶
    sudo userdel username
    
  • 修改用戶
    sudo usermod -c "New Comment" username
    sudo usermod -d /new/home/directory username
    sudo usermod -s /bin/zsh username
    sudo usermod -G newgroup username  # 添加到新組
    
  • 查看用戶信息
    id username
    getent passwd username
    

2. 組管理

組相關文件
  • /etc/group:存儲組的信息。
  • /etc/gshadow:存儲組的密碼信息。
常用命令
  • 添加組
    sudo groupadd groupname
    
  • 刪除組
    sudo groupdel groupname
    
  • 修改組
    sudo groupmod -n newgroupname oldgroupname  # 改組名
    
  • 添加用戶到組
    sudo usermod -aG groupname username
    
  • 查看組信息
    getent group groupname
    

3. 權限管理

文件權限
  • 讀(Read,r):能夠查看文件內容或列出目錄內容。
  • 寫(Write,w):能夠修改文件內容或在目錄中添加/刪除文件。
  • 執行(Execute,x):能夠執行文件或訪問目錄。
權限表示
  • 符號表示法-rwxr-xr--,每個位置代表不同的權限。

    • 第一個字符:文件類型?-(文件)或?d(目錄)。
    • 接下來的三個字符:文件擁有者的權限。
    • 中間的三個字符:文件所屬組的權限。
    • 最后三個字符:其他用戶的權限。
  • 八進制表示法0755,每一位表示擁有者、組和其他用戶的權限。

    • 7rwx(讀、寫、執行)。
    • 5r-x(讀、執行)。
    • 4r--(只讀)。
修改權限
  • chmod?命令:修改文件或目錄的權限。
    chmod 755 filename
    chmod u+x filename  # 給擁有者增加執行權限
    chmod g-w filename  # 給組去除寫權限
    chmod o=r filename  # 設置其他用戶只讀權限
    
修改所有者和所屬組
  • chown?命令:修改文件或目錄的所有者和所屬組。
    sudo chown newowner filename
    sudo chown newowner:newgroup filename
    sudo chown :newgroup filename  # 只修改所屬組
    
  • chgrp?命令:只修改文件或目錄的所屬組。
    sudo chgrp newgroup filename
    
特殊權限
  • Setuid:使文件以擁有者的權限執行(常用于二進制程序)。
    chmod u+s filename
    
  • Setgid:使文件以組的權限執行,或使目錄中創建的文件繼承目錄組。
    chmod g+s filename
    chmod g+s directory
    
  • Sticky Bit:防止非擁有者刪除目錄中的文件。
    chmod +t directory
    

4. 示例

請看示例命令行:

# 添加用戶
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser# 添加組
sudo groupadd newgroup# 將用戶添加到組
sudo usermod -aG newgroup newuser# 創建文件并設置權限
touch /tmp/testfile
sudo chmod 644 /tmp/testfile  # 設置文件權限為擁有者可讀寫,其他人只讀
sudo chown newuser:newgroup /tmp/testfile  # 修改文件擁有者和組
命令的詳細解釋
  • 添加用戶

    sudo useradd -m -s /bin/bash newuser
    

    效果:創建一個名為?newuser?的用戶,并在?/home/newuser?下創建他的主目錄,默認 shell 為?/bin/bash

    sudo passwd newuser
    

    效果:為?newuser?設置密碼,讓該用戶能夠登錄系統。

    • sudo:以超級用戶身份執行命令。
    • useradd:用于添加新用戶。
    • -m:創建用戶的主目錄(通常位于?/home/<username>)。
    • -s:指定新用戶的默認 shell。
    • /bin/bash:為新用戶指定 Bash 作為默認 shell。
    • newuser:用戶名。
    • passwd:用于設置或更改用戶密碼。
    • newuser:用戶名。
  • 添加組

    sudo groupadd newgroup
    

    效果:創建一個名為?newgroup?的新組。

    • sudo:以超級用戶身份執行命令。
    • groupadd:用于添加新組。
    • newgroup:組名。
  • 將用戶添加到組

    sudo usermod -aG newgroup newuser
    

    效果:將用戶?newuser?添加到?newgroup?組,使其成為該組的成員。

    • sudo:以超級用戶身份執行命令。
    • usermod:用于修改用戶信息。
    • -a:追加組信息而不是替換。
    • -G:指定要添加的組。
    • newgroup:組名。
    • newuser:用戶名。
  • 創建文件并設置權限

    touch /tmp/testfile
    

    效果:在?/tmp?目錄下創建一個名為?testfile?的空文件。

    sudo chmod 644 /tmp/testfile  # 設置文件權限為擁有者可讀寫,其他人只讀
    

    效果:設置文件?/tmp/testfile?的權限為擁有者可讀寫,其他人只讀。

    sudo chown newuser:newgroup /tmp/testfile  # 修改文件擁有者和組
    

    效果:將文件?/tmp/testfile?的擁有者設置為?newuser,所屬組設置為?newgroup

    • touch:用于創建空文件或更新文件的修改時間。
    • /tmp/testfile:文件路徑。
    • sudo:以超級用戶身份執行命令。
    • chmod:用于修改文件或目錄的權限。
    • 644:八進制權限表示法。
      • 6:擁有者(newuser)具有讀和寫權限(rw-)。
      • 4:同組用戶具有讀權限(r--)。
      • 4:其他用戶具有讀權限(r--)。
    • /tmp/testfile:文件路徑。
    • sudo:以超級用戶身份執行命令。
    • chown:用于修改文件或目錄的擁有者和組。
    • newuser:newgroup:新擁有者和組。
    • /tmp/testfile:文件路徑。
權限解釋
  • 文件類型:第一個字符表示文件類型,-?表示文件,d?表示目錄,l?表示鏈接等。
  • 文件權限:后面九個字符表示文件權限。
    • 第 1-3 位(rwx):文件擁有者的權限。
    • 第 4-6 位(r-x):文件所屬組的權限。
    • 第 7-9 位(r--):其他用戶的權限。
示例:文件權限 -rw-r--r-- 的含義
  • -:普通文件。
  • rw-:文件擁有者具有讀、寫權限。
  • r--:文件所屬組具有讀權限。
  • r--:其他用戶具有讀權限。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/11699.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11699.shtml
英文地址,請注明出處:http://en.pswp.cn/web/11699.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

棧隊列經典OJ題(詳細過程)

1. 有效的括號 - 力扣&#xff08;LeetCode&#xff09; 第一題判斷有效的括號&#xff0c;這道題我們會用到棧的知識&#xff0c;棧是后進先出的&#xff0c;可以根據這個來解這道題&#xff0c;先看一下題目和示例。 1.1整體思路 我們通過示例可以看出括號匹配就返回true&am…

【JAVA】BOSS系統發版藝術:構建高效、優雅的微服務部署策略

在現代軟件開發領域&#xff0c;微服務架構與容器化部署已迅速成為行業新趨勢。微服務架構通過將應用拆分成多個小型、自治的服務單元&#xff0c;每個服務承擔某項特定的業務功能。而容器化部署則以其輕量級和高度可移植的特性&#xff0c;為這些微服務的有效打包、分發和運行…

機器學習 - 不同分類模型的比較

一、模型訓練 本案例中&#xff0c;我們將通過四種不同的模型來預測泰坦尼克號乘客的生存情況。 一下是訓練的具體步驟。 加載數據 從seaborn庫中加載目標數據。該數據集包括多個特征&#xff0c;如 PassengerId, Pclass, Name, Sex, Age, SibSp, Parch, Ticket, Fare, Cabi…

科技查新中的工法查新點如何確立與提煉?案例講解!

按《工程建設工法管理辦法》( 建 質&#xff3b;2014&#xff3d;103 號) &#xff0c;工法&#xff0c;是指以工程為對象&#xff0c;以工藝為核心&#xff0c;運用系 統工程原理&#xff0c;把先進技術和科學管理結合起來&#xff0c;經過一定工程實踐形成的綜合配套的施工方…

探索美國動態IP池:技術賦能下的網絡安全新篇章

在數字化飛速發展的今天&#xff0c;網絡安全成為了各行各業關注的焦點。特別是在跨國業務中&#xff0c;如何保障數據的安全傳輸和合規性成為了企業面臨的重要挑戰。美國動態IP池作為一種新興的網絡技術&#xff0c;正逐漸走進人們的視野&#xff0c;為網絡安全提供新的解決方…

黑馬甄選離線數倉項目day02(數據采集)

datax介紹 官網&#xff1a; https://github.com/alibaba/DataX/blob/master/introduction.md DataX 是阿里云 DataWorks數據集成 的開源版本&#xff0c;在阿里巴巴集團內被廣泛使用的離線數據同步工具/平臺。 DataX 實現了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre…

Java中List接口中方法的使用(初學者指南)

Java中List接口中方法的使用&#xff08;初學者指南&#xff09; 在Java中&#xff0c;List接口是Collection接口的子接口&#xff0c;它表示一個有序的集合&#xff0c;其中的元素都可以重復。List接口提供了許多額外的方法&#xff0c;用于對元素進行插入、刪除、查詢等操作…

計算機Java項目|Springboot學生讀書筆記共享

作者主頁&#xff1a;編程指南針 作者簡介&#xff1a;Java領域優質創作者、CSDN博客專家 、CSDN內容合伙人、掘金特邀作者、阿里云博客專家、51CTO特邀作者、多年架構師設計經驗、騰訊課堂常駐講師 主要內容&#xff1a;Java項目、Python項目、前端項目、人工智能與大數據、簡…

C++通過json文件配置參數

一、安裝nlohmann json nlohmann json&#xff1a;安裝_nlohmann安裝-CSDN博客 依次執行下面指令&#xff1a; git clone https://gitee.com/cuihongxi/mov_from_github.gitcd json-developmkdir buildcd buildcmake ..makesudo make install 二、安裝完成后使用 #include…

華為設備display查看命令

display version //查看版本信息 display current-configuration //查看配置詳情 display this //查看當前視圖有效配置 display ip routing-table //查看路由表 display ip routing-table 192.168.3.1 //查看去往3.1的路由 display ip interface brief //查看接口下ip信息 dis…

想跨境出海?云手機提供了一種可能性

全球化時代&#xff0c;越來越多的中國電商開始將目光投向了海外市場。這并不是偶然&#xff0c;而是他們在長期的市場運營中&#xff0c;看到了出海的必要性和潛在的機會。 中國的電商市場無疑是全球最大也最發達的之一。然而&#xff0c;隨著市場的不斷發展和競爭的日益加劇…

visual studio2022 JNI極簡開發流程

文章目錄 1 創建java類2 生成JNI頭文件3 使用visual studio2022創建DLL項目3.1 選擇模板中&#xff08;Windows桌面向導&#xff09;3.2 為項目命名3.3 選擇應用程序類型為動態鏈接庫3.4 項目概覽 4 導入需要的頭文件4.1 導入需要的頭文件4.2 修改頭文件 5 編寫C實現6 生成dll文…

服務器3389端口,服務器3389端口風險提示的應對措施

3389端口是Windows操作系統中遠程桌面協議&#xff08;RDP&#xff09;的默認端口。一旦該端口被惡意攻擊者利用&#xff0c;可能會導致未經授權的遠程訪問和數據泄露等嚴重安全問題。 針對此風險&#xff0c;強烈建議您采取以下措施&#xff1a; 1. 修改默認端口&#xff1a;…

Java面試之抽象類和接口

Java的一個重要特性就是抽象&#xff0c;抽象是指將具體的事物抽象成更一般化、更抽象化的概念或模型。在Java中&#xff0c;抽象可以通過抽象類和接口來實現&#xff0c;它們讓你能夠定義一些方法但不提供具體實現&#xff0c;從而讓子類去實現具體細節。 一、抽象類&#xf…

springboot3 集成spring-authorization-server (一 基礎篇)

官方文檔 Spring Authorization Server 環境介紹 java&#xff1a;17 SpringBoot&#xff1a;3.2.0 SpringCloud&#xff1a;2023.0.0 引入maven配置 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter…

識別AI論文生成內容,降低論文高AI率

AI寫作工具能幫我們在短時間內高效生成一篇畢業論文、開通報告、文獻綜述、任務書、調研報告、期刊論文、課程論文等等&#xff0c;導致許多人開始使用AI寫作工具作為撰寫學術論文的輔助手段。而學術界為了杜絕此行為&#xff0c;開始使用AIGC檢測系統來判斷文章是由AI生成還是…

解鎖商業AI,賦能新質生產力發展——思愛普中國峰會探展全紀錄

ITValue 鈦媒體獨家探秘思愛普中國峰會&#xff0c;帶你深刻感受SAP助力企業利用以商業AI為代表的數字化技術&#xff0c;實現質的飛躍&#xff0c;通過全數據、全球化、全綠色賦能新型中國企業發展新質生產力。 首發&#xff5c;鈦媒體APP ITValue 5月10日&#xff0c;一年一度…

基于NTP服務器獲取網絡時間的實現

文章目錄 1 NTP1.1 簡介1.2 包結構1.3 UNIX 時間戳和NTP時間戳 2 代碼實現2.1 實現步驟2.2 完整代碼 3 結果 在某些場景下&#xff0c;單片機需要通過網絡獲取準確的時間進行數據同步&#xff0c;例如日志記錄、定時任務等。然而&#xff0c;單片機本身無法直接獲得準確的標準時…

Vue的學習 —— <vue指令>

目錄 前言 正文 內容渲染指令 內容渲染指令的使用方法 v-text v-html 屬性綁定指令 雙向數據綁定指令 事件綁定指令 條件渲染指令 循環列表渲染指令 偵聽器 前言 在完成Vue開發環境的搭建后&#xff0c;若想將Vue應用于實際項目&#xff0c;首要任務是學習Vue的基…

ORA-00932: inconsistent datatypes: expected - got CLOB的分析解決方案

最近在項目中遇到查詢數據時報ORA-00932: inconsistent datatypes: expected - got CLOB錯誤&#xff0c;這個錯誤很明顯是由于查詢時類型的不匹配造成的。 問題分析&#xff1a; 一、檢查你的查詢的實體的類型是否于數據庫的保持一致&#xff0c;如果不一致&#xff0c;那么需…