02.【Linux系統編程】Linux權限(root超級用戶和普通用戶、創建普通用戶、sudo短暫提權、權限概念、權限修改、粘滯位)

目錄

1. root超級用戶和普通用戶

2.?創建普通用戶、密碼設置、切換用戶

3. sudo短暫提權(給普通用戶添加sudo權限)

4. 權限

4.1 是什么

4.2 為什么有權限?(權限 = 角色 + 目標屬性)

4.2.1 角色

4.2.2 目標屬性

4.3 修改目標屬性chmod

4.3.1 相關指令

4.3.2 文件權限相關問題(重點)

4.3.3 目錄權限相關問題(重點)

4.3.4 缺省權限(權限掩碼)(重點)

4.3.5 文件的刪除權限 & 粘滯位(重點)

4.4 修改角色chown\chgrp

4.4.1 相關指令


1. root超級用戶和普通用戶

????????Linux下有兩種用戶:超級用戶(root)、普通用戶

????????????????? 超級用戶:可以再linux系統下做任何事情,不受限制

????????????????? 普通用戶:在linux下做有限的事情。

????????? 超級用戶的命令提示符是“#”,普通用戶的命令提示符是“$”。

2.?創建普通用戶、密碼設置、切換用戶

語法:adduser [用戶名]
功能:新創建一個普通用戶
語法:passwd [用戶名]
功能:給用戶重設密碼,root下可以直接給普通用戶重置密碼。普通用戶使用需要加sudo
語法:su
功能:切換用戶

????????例如,要從root用戶切換到普通用戶user,則使用 su user。

????????要從普通用戶user切換到root用戶則使用 su root(root可以省略),此時系統會提示輸入root用戶的密碼。

# 普通用戶切換超級用戶
su    # 不重新登陸,不做路徑變化
su -  # 重新登陸,路徑變回/root# 超級->普通
su    # 用戶名,不需要輸入密碼,

????????注意:Linux多用戶之間相互隔離:任何用戶,無法進入其他用戶的家目錄。

3. sudo短暫提權(給普通用戶添加sudo權限)

? ? ? ? sudo:是用來進行指定的短暫提權的。

? ? ? ? 比如:安裝軟件到系統中,需要管理員root權限。(軟件其實只安裝了一份,允許大家同時使用)

? ? ? ? 舉例:whoami ->普通用戶 -> sudo ls ->報錯

給普通用戶添加sudo權限

? ? ? ? 1. 切換root用戶,打開/etc/sudoers文件

vim /etc/sudoers

? ? ? ? 2. 在100行有以下代碼

root    ALL=(ALL)       ALL

? ? ? ? 3. 拷貝上述代碼并修改用戶名為需要添加sudo權限的用戶。

root    ALL=(ALL)       ALL
gyy     ALL=(ALL)       ALL
# 我的普通用戶名為gyy

? ? ? ? 4. 進入vim的命令模式,使用wq!強制保存退出。

4. 權限

4.1 是什么

? ? ? ? 權限的本質是:能或者不能做什么事情。

4.2 為什么有權限?(權限 = 角色 + 目標屬性)

? ? ? ? 1. 控制用戶的行為,防止錯誤的發生

? ? ? ? 2. 理解:權限 = 角色 + 目標屬性

? ? ? ? ? ? ? ? 權限首先限制的是角色(人)

? ? ? ? ? ? ? ? 權限要求目標必須具備對應的屬性

(Linux下一切皆文件,面對的都是文件的:讀、寫、執行)

4.2.1 角色

1. 角色是什么?

? ? ? ? 角色有:擁有者(user)、所屬組(group)、other。

? ? ? ? other不需要記錄,除了擁有者、所屬組之外的就是other。

2. 什么是所屬組?

? ? ? ? 更精細化的權限管理,首先要有更精細化的身份角色。所屬組就是用來給角色分組的。

4.2.2 目標屬性

1. 權限位

? ? ? ? 擁有者、所屬組、other每個有三個權限位,分別為rwx(可讀、可寫、可執行,權限位是“-”代表沒有此權限)

????????? 讀(r/-):Read對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽該目錄信息的權限

????????? 寫(w/-):Write對文件而言,具有修改文件內容的權限;對目錄來說具有刪除移動目錄內文件的權限

????????? 執行(x/-):execute對文件而言,具有執行文件的權限;對目錄來說,具有進入目錄的權限

????????? “-”表示不具有該項權限

? ? ? ? 例:像下列test.txt文件擁有者的權限是:可讀可寫不可執行,所屬組權限是:可讀可寫不可執行,other權限是:可讀、不可寫、不可執行。

4.3 修改目標屬性chmod

4.3.1 相關指令

語法:chmod [參數] 權限 文件名
功能:修改文件屬性,參數可以使用“,”表達式
常用選項:

R 遞歸修改目錄文件的權限

說明:只有文件的擁有者和root才可以改變文件的權限。

修改權限的符號:
+向權限范圍增加權限
-

向權限范圍取消權限

=

向權限范圍賦予權限

用戶符號:
u擁有者
g所屬組
o其他用戶
a所有用戶

實例:

# 給擁有者添加rw權限
chmod u+rw abc.txt# 給other取消x權限
chmod o-x abc.txt# 給所有角色權限設置為rwx
chmod a=rwx abc.txt

? ? ? ? 以上是文件權限值得字符表示法,還有三位8進制表示法,將擁有者、所屬組、other的三個權限位分別用"1"代表有權限,"0"代表沒有權限。使用三位八進制表示權限值。

實例:

# 將test1.txt的權限設置為 110110110 即 rw-rw-rw-
chmod 666 test1.txt# 將test2.txt的權限設置為 111111111 即 rwxrwxrwx
chmod 777 test2.txt

4.3.2 文件權限相關問題(重點)

????????1. 能修改任何人的文件權限嗎?用戶只能更改自己的文件權限。

????????2. 沒有權限會怎么辦?系統會拒絕讓我們訪問(Permission denied)

????????3. 確定權限信息的時候,系統會先確定用戶是誰?擁有者、所屬組,還是other?

????????? ? ? ? 在Centos下,用戶角色只確定一次,順序是:擁有者,所屬組,other

????????4. root用戶的權限?不受權限約束

????????? ? ? ? 任何普通用戶的文件,root都可以讀寫

????????? ? ? ? user和group都是root的用戶,即使user和group的權限設置位"---",root用戶也可以讀寫。

????????5. 如何理解可執行?可執行只是允許文件執行

????????? ? ? ? 可執行權限 != 文件可以執行。

4.3.3 目錄權限相關問題(重點)

? ? ? ? 默認情況下,新建的目錄rwx權限都要有。

? ? ? ? 6. 如果目錄沒有r權限,就無法查看目錄里面的文件,ls報(Permission denied)

? ? ? ? 7. 如果目錄沒有w權限,就無法再智能目錄內部新建文件

? ? ? ? 8. 如果目錄沒有x權限,就不能進入目錄。

4.3.4 缺省權限(權限掩碼)(重點)

? ? ? ? 對于新建普通文件:起始權限666,默認不帶可執行

? ? ? ? 對于新建目錄文件:起始文件777,默認攜帶x

1.?權限掩碼umask:系統默認存在,用來讓用戶設置實際初始權限。

? ? ? ? 1. umask目的:希望凡是在umask中出現的權限都不應該在最終權限中出現。

? ? ? ? 2. 為什么要有umask?

? ? ? ? ? ? ? ? a. 默認權限,由OS自主決定,無法在船艦前進行修改 --- 系統可配置,可以靈活滿足需要的一種表現。

? ? ? ? ? ? ? ? b. 特殊情況下,配置umask,可以控制文件的默認權限,讓我們的代碼都是可控的。

? ? ? ? 最終權限 = 起始權限 & (~umask)

umask
# 0002    第一位不看,后三位分別對應9個位的權限值

2. 修改權限掩碼

語法:umask [權限掩碼]
功能:查看/修改權限掩碼

實例:

# 設置權限掩碼
umask 755# 查看權限掩碼
umask

4.3.5 文件的刪除權限 & 粘滯位(重點)

1. 一個文件是否能被刪除,與文件本身無關,與文件所處的目錄的w權限有關!

2. 協作問題,粘滯位

? ? ? ? 如果兩個用戶之間要進行文件級別的協作,不能將共享目錄放在私人賬號里,則只能放在根目錄下。共享文件,不想讓非文件的擁有者刪除對應的文件!使用粘滯位解決。

? ? ? ? 粘滯位目的:在一個公共目錄(如?/tmp)中,用戶只能刪除或重命名自己創建的文件或目錄,而不能刪除其他用戶的文件,即使該目錄對所有用戶都有寫權限(如 777)。

? ? ? ? 粘滯位添加:(粘滯位是在other的x權限位置)

# 添加粘滯位
chmod +t [目錄/文件名]# 刪除粘滯位
chmod -t [目錄/文件名]

????????當一個目錄被設置為"粘滯位"(用chmod +t),則該目錄下的文件只能由

????????????????1. 超級管理員刪除

????????????????2. 該目錄的所有者刪除

????????????????3. 該文件的所有者刪除

4.4 修改角色chown\chgrp

? ? ? ? 系統默認不允許我們把文件給別人,所以想要修改角色必須提高權限,使用sudo或者切換root用戶。

4.4.1 相關指令

語法:chown [角色] 文件名
功能:修改文件擁有者角色,可以同時修改擁有者和所屬組
常用選項:

-R?遞歸修改文件或目錄的擁有者

語法:chgrp [角色] 文件名
功能:修改文件所屬組角色
常用選項:

-R?遞歸修改文件或目錄的所屬組

# 修改test1.txt的擁有者為root
chown root test1.txt# 修改test2.txt的擁有者和所屬組為user1
chown user1:user1 test2.txt# 修改test3.txt的所屬組為user3
chgrp user3 test3.txt

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

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

相關文章

阿里云可觀測 2025 年 8 月產品動態

本月可觀測熱文回顧 文章一覽: 零代碼改造!LoongSuite AI 采集套件觀測實戰 性能瓶頸定位更快更準:ARMS 持續剖析能力升級解析 不只是告警:用阿里云可觀測 MCP 實現 AK 高效安全審計 金蝶云?星辰基于 SLS 構建穩定高效可觀測…

綠蟲零碳助手:通過電費推算用電量,確認光伏裝機規模

在光伏項目開發前期,精準掌握用電需求與合理確定裝機規模是關鍵環節。前者決定光伏系統需滿足的用電基數,后者影響項目投資成本與發電收益匹配度。通過電費數據推算實際用電量,再結合專業工具計算光伏裝機參數,可有效降低項目規劃…

融智學:構建AI時代學術的新范式

融智學:構建AI時代學術新范式摘要:鄒曉輝提出的融智學為現代學術體系困境提供系統性解決方案,通過"問題與價值驅動"的新范式取代傳統"發表驅動"模式。該體系包含三大核心:哲學基礎(唯文主義、信息…

【JavaEE初階】-- JVM

文章目錄1. JVM運行流程2. Java運行時數據區2.1 方法區(內存共享)2.2 堆(內存共享)2.3 Java虛擬機棧(線程私有)2.4 本地方法棧(線程私有)2.5 程序計數器(線程私有&#x…

第十四屆藍橋杯青少組C++選拔賽[2023.1.15]第二部分編程題(4 、移動石子)

參考程序1&#xff1a;#include <bits/stdc.h> using namespace std; int main() {int N;cin >> N;vector<int> stones(N);int sum 0;for (int i 0; i < N; i) {cin >> stones[i];sum stones[i];}int target sum / N; // 每個籃子的平均值int a…

Spring Boot 的注解是如何生效的

在 Spring 中&#xff0c;Configuration、ComponentScan、Bean、Import 等注解的掃描、解析和 BeanDefinition 注冊是一個分層處理的過程。下面我們以 Configuration 類為例&#xff0c;結合代碼流程詳細說明其從掃描到注冊的完整邏輯。 1. 整體流程概覽 以下是核心步驟的流程圖…

Django REST Framework響應類Response詳解

概述 Response 類是一個智能的 HTTP 響應類&#xff0c;能夠根據客戶端請求的內容類型&#xff08;Content-Type&#xff09;自動將數據渲染成合適的格式&#xff08;JSON、XML、HTML等&#xff09;。 基本用法 from rest_framework.response import Response# 最簡單的用法 de…

# 小程序 Web 登錄流程完整解析

登錄流程完整小白解析&#xff08;小程序 & Web&#xff09; 在開發中&#xff0c;登錄是每個系統最基礎的功能。為了讓小白也能理解&#xff0c;我們用通俗類比和流程講解 小程序登錄、Web 登錄、Token 刷新、安全存儲等整個過程。1?? 小程序登錄流程&#xff08;小白理…

安裝vcenter6.7 第二階段安裝很慢 或卡在50%

DNS、FQDN配置的問題采用VCSA安裝vCenter時&#xff0c;第一步安裝還算順利&#xff0c;第二步就會安裝失敗&#xff0c;而且還特別慢&#xff0c;這是因為部署時需要DNS服務器&#xff0c;下面就是不采用DNS服務器的部署方案。第一步&#xff1a;正常安裝&#xff0c;DNS就寫本…

第十六屆藍橋杯軟件賽 C 組省賽 C++ 題解

大家好&#xff0c;今天是 2025 年 9 月 11 日&#xff0c;我來給大家寫一篇關于第十六屆藍橋杯軟件賽 C 組省賽的C 題解&#xff0c;希望對大家有所幫助&#xff01;&#xff01;&#xff01; 創作不易&#xff0c;別忘了一鍵三連 題目一&#xff1a;數位倍數 題目鏈接&…

項目幫助文檔的實現

項目幫助文檔的實現 代碼如下&#xff1a; #ifndef __M_HELPER_H__ #define __M_HELPER_H__ #include <iostream> #include <fstream> #include <string> #include <vector> #include <sqlite3.h> #include <random> #include <sstream…

python逆向-逆向pyinstaller打包的exe程序反編譯獲取源代碼

python逆向-逆向pyinstaller打包的exe程序反編譯獲取源代碼 Pyinstaller pyinstaller 是一個用于將 Python 程序打包成獨立可執行文件的工具&#xff0c;能夠在沒有 Python 解釋器的情況下運行。 Python 腳本轉換為 Windows、macOS 和 Linux 操作系統上的可執行文件。 把Python…

【SQL】-- sql having 和 where 的 區別

HAVING 和 WHERE 都是用來篩選數據的&#xff0c;但它們的應用場景有所不同。WHERE&#xff1a;用于篩選行數據&#xff0c;通常在 FROM 子句之后執行。它在分組操作 (GROUP BY) 之前應用&#xff0c;用來篩選出符合條件的記錄。示例&#xff1a;SELECT name, age FROM employe…

MySQL,SQL Server,PostgreSQL三種數據庫各自的優缺點,分別適用哪些場景

MySQL的優缺點及適用場景優點開源免費&#xff0c;社區版可商用&#xff0c;成本低。輕量級&#xff0c;安裝配置簡單&#xff0c;適合中小型項目。讀寫性能優異&#xff0c;尤其在OLTP&#xff08;在線事務處理&#xff09;場景下表現突出。支持主從復制、分片等擴展方案&…

Java 類加載機制雙親委派與自定義類加載器

我們來深入解析 Java 類加載機制。這是理解 Java 應用如何運行、如何實現插件化、以及解決一些依賴沖突問題的關鍵。一、核心概念&#xff1a;類加載過程一個類型&#xff08;包括類和接口&#xff09;從被加載到虛擬機內存開始&#xff0c;到卸載出內存為止&#xff0c;它的整…

Kaggle項目實踐——Titanic: Machine Learning from Disaster

泰坦尼克號沉船事件是機器學習領域最經典的入門項目之一。Kaggle 上的 Titanic: Machine Learning from Disaster 競賽&#xff0c;被無數人稱為“機器學習的 Hello World”。 一、數據導入與清洗&#xff1a;讓數據從 “雜亂” 變 “干凈” 機器學習模型就像 “挑食的孩子”…

Qt C++ 復雜界面處理:巧用覆蓋層突破復雜界面處理難題?之二

接上一篇&#xff0c;繼續探索“覆蓋層”的使用方法。 五、覆蓋層進階交互&#xff1a;從 “能繪制” 到 “好操作”? 基礎的繪制功能只能滿足 “看得見” 的需求&#xff0c;實際開發中還需要 “能操作”—— 比如選中線條修改顏色、按 Delete 鍵刪除線條、鼠標 hover 時高亮…

神經網絡構成框架-理論學習

一、神經網絡的基本組成與分類 1.1 神經網絡的核心組成部分 神經網絡是現代人工智能的基石&#xff0c;其設計靈感來源于生物神經系統的信息處理方式。作為工程師&#xff0c;了解神經網絡的基本組成部分對于構建和優化模型至關重要。一個典型的神經網絡主要由以下幾個關鍵部分…

從0開始開發app(AI助手版)-架構及環境搭建

架構選擇 前端React Native 后端Firebase 原因 環境準備 安裝node 安裝JDK 命令行工具&#xff1a;Node.js command prompt命令行查詢Javav版本&#xff1a;javac -version使用nrm工具切換淘寶源&#xff1a;npx nrm use taobao安裝yarn&#xff0c;替代npm下載工具&#x…

【性能測試】Jmeter工具快速上手-搭建壓力測試腳本

&#x1f525;個人主頁&#xff1a; 中草藥 &#x1f525;專欄&#xff1a;【Java】登神長階 史詩般的Java成神之路 概念 性能測試是軟件測試的重要分支&#xff0c;核心目標是通過模擬真實業務場景和負載壓力&#xff0c;評估系統在不同條件下的性能表現&#xff0c;發現系統性…