Linux學習筆記(二):Linux權限管理

文章目錄

    • 一、Linux下用戶的分類
      • 1. Linux下用戶分為兩類:
      • 2. 這兩類用戶如何進行切換呢?
      • 3. 短暫提權
    • 二、何為權限
      • 1. 什么是權限
      • 2. Linux的文件后綴意義
    • 三、修改權限
      • 1. 設置文件的訪問權限——chmod
      • 2. 修改文件擁有者——chown
      • 3. 修改文件所屬組——chgrp
      • 4. 一個問題
    • 四、兩個面試題
      • 1. 問題一:默認權限問題(權限掩碼)
      • 2. 問題二:用戶的文件共享問題(粘滯位)


一、Linux下用戶的分類

1. Linux下用戶分為兩類:

  • root:超級用戶
    基本不受權限的約束
  • 普通用戶:我們用root新建(adduser)的用戶
    受權限約束

2. 這兩類用戶如何進行切換呢?

在普通用戶下輸入su/su -
在這里插入圖片描述
會讓我們輸入密碼,輸入root密碼就完成切換了
在這里插入圖片描述
如果要切回到普通用戶,輸入exit/ctrl + d:
在這里插入圖片描述
無需輸入密碼。

如果我們要從root切換到指定普通用戶,可以用su [目標用戶名]完成切換,無需輸入密碼。
在這里插入圖片描述
普通用戶切換指定普通用戶也亦如此,不同的是需要輸入指定普通用戶的密碼。

注意:Linux中所有的用戶都要有密碼,無論是root還是普通用戶。
建議:root的密碼不要和普通用戶的密碼相同

3. 短暫提權

如果我們想要提權一條指令,可以輸入sudo [指令]進行提權,第一次需要輸入你的用戶密碼驗證身份。輸入一次后10~20min中內提權無需再輸入密碼驗證。

注意:如果我們用的普通用戶沒有添加到系統信任白名單內(/etc/sudoers),是沒有sudo的權利的,因為系統不信任你。


二、何為權限

1. 什么是權限

一件事情是否允許你做

  1. 權限認證的是身份(權限與“人(身份/角色)”有關)
    權限=具體用戶+身份/角色
  • 用戶分為root和普通用戶
  • 身份分為:
    • 擁有者(u):文件和文件目錄的所有者
    • 所屬組(g):文件和文件目錄的所有者所在的組的用戶
      存在意義:可以給部分人給予特殊權限
    • 其他人(o):其它用戶
    • 所有人(a)
  1. 權限與事物的“屬性”有關
    文件的屬性:可讀r、可寫w、可執行x

文件屬性:
在這里插入圖片描述
為什么沒有指定其他用戶呢?
除了擁有者和所屬者后,剩余的就是其他用戶了,所以沒必要再去指定

開頭的首字符是文件類型:

d:目錄文件
-:普通文件(文本、可執行程序、庫等)
l:軟鏈接(類似Windows的快捷方式)
b:塊設備文件(硬盤文件)
p:管道文件(用來進行通信的)
c:字符設備文件(鍵盤、顯示器文件等)
s:套接口文件

基本權限
i.讀(r):Read對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽該目錄信息的權限
ii.寫(w):Write對文件而言,具有修改文件內容的權限;對目錄來說具有刪除、創建、更改目錄內文件的權限
iii.執行(x):execute對文件而言,具有執行文件的權限;對目錄來說,具有進入目錄的權限
iv.“-”表示不具有該項權限

在這里插入圖片描述
為了更加便捷,還可以用8進制來表示它們:

在這里插入圖片描述
注意:

  1. 位置是什么含義是確定的
  2. 每一個位置只有是與否,具有指定的權限

2. Linux的文件后綴意義

Linux系統中文件名后綴對文件類型沒有直接意義

也就是說:Linux不以文件后綴區分文件類型

后綴以用戶需求來決定:用戶使用軟件,軟件會要求文件后綴。

eg:gcc不能編譯后綴.txt文件,要求后綴為.c。這和Linux無關,這是軟件需求(用戶需求)。


三、修改權限

1. 設置文件的訪問權限——chmod

chmod [參數] 權限 文件名

常用選項:

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

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

chmod有兩種設置權限格式:

① 用戶表示符+/-/=權限字符

  • +:向權限范圍增加權限代號所表示的權限
  • -:向權限范圍取消權限代號所表示的權限
  • =:向權限范圍賦予權限代號所表示的權限
    用戶符號:
  • u:擁有者
  • g:擁有者同組用
  • o:其它用戶
  • a:所有用戶
    在這里插入圖片描述
    ②三位8進制數字

在這里插入圖片描述

2. 修改文件擁有者——chown

格式:

chown [參數] 用戶名 文件名

實例:

chown user1 f1
chown -R user1 filegroup1

3. 修改文件所屬組——chgrp

chgrp [參數] 用戶組名 文件名

4. 一個問題


hanhe666這個用戶具有進入這個目錄的權限嗎?

答案是沒有。

因為權限在進行認證的時候,只能選擇一個角色進行認證
認證順序:
擁有者->所屬組->其他


四、兩個面試題

1. 問題一:默認權限問題(權限掩碼)

在這里插入圖片描述
為什么我們創建文件的默認權限是這樣的?
為什么普通文件是664?
為什么目錄文件是775?

預備知識:

  1. 默認給普通文件的起始權限是666
  2. 默認給目錄文件的起始權限是777

其實這和權限掩碼umask有關
在這里插入圖片描述
第一位的0忽略

凡是在umask中出現的權限,不會在最終的文件權限中出現

最終權限 = 其實權限 &(~umask)

  • ~:按位取反
  • &:按位與
    在這里插入圖片描述
    所以,如果我們要修改默認權限,修改umask就可以了

2. 問題二:用戶的文件共享問題(粘滯位)

在這里插入圖片描述
可以看到,普通用戶自己的家目錄是700,我們在自己的家目錄下創建文件,別人是看不到的。

但我們需要多個用戶進行文件數據的共享,怎么辦呢?

  1. 可以用root在家目錄下創建一個權限為777的共享目錄,完成文件共享。
  2. 但是存在一個問題:你創建的文件,其他用戶居然可以刪除,這合理嗎??
    注意:一個文件是否能被刪除,并不由文件本身決定,而是由這個文件所在的目錄決定!
  3. 如果我們去掉共享目錄的w權限,會導致我們無法創建文件,那么這個共享文件就失去共享功能了。
  4. 這里我們需要用到粘滯位,可以很好地解決這個問題,實現共享功能。

粘滯位(t):是一種特殊的x權限。給目錄設置,一般是共享目錄,所有用戶可以在該目錄進行各自文件的增刪查改,只允許擁有者和root能刪除這個文件。

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

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

相關文章

學習alpha,第2個alpha

alphas (-1 * ts_corr(rank(ts_delta(log(volume), 2)), rank(((close - open) / open)), 6)) 先分析操作符從左到右 ts_corr: Pearson 相關度量兩個變量之間的線性關系。當變量呈正態分布且關系呈線性時,它最有效。 ts_corr(vwap, close, 20)是一個計算時間序列相…

Paddle Serving|部署一個自己的OCR識別服務器

前言 之前使用C部署了自己的OCR識別服務器,Socket網絡傳輸部分是自己寫的,回過頭來一看,自己犯傻了,PaddleOCR本來就有自己的OCR服務器項目,叫PaddleServing,這里記錄一下部署過程。 1 下載依賴環境 1.1 …

React Native【詳解】搭建開發環境,創建項目,啟動項目

下載安裝 node https://nodejs.cn/download/ 查看 npx 版本 npx -v若無 npx 則安裝 npm install -g npx創建項目 npx create-expo-applatestRN_demo 為自定義的項目名稱 下載安裝 Python 2.7 下載安裝 JAVA JDK https://www.oracle.com/java/technologies/downloads/#jdk24-…

NVIDIA Halos:智能汽車革命中的全棧式安全系統

高級輔助駕駛行業正面臨一個尷尬的"安全悖論"——傳感器數量翻倍的同時,事故率曲線卻遲遲不見明顯下降。究其原因,當前行業普遍存在三大技術困局: 碎片化安全方案 傳統方案就像"打補丁",激光雷達廠商只管點云…

數據資產管理與AI融合:物聯網時代的新征程

一、引言 在當今數字化浪潮席卷全球的時代,數據資產已成為企業和組織的核心競爭力之一。隨著物聯網(IoT)技術的飛速發展,海量的數據如潮水般涌來,如何高效地管理和利用這些數據資產成為了亟待解決的問題。與此同時&am…

MySQL 表的內外連接

文章目錄 表的內外連接(重點)內連接外連接左外連接右外連接 表的內外連接(重點) 內連接 內連接實際上就是利用where子句對兩種表形成的笛卡兒積進行篩選,我們前面學習的查詢都是內連接,也是在開發過程中使…

VTK 交互類介紹

基本概念 交互器(Interactor): 處理用戶輸入事件的基礎類 交互樣式(InteractorStyle): 定義具體的交互行為 Widgets: 可交互的UI組件,如滑塊、按鈕等 Picker: 用于選擇場景中的對象 常用交互類 類名功能描述vtkRenderWindowInteractor渲染窗口交互器vtkInteractorStyle交互樣式…

C語言動態庫與靜態庫編譯測試示例詳細介紹終結篇

C語言動態庫與靜態庫編譯鏈接時的詳細對比與示例 下面我將提供更詳細的示例,并通過對比表格清晰地展示靜態庫和動態庫的特性差異以及它們之間的各種鏈接關系。 ## 1. 靜態庫與動態庫特性對比 | 特性 | 靜態庫(.a/.lib) | 動態…

神經網絡:節點、隱藏層與非線性學習

神經網絡:節點、隱藏層與非線性學習 摘要: 神經網絡是機器學習領域中一種強大的工具,能夠通過復雜的結構學習數據中的非線性關系。本文從基礎的線性模型出發,逐步深入探討神經網絡中節點和隱藏層的作用,以及它們如何…

POI創建Excel文件

文章目錄 1、背景2、創建表格2.1 定義表頭對象2.2 Excel生成器2.3 創建模板2.4 處理Excel表頭2.5 處理Excel內容單元格樣式2.6 處理單個表頭 3、追加sheet4、靜態工具5、單元測試6、完整代碼示例 1、背景 需求中有需要用戶自定義Excel表格表頭,然后生成Excel文件&a…

【分布式系統中的“瑞士軍刀”_ Zookeeper】三、Zookeeper 在實際項目中的應用場景與案例分析

在分布式系統日益復雜的當下,Zookeeper 憑借強大的協調能力成為眾多項目的關鍵組件。本篇文章將結合實際項目場景,詳細介紹 Zookeeper 在電商秒殺、微服務架構、分布式配置管理以及大數據處理集群等領域的應用,以及在不同的案例場景下的具體分…

【翻譯、轉載】MCP 提示 (Prompts)

原文地址:https://modelcontextprotocol.io/docs/concepts/prompts#python 提示 (Prompts) 創建可重用的提示模板和工作流 提示 (Prompts) 使服務器能夠定義可重用的提示模板和工作流,客戶端可以輕松地將其呈現給用戶和 LLM。它們提供了一種強大的方式來…

accept() reject() hide()

1. accept() 用途 確認操作:表示用戶完成了對話框的交互并確認了操作(如點擊“確定”按鈕)。 關閉模態對話框:結束 exec() 的事件循環,返回 QDialog::Accepted 結果碼。適用場景 模態對話框(通過 exec()…

如何查看電腦IP地址和歸屬地:全面指南

在數字化時代,了解自己電腦的IP地址和歸屬地信息變得越來越重要。無論是進行網絡故障排查、遠程辦公設置,還是出于網絡安全考慮,掌握這些基本信息都很有必要。本文將詳細介紹如何查看電腦的公網IP、內網IP以及歸屬地信息,并提供常…

基于python生成taskc語言文件--時間片輪詢

目錄 前言 utf-8 chinese GB2312 utf-8 排除task.c chinese GB2312 排除task.c 運行結果 前言 建議是把能正常工作的單個功能函數放到一起(就和放while函數里的程序一樣),程序會按順序自動配置。 不同的格式已經對應給出。 utf-8 impo…

Docker手動重構Nginx鏡像,融入Lua、Redis功能

核心內容:Docker重構Nginx鏡像,融入Lua、Redis功能 文章目錄 前言一、準備工作1、說明2、下載模塊3、Nginx配置文件3、Dockerfile配置文件3、準備工作全部結束 二、構建鏡像三、基于鏡像創建容器三、lua腳本的redis功能使用總結 前言 ???? ????…

DeepSeek+Excel:解鎖辦公效率新高度

目錄 一、引言:Excel 遇上 DeepSeek二、認識 DeepSeek:大模型中的得力助手2.1 DeepSeek 的技術架構與原理2.2 DeepSeek 在辦公場景中的獨特優勢 三、DeepSeek 與 Excel 結合的準備工作3.1 獲取 DeepSeek API Key3.2 配置 Excel 環境 四、DeepSeekExcel 實…

解決Vue2------You may use special comments to disable some warnings.問題

問題截圖 解決辦法 打開項目中.eslintrc.js在rules中,添加以下代碼,并extends的 vue/standard注釋掉 space-before-function-paren: 0, semi: off, quotes : off, comma-dangle : off, vue/comment-directive: off

數據集-目標檢測系列- 牙刷 檢測數據集 toothbrush >> DataBall

數據集-目標檢測系列- 牙刷 檢測數據集 toothbrush >> DataBall DataBall 助力快速掌握數據集的信息和使用方式。 貴在堅持! * 相關項目 1)數據集可視化項目:gitcode: https://gitcode.com/DataBall/DataBall-detections-100s/over…

解決:前后端跨域請求

目錄 關于跨域請求出現的原因 同源策略 示例(跨域問題) 如何解決跨域請求 方法一:配置后端服務器以允許跨域請求(后端) 方法二:使用代理服務器(前端) 一 ,使用aja…