Linux下的權限

1. 操作系統的外殼?

在理解Linux權限之前,我們先來吃點小菜。

1.大部分指令都是文件,如果把指令對應的文件刪除了,那么這條指令就使用不了了。

2.用戶執行某種功能的時候,不是直接讓操作系統執行對應的指令的,而是先交給外殼程序

常見的外殼程序有,圖形化界面和命令行。

?

關于第一條,我們上一節有提過Linux基本指令(下)-CSDN博客

?我們的電腦里有著各種各樣的可執行程序,比如我們要打開qq,在桌面點擊qq的快捷方式,實際上就是點擊qq的可執行程序,不過這個過程交給操作系統來做了。一旦刪除qq的可執行程序,那么就打不開qq了。

第二條,大家看,下圖有什么差別?

?

圖中右邊是圖形化界面,左邊是命令行,這兩者都是外殼程序。

外殼程序是什么?

外殼程序實際就是介于用戶和操作系統之間的軟件,簡單來說,就是命令行解釋器? 。

你通過外殼程序向操作系統發出指令,操作系統通過外殼向你進行反饋。?

同時外殼程序會對你發出的指令進行判斷,不合法的指令會做處理。?

為什么要有外殼程序??

?外殼程序承擔著用戶與操作系統進行交互的重要功能。普通用戶不了解操作系統,那么要和他進行交互,只能通過外殼程序。類似Xshell的命令行外殼,使用者自然是程序員等,而圖形化界面才是普及大眾的外殼,不僅美觀,而且操作簡便。

? ? ? 用戶不善于與操作系統之間進行交互。

? ? ? 外殼shell的存在,可以對請求進行合法性檢測,變相的保護操作系統。

2. Linux的權限?

2.1 什么是權限?

通俗來講,權限就是能與不能的概念。你能訪問某類資源,也就是你對這類的訪問具有權限。

2.2 權限的本質?

當你是學生或者教職工的時候,你就能進入學校的大門;

當你是店鋪店主的時候,你就能查閱店鋪的營銷情況。

我們作為用戶,可以在leetcode里寫代碼而不能看電影。

因此權限=人物(角色)+事物屬性。?

2.3 Linux里的用戶

Linux下有兩種用戶:超級用戶(root)、普通用戶。
超級用戶:可以再linux系統下做任何事情,不受限制
普通用戶:在linux下做有限的事情。
超級用戶的命令提示符是“#”,普通用戶的命令提示符是“$”

?

類似于公司的老總與普通員工。那么如果老總創了小號,要怎么快速切換老總號與普通號呢?

這里有一個命令:

su [用戶名]?

?

在普通用戶下,直接su默認進入root,su -也是進入root?。區別在于su -會直接進入用戶的家目錄

?

那么我們不想進入root賬號,卻要行使root的權利該怎么做呢?

在指令前加sudo(提權)但當我們鍵入密碼后,卻發現我們收到了警告:用戶不在sudoers文件中,并且本次事件將被報告。

在 Linux 中,普通用戶默認沒有 sudo 權限。這是為了防止普通用戶執行一些可能對系統造成損害的命令。 如果普通用戶需要使用 sudo 權限,可以通過以下方式進行設置: 1. 將普通用戶添加到 sudo 組。 2. 修改 sudoers 文件,允許普通用戶使用 sudo 命令。

3.?Linux權限管理?

3.1 Linux中的文件訪問者?

linux中文件的訪問者共分為三類:

文件和文件目錄的所有者:u---User
文件和文件目錄的所有者所在的組的用戶:g---Group
其它用戶:o---Others

3.2 文件類型與訪問權限?

?

windows區分文件類別的方式是什么?后綴!

那么Linux也是嗎?

不,Linux是通過上圖屬性列的第一位來表示文件類型的。 (如gcc等工具可能會區分)

1. 文件類型?

d:文件夾
-:普通文件
l:軟鏈接(類似Windows的快捷方式)
b:塊設備文件(例如硬盤、光驅等)
p:管道文件
c:字符設備文件(例如屏幕等串口設備)
s:套接口文件

2. 基本權限?

屬性列三三一組,分別代表擁有者,所屬組,other

< > 讀(r):Read對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽該目錄信息的權限
< > 寫(w):Write對文件而言,具有修改文件內容的權限;對目錄來說具有刪除移動目錄內文件的權限
< > 執行(x):execute對文件而言,具有執行文件的權限;對目錄來說,具有進入目錄的權限
< > “—”表示不具有該項權限

3. 文件權限值的表示?

字符表示?

?

八進制數值表示?

?

?我們畫個圖簡單舉個例子

4. 文件訪問權限的相關設置方式?

(1) 修改訪問者權限?
chomd?
功能:設置文件的訪問權限
格式:chmod [參數] 權限 文件名
常用選項:
R -> 遞歸修改目錄文件的權限
說明:只有文件的擁有者和root才可以改變文件的權限
chmod
① 用戶表示符+/-=權限字符
+:向權限范圍增加權限代號所表示的權限
-:向權限范圍取消權限代號所表示的權限
=:向權限范圍賦予權限代號所表示的權限
用戶符號:
u:擁有者
g:擁有者同組用
o:其它用戶
a:所有用戶

eg:修改file文件權限為:擁有者可讀,所屬組可讀可執行,other無權限

?

將三個訪問者的權限全部打開。?

?

eg:我們編寫了一個c語言代碼,編譯后修改擁有者的執行權限。

?

?但切記,這些權限的修改對root用戶是沒有作用的。

8進制數值表示方法

?擁有者,所屬組,other都是三三為一組。

我們把是由否有權限:是用1代替,否用0代替。

那么rw,我們就可以對應的寫成110,那么轉成八進制就是6,所以6就等于rw的效果。

(2)chown

功能:修改文件的擁有者
格式: chown [參數] 用戶名 文件名?

(3)chgrp

功能:修改文件或目錄的所屬組
格式: chgrp [參數] 用戶組名 文件名

eg:

?

4. 目錄的權限?

?在Linux一切皆文件的理念下,目錄自然也是文件。

那么目錄當然也有權限。

可執行權限: 如果目錄沒有可執行權限, 則無法cd到目錄中

可讀權限: 如果目錄沒有可讀權限, 則無法用ls等命令查看目錄中的文件內容.
可寫權限: 如果目錄沒有可寫權限, 則無法在目錄中創建文件, 也無法在目錄中刪除文件

只要用戶具有目錄的寫權限, 用戶就可以刪除目錄中的文件, 而不論這個用戶是否有這個文件的寫
權限。

比如user01有user10用戶家目錄的寫權限,那么user01就可以對user10家目錄下的內容進行操作。而目錄的內容則包括其下的文件。

5. 默認權限

新建文件夾默認權限=0666
新建目錄默認權限=0777
但實際上你所創建的文件和目錄,看到的權限往往不是上面這個值。

我們可以看到新建目錄的默認權限是0775,新建文件的默認權限是0664。

這是為什么呢?

?因為創建文件或目錄的時候還要受到umask的影響。

umask?功能:查看或修改文件掩碼

假設默認權限是mask,則實際創建的出來的文件權限是: mask & ~umask

我們看看Linux系統文件掩碼默認值

eg: 創建文件默認權限是0666,那么0666還要 ?按位與 上取反的umask的值

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

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

相關文章

IIC協議總結

1.基本理解 iic通信協議:雙線制串行通信協議,由時鐘線SCL和數據線SDA構成. 通信方式:主從模式,主設備發起通信,從設備響應通信 2.通信的基本步驟 a.主設備發送一個開始信號&#xff0c;表示開始通信&#xff0c;即啟動I2C 條件&#xff1a;SCL1&#xff0c;SDA出現下降沿 …

Python開源項目月排行 2024年2月

Python 趨勢月報&#xff0c;按月瀏覽往期 GitHub,Gitee 等最熱門的Python開源項目&#xff0c;入選的項目主要參考GitHub Trending,部分參考了Gitee和其他。排名不分先后&#xff0c;都是當前月份內相對熱門的項目。 入選公式&#xff1d;70%GitHub Trending20%Gitee10%其他 …

jvm面試題-背誦版

按照思維導圖抽查和記憶&#xff0c;答案見&#xff1a;四、面試-多線程/并發_scheduledfuture釋放-CSDN博客

Jmeter系列(4) 線程屬性詳解

線程屬性 線程組是配置壓測策略的一個重要環節線程組決定了測試執行的請求數量 線程數 在這里線程數相當于一個虛擬用戶每個線程數大約占內存1M特別注意?? 單臺機器最大線程數不要超過1000&#xff0c;不然可能會造成內存溢出 Ramp-Up時間 所有線程在多長時間內全部啟動…

【網絡工程設計】用GNS3和VMware搭建網絡環境

&#x1f4dd;本文介紹 本文主要是使用GNS3和VMware來搭建網絡環境 &#x1f44b;作者簡介&#xff1a;一個正在積極探索的本科生 &#x1f4f1;聯系方式&#xff1a;943641266(QQ) &#x1f6aa;Github地址&#xff1a;https://github.com/sankexilianhua &#x1f511;Gitee地…

計算機網絡-第2章 物理層

本章內容&#xff1a;物理層和數據通信的概念、傳輸媒體特點&#xff08;不屬于物理層&#xff09;、信道復用、數字傳輸系統、寬帶接入 2.1-2.2 物理層和數據通信的概念 物理層解決的問題&#xff1a;如何在傳輸媒體上傳輸數據比特流&#xff0c;屏蔽掉傳輸媒體和通信手段的差…

文獻閱讀筆記《Spatial-temporal Forecasting for Regions without Observations》13頁

目錄 目錄 目錄 發行刊物 ABSTRACT 1 INTRODUCTION 2 RELATED WORK&#xff08;相關工作 2.1 Spatial-temporal Forecasting&#xff08;時空預測 2.2 Spatial-temporal Forecasting withIncomplete Data&#xff08;不完全數據的時空預測 2.3 Graph Contrastive Lear…

藍橋杯集訓·每日一題2024 (前綴和)

筆記&#xff1a; 例題&#xff1a; #include<bits/stdc.h> using namespace std; const int N 5000010; char str[N]; int s[N]; int main(){int t;cin>>t;for(int a1;a<t;a){int n;cin>>n;scanf("%s",str1);for(int i1;i<n;i){s[i]s[i-1]…

【MySQL】:約束全解析

&#x1f3a5; 嶼小夏 &#xff1a; 個人主頁 &#x1f525;個人專欄 &#xff1a; MySQL從入門到進階 &#x1f304; 莫道桑榆晚&#xff0c;為霞尚滿天&#xff01; 文章目錄 &#x1f4d1;前言一. 約束概述二. 約束演示三. 外鍵約束3.1 介紹3.2 語法3.3 刪除/更新行為 &…

Mybatis - generator(自動生成)

1、生成數據庫數據 2、配置pom文件 這個plugin文件里有配置項和依賴以及版本號 修改configurationFile路徑為項目里存在的generatorConfig.xml文件&#xff0c;因為后續的配置都在這個文件中進行。 <plugin><groupId>org.mybatis.generator</groupId><…

Netty的InboundHandler 和OutboundHandler

一、InboundHandler 和OutboundHandler的區別 在Netty中&#xff0c;"inbound"表示來自外部來源&#xff08;如網絡連接&#xff09;的數據&#xff0c;而"outbound"則表示從應用程序發送到外部目標&#xff08;如網絡連接或其他服務&#xff09;的數據。…

Git——Upload your open store

0.default config ssh-keygen -t rsa #之后一路回車,當前目錄.ssh/下產生公私鑰 cat ~/.ssh/id_rsa.pub #復制公鑰到賬號 git config --global user.email account_email git config --global user.name account_name1. 上傳一個公開倉庫 查看當前分支&#xff1a; git branc…

MATLAB基于隱馬爾可夫模型-高斯混合模型-期望最大化的MR圖像分割

隱馬爾可夫模型是一種統計模型&#xff0c;它描述了馬爾可夫過程&#xff0c;隱馬爾可夫過程中包含隱變量&#xff0c;語音識別和詞性自動標注等一些領域常常使用隱馬爾可夫模型方法來處理。馬爾可夫過程是一類隨機過程&#xff0c;馬爾可夫鏈是它的原始模型&#xff0c;馬爾可…

GPT對話知識庫——FreeRTOS中寄存器BASEPRI的作用

提問模型&#xff1a;GPT-4-TURBO-PREVIEW 提問時間&#xff1a;2024.03.02 1&#xff0c;問&#xff1a; 舉例詳細說明寄存器BASEPRI在freertos中作用 1&#xff0c;答&#xff1a; 在使用FreeRTOS這樣的實時操作系統時&#xff0c;確保系統的實時性和響應能力至關重要。其中…

【C++那些事兒】深入理解C++類與對象:從概念到實踐(中)| 默認構造函數 | 拷貝構造函數 | 析構函數 | 運算符重載 | const成員函數

&#x1f4f7; 江池俊&#xff1a; 個人主頁 &#x1f525;個人專欄&#xff1a; ?數據結構冒險記 ?C那些事兒 &#x1f305; 有航道的人&#xff0c;再渺小也不會迷途。 文章目錄 1. 類的6個默認成員函數2. 構造函數2.1 概念2.2 特性 3. 析構函數3.1 概念3.2 特性 4. 拷貝…

國際視頻編解碼標準提案下載地址

H.266 相關提案下載地址&#xff1a;http://phenix.it-sudparis.eu/jvet/ 更新的地址&#xff1a;https://jvet-experts.org/ H.265 提案下載地址&#xff1a;http://phenix.int-evry.fr/jct/ 標準文檔下載地址&#xff1a;http://www.itu.int/rec/T-REC-H.265 H.264 提案下載…

QT多語言切換功能

一.目的 在做項目時&#xff0c;有時希望我們的程序可以在不同的國家使用&#xff0c;這樣最好的方式是一套程序能適應于多國語言。 Qt提供了這樣的功能&#xff0c;使得一套程序可以呈現出不同的語言界面。本文將介紹QT如何實現多語言&#xff0c;以中文和英文為例。 QT開發…

過于老舊的pytorch_ssim包 請從github下載源碼

有些冷門算法真的不要隨便pip&#xff0c;有可能下載到史前版本…最好還是找源代碼 汗 今天要用到SSIM損失函數&#xff0c;從網上簡單看了一下原理就想測試一下&#xff0c;偷了一下懶就直接在命令行輸入pip install pytorch_ssim了&#xff0c;結果報了一堆錯誤&#xff08;汗…

Qt將Unicode轉換成UTF8中文

解析字符串&#xff0c;并將里面的Unicode轉換成中文 QString unicodeToUtf8(QString unicode) {QString result;for (int i 0; i < unicode.length(); i){QString flag unicode.mid(i,2); if (flag "\\u"){QString s1 unicode.mid(i 2, 4);result.append(s…

如何自定義一個spring-boot-starter

在我的理解中&#xff0c;spring-boot-starter就是一個依賴工具包&#xff0c;但是它和普通的依賴又有所區別&#xff0c;那么首先spring-boot-starter-一定是一個spring-boot項目&#xff0c;然后它和一般的依賴有什么區別呢&#xff0c;我們可以在它的resources目錄下定義一個…