鍵盤俠Linux教程(五)| 基本許可權管理

来源:https://www.cnblogs.com/MrKeyboard/archive/2020/06/20/13169260.html
-Advertisement-
Play Games

基本許可權管理 許可權的介紹 許可權位的含義 前面講解ls命令時,我們已經知道長格式顯示的第一列就是文件的許可權,例如: [root@es ~]# ls -l anaconda-ks.cfg -rw . 1 root root 1573 May 18 23:28 anaconda-ks.cfg 第一位為文件 ...


基本許可權管理

許可權的介紹

許可權位的含義

前面講解ls命令時,我們已經知道長格式顯示的第一列就是文件的許可權,例如:

[root@es ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1573 May 18 23:28 anaconda-ks.cfg

第一位為文件類型

文件類型標識 文件類型
- 普通文件
d 目錄文件
l 軟鏈接文件
s(偽文件) 套接字文件
b(偽文件) 塊設備文件
c(偽文件) 字元設備文件
p(偽文件) 管道符文件

第一列的許可權位如果不計算最後的 "." (這個點的含義我們在後面解釋),則共有10位,這10位許可權位的含義如圖所示。

許可權_01

基本許可權介紹

修改許可權的命令 chmod ,基本信息如下

命令格式

[root@es ~]#chmod [選項] 許可權模式 文件名

選項:

-R : 遞歸設置許可權,也就是給子目錄中的所有文件設定許可權

許可權模式

chmod 命令的許可權模式的格式時"[ugoa][[+-=][perms]]",也就是“[用戶身份][[賦予方式][許可權]]”的格式

  • 用戶身份:

    • u:代表所有者(user)

    • g:代表所屬組(group)

    • o:代表其他人(other)

    • a:代表全部身份(all)

  • 賦予方式:

    • +:加入許可權

    • -:減去許可權

    • =:設置許可權

  • 許可權:

    • -r:讀取許可權(read)

    • -w:寫許可權(write)

    • -x:執行許可權(execute)

數字許可權

數字許可權的賦予方式是最簡單的,但是不如之前的字母許可權好記,直觀。我們來看看這些數字許可權的含義。

  • 4:代表"r"許可權

  • 2:代表"w"許可權

  • 1:代表"x"許可權

常用許可權

數字許可權的賦予方式更加簡單,但是需要用戶對這幾個數字更加熟悉。其實常用許可權也並不多,只有如下幾個。

  • 644:這是文件的基本許可權,代表所有者擁有讀,寫許可權,而所屬組和其他人擁有隻讀許可權。

  • 755:這是文件的執行許可權和目錄的基本許可權,代表所有者擁有讀,寫和執行許可權,而所屬組和其他人擁有讀和執行許可權。

  • 777:這時最大許可權。在實際的生產伺服器中,要儘力避免給文件或目錄賦予這樣的許可權,這會造成一定的安全隱患。

基本許可權的作用

許可權含義的解釋

首先,讀,寫,執行許可權對文件和目錄的作用是不同的。

  • 許可權對文件的作用

    • 讀(r):對文件有讀(r)許可權,代表可以讀取文件中的數據。如果把許可權對應到命令上,那麼一旦對文件有讀(r)許可權,就可以對文件執行cat,more,less,head,tail等文件查看命令。

    • 寫(w):對文件有寫(w)許可權,代表可以修改文件中的數據。如果把許可權對應到命令上,那麼一旦對文件有寫(w)許可權,就可以對文件執行vim,echo等修改文件數據的命令。註意:對文件有寫許可權,是不能刪除文件本身的,只能修改文件中的數據。如果要想刪除文件,則需要對文件的上級目錄擁有寫許可權。

    • 執行(x):對文件有執行(x)許可權,代表文件擁有了執行許可權,可以運行。在Linux中,只要文件有執行(x)許可權,這個文件就是執行文件了。只是這個文件到底能不能正確執行,不僅需要執行(x)許可權,還要看文件中代碼是不是正確的語言代碼。文件夾來說,執行(x)許可權是最高許可權。

  • 許可權對目錄的作用

    • 讀(r):對目錄有讀(r)許可權,代表可以查看目錄下的內容,也就是可以查看目錄下有哪些子文件和子目錄。如果把許可權對應到命令上,那麼一旦對目錄擁有了讀(r)許可權,就可以在目錄下執行ls命令,查看目錄下的內容

    • 寫(w):對目錄有寫(r)許可權,代表可以修改目錄下的數據,也就是可以在目錄中新建,刪除,複製,剪切子文件或子目錄。如果把許可權對應到命令上,那麼一旦目錄擁有了寫(w)許可權,就可以在目錄下執行touch,rm,cp,mv命令。對目錄來說寫(w)許可權是最高許可權。

    • 執行(x):目錄是不能運行的,那麼對目錄擁有執行(x)許可權,代表可以進入到目錄。如果把許可權對應到命令上,那麼一旦對目錄擁有了執行(x)許可權,就可以對目錄執行cd命令,進入目錄。

目錄的可用許可權

目錄的可用許可權其實有以下幾個

  • 0:任何許可權都不賦予

  • 5:基本的目錄瀏覽和進入許可權

  • 7:完全許可權

所有者和所屬組命令

chown命令

修改許可權的命令 chown ,基本信息如下

[root@es ~]#chown [選項] 所有者:所屬組 文件或目錄

選項:

-R : 遞歸設置許可權,也就是給子目錄中的所有文件設定許可權

普通用戶不能修改文件的所有者,哪怕自己是這個文件的所有者也不行,只有超級用戶才能修改
普通用戶可以修改所有者是自己的文件的許可權=

umask 預設許可權

查看系統的umask許可權

#用八進位數值顯示umask許可權
[root@centos7 ~]# umask
0022

#用字母表示文件和目錄的初始許可權
[root@centos7 ~]# umask -S
u=rwx,g=rx,o=rx

umask許可權的計算方法

我們需要先瞭解一下新建文件和目錄的預設最大許可權

  • 對文件來講,新建文件的預設最大許可權是666,沒有執行(x)許可權。這時因為執行許可權對文件來講比較危險,不能在新建文件的時候預設賦予,而必須通過用戶手工賦予。

  • 文件的預設許可權最大隻能是666,而umask的值是022
    "-rw-rw-rw-"減去"-----w--w-" 等於"-rw-r--r--"

  • 對目錄來講,新建文件的預設最大許可權是777。這時因為對目錄而言,執行(x)許可權僅僅代表進入目錄,所以即使建立新文件時直接預設賦予,也沒有什麼危險。

  • 目錄的權人許可權最大隻能是777,而umask的值是022

"drwxrwxrwx" 減去 "d----w--w-" 等於 "drwx-r-xr-x"

寫在最後

如果文檔對你有幫助的話,留個贊再走吧 ,你的點擊是我的最大動力。

我是鍵盤俠,現實中我唯唯諾諾,網路上我重拳出擊,關註我,持續更新Linux乾貨教程。

更多鍵盤俠Linux系列教程:鏈接地址

更多Linux乾貨教程請掃:

wechatmansearch


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

-Advertisement-
Play Games
更多相關文章
  • 1.前言 回顧:認證方案之初步認識JWT 在現代Web應用程式中,即分為前端與後端兩大部分。當前前後端的趨勢日益劇增,前端設備(手機、平板、電腦、及其他設備)層出不窮。因此,為了方便滿足前端設備與後端進行通訊,就必須有一種統一的機制。所以導致API架構的流行。而RESTful API這個API設計思 ...
  • 前言 上一篇【.Net Core微服務入門全紀錄(四)——Ocelot-API網關(上)】已經完成了Ocelot網關的基本搭建,實現了服務入口的統一。當然,這隻是API網關的一個最基本功能,它的進階功能還有很多很多。 服務發現 首先需要解決的就是服務發現的問題,服務發現的優點之前講過,就不說了。 上 ...
  • 一:背景 1. 講故事 在開始本文之前,真的好想做個問卷調查,到底有多少人和我一樣,對 JsonConvert 的認識只局限在 SerializeObject 和 DeserializeObject 這兩個方法上(┬_┬), 這樣我也好結伴同行,不再孤單落魄😁😁😁,或許是這兩個方法基本上能夠解 ...
  • 在管理節點上能夠訪問到容器服務的原因是通過訪問本機的80,通過iptables規則把流量轉發給docker_gwbridge,docker_gwbridge通過內核把流量轉發給ingress網路,因為ingress生效範圍是整個swarm,這意味著管理節點和work節點共用一個swarm的網路空間... ...
  • 環境:CentOS 7.6.1810 現象:通過yum安裝程式時,每個鏡像都無法下載文件,提示404錯誤,排除網路故障。具體現象見下圖: 疑似原因:之前執行了命令yum makecache fast時網路有故障,命令執行到一般被強制終止。 解決方法:執行如下命令,然後再進行安裝,問題解決。 # yu ...
  • 一 Kubetcl namespace 1.1 namespace描述 Kubernetes namespace提供了將一組相關資源組合在一起的機制。在Red Hat OpenShift容器平臺中,project是一個帶有附加註釋的Kubernetes namespace。 namespace提供以 ...
  • 前言 使用Nginx搭建一個私人網盤 安裝Nginx 增加 Nginx 官方源 cat << EOF > /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packag ...
  • 我們在 Linux 下進行開發時,有時也需要知道當前的硬體信息,比如:CPU幾核?使用情況?記憶體大小及使用情況?USB設備是否被識別?等等類似此類問題。下麵良許介紹一些常用的硬體查看命令。 lshw lshw 這個命令是一個比較通用的工具,它可以詳細的列出本機的硬體信息。但這個命令並非所有的發行版都 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...