主頁 > 作業系統 > Linux權限

Linux權限

2022-07-08 13:44:52 作業系統

Linux權限


 

Linux系統上對檔案的權限有著嚴格的控制,如果想對某個檔案執行某種操作,必須具有對應的權限才可執行成功,

Linux下檔案的權限型別一般包括讀,寫,執行,對應字母為 r、w、xLinux下權限的粒度有 擁有者 、所屬組 、其它人 三種,每個檔案都可以針對三個粒度,設定不同的rwx(讀寫執行)權限,通常情況下,一個檔案只能歸屬于一個用戶和組, 如果其它的用戶想有這個檔案的權限,則可以將該用戶加入具備權限的群組,一個用戶可以同時歸屬于多個組,

 

 

我們先來了解檔案的型別

 

 在Linux下輸入ll 即可查看檔案型別

Linux系統下,不是以檔案后綴區分檔案型別的,而是以ll顯示的第一個字符區分檔案型別,

Linux系統下,檔案型別有:

  1. .- 普通檔案、文本、源代碼、可執行程式、第三方動靜庫
  2. .d 目錄檔案
  3. .c 字符設備檔案
  4.  l  鏈接檔案
  5.  p 管道檔案
  6. .b 塊設備檔案,磁盤

 

 

 

 

 


 

權限=人+事物

Linux系統中,人分三類

  1. 檔案的擁有者 owner
  2. 檔案的所屬組 grouper
  3. 檔案的其他用戶 other

個人覺得者三者可以換種說法更好理解

擁有者:我 所屬組:我的團隊 其他用戶:其他人

 

Linux系統中,檔案的權限屬性

  1. r(讀)
  2. w(寫)
  3. x(可執行)

 

這里需要注意  人與root和普通用戶是不沖突的,并且是相互補充的,

root可是擁有者、所屬組、其他用戶

普通用戶也可以是擁有者、所屬組、其他用戶

 

檔案權限的修改

一:更改檔案屬性權限

chmod 修改檔案屬性權限 (兩種方法)

chmod u+rwx,g+rwx,o+rwx Linux.text 

(u代表擁有者的權限,g代表所屬的權限,o代表其他人的權限)

這段代碼代表 講擁有者,所屬組,其他人的權限全改為可讀,可寫,可執行

 

 原來的權限

 

 修改

 

 修改后(這里之所以變顏色,是因為權限改為了可執行,所以會變綠色)

當然 也有更方便的方法 

這里我們先講此檔案所有的權限,全部去掉

 

 

 

 

這里我再將它的所有權限啟用

 

 

 

 

第二種修改檔案權限方法

用八進制(理解上可以當作二進制)

chmod 777 Linux.txt 一個7代表擁有者,以此類推

7為 3種權限均開 0為三種權限均關 3為開啟w,x(寫,執行) 4代表開始r(讀) 5代表r,x(讀,執行)

以這些陣列組合  我這里舉個栗子 : 745 代表:擁有者:三種權限均開 rwx 所屬組代表開啟 r 其他人代表開啟r,x 合起來就為 -rwxr----x

 

附加:如果我想進入一個目錄,需要什么權限?

答:x(可執行權限) (易錯,常考)

 

總結:兩種方法 第一種較麻煩,但更直觀,第二種方法較方便,但不易于觀察 (兩種方法各有優缺點,適合自己的才最重要)root可以直接無視所有權限!!!

 

 


 

修改檔案擁有者/所屬組

因為修改這種權限是需要提高權限的,要用到sudo  但使用這個代碼是需要組態檔,添加親近用戶的,較麻煩

當然,那可以直接進入root,修改這些

在root用戶下

修改擁有者 chown(注意不是chmod)

 

 將此檔案的擁有者修改為 xxx (其他的普通用戶)

修改所屬組

 

 將此檔案的所屬組修改為 xxx

兩個也可以連起來

 

 將擁有者修改給xxx1,所屬組修改給xxx2

 

附加:檔案的床架你這和擁有者一定是同一個人嗎?

答:不一定,可以創建后給其他人(常考!)

 

附加:一個檔案的擁有者,不一定能用上這個檔案對嗎?

答:對,我在一個目錄下的一個檔案的擁有者給你,但目錄的訪問權限(x)不給你 ,你照樣訪問不了這個檔案

比方說:有一個房間內的電腦是你的,但房間的鎖住的,鑰匙不給你, 你進不去這個房間,照樣用不上這臺電腦

 

如果目錄沒有r權限,允許進入,允許在該目錄下創建(寫入)一個檔案,不允許查看,

如果目錄沒有w權限,允許進入,允許在該目錄下查看檔案串列,但是不允許創建檔案,

如果同時沒有rw權限,允許進入,但不允許創建和查看目錄下的檔案的串列(不是檔案內容!檔案內容是否可以查看,檔案自己的權限決定)

 


權限掩碼的認識

權限掩碼的作用是根據用戶的需求屏蔽掉不希望給別人的權限,比如普通檔案的權限是“-rw-rw-rw-”,所有用戶對檔案都享有讀寫權限,而這帶來的問題就是檔案可以被任何人修改從而導致檔案資料被篡改導致資料丟失, 這個時候用戶可以通過設定檔案掩碼來屏蔽到本需要賦予其他用戶的特定權限, 權限掩碼在每個Linux系統里都有默認值,多數為0022或0002,當然用戶也可以自己修改權限掩碼的值,

 

比方說,我們先隨便創建一個檔案,查看它初始的權限是什么

 

 這個可以叫做初始權限或者最終權限

一般普通檔案默認權限為666 (rw-rw-rw-)目錄檔案默認權限為 777 (rwxrwxrwx)

那為什么不同呢?因為 最終權限=默認權限 & (~umask)  公式

比如權限掩碼為0002  普通權限為 666

先按位取反權限掩碼 000 000 010  取反 111 111 101  再與默認權限按位與 (&)(兩個二進位都為1時,結果位才為1

110 110 110 默認權限

111 111 101 權限掩碼

------------------ 按位與 & (兩個二進位都為1時,結果位才為1

110 110 100 即 664 即 rw-rw-r--  

 


 

粘滯位

  粘滯位(Stickybit),又稱粘著位,是Unix檔案系統權限的一個旗標,最常見的用法在目錄上設定粘滯位,

也只能針對?錄設定,對于?件?效,則設定了粘滯位后,只有目錄內檔案的所有者或者root才可以洗掉或移動

該檔案,如果不為目錄設定粘滯位,任何具有該目錄寫和執行權限的用戶都可以洗掉和移動其中的檔案,實際應

用中,粘滯位一般用于/tmp目錄,以防止普通用戶洗掉或移動其他用戶的檔案,


  在Linux系統中?較典型的例?就是“/tmp”、 “/var/tmp”?錄,這兩個?錄作為Linux系統的臨時?件

夾,權限為“rwxrwxrwx”,即允許任意?戶、任意程式在該?錄中進?創建、洗掉、移動?件或??錄等操作

 

簡單來說 給一個目錄附上粘滯位 可以防止普通用戶洗掉檔案

這個目錄的檔案只能由:超級管理員洗掉,該魯莽的所有這,該檔案的所有者

 

那怎么給目錄附上粘滯位呢?

 

 只需要在其他人加上t即可

 

 可以看出,權限就多了一個t

 

file指令 

功能:查看更詳細的檔案型別

  • -b  列出辨識結果時,不顯示檔案名稱,
  • -c  詳細顯示指令執行程序,便于排錯或分析程式執行的情形,
  • -f<名稱檔案>  指定名稱檔案,其內容有一個或多個檔案名稱時,讓file依序辨識這些檔案,格式為每列一個檔案名稱,
  • -L  直接顯示符號連接所指向的檔案的類別,
  • -m<魔法數字檔案>  指定魔法數字檔案,
  • -v  顯示版本資訊,
  • -z  嘗試去解讀壓縮檔案的內容,
  • [檔案或目錄...] 要確定型別的檔案串列,多個檔案之間使用空格分開,可以使用shell通配符匹配多個檔案,

 


 

這就本篇的全部內容,如果對您有所幫助,希望能獲得您的點贊,您的點贊就是對我的最大支持!

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/498546.html

標籤:Linux

上一篇:常用Linux命令整理

下一篇:DaVinci Resolve Studio 18 for Mac(達芬奇調色軟體)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • CA和證書

    1、在 CentOS7 中使用 gpg 創建 RSA 非對稱密鑰對 gpg --gen-key #Centos上生成公鑰/密鑰對(存放在家目錄.gnupg/) 2、將 CentOS7 匯出的公鑰,拷貝到 CentOS8 中,在 CentOS8 中使用 CentOS7 的公鑰加密一個檔案 gpg -a ......

    uj5u.com 2020-09-10 00:09:53 more
  • Kubernetes K8S之資源控制器Job和CronJob詳解

    Kubernetes的資源控制器Job和CronJob詳解與示例 ......

    uj5u.com 2020-09-10 00:10:45 more
  • VMware下安裝CentOS

    VMware下安裝CentOS 一、軟硬體準備 1 Centos鏡像準備 1.1 CentOS鏡像下載地址 下載地址 1.2 CentOS鏡像下載程序 點擊下載地址進入如下圖的網站,選擇需要下載的版本,這里選擇的是Centos8,點擊如圖所示。 決定選擇Centos8后,選擇想要的鏡像源進行下載,此 ......

    uj5u.com 2020-09-10 00:12:10 more
  • 如何使用Grep命令查找多個字串

    如何使用Grep 命令查找多個字串 大家好,我是良許! 今天向大家介紹一個非常有用的技巧,那就是使用 grep 命令查找多個字串。 簡單介紹一下,grep 命令可以理解為是一個功能強大的命令列工具,可以用它在一個或多個輸入檔案中搜索與正則運算式相匹配的文本,然后再將每個匹配的文本用標準輸出的格式 ......

    uj5u.com 2020-09-10 00:12:28 more
  • git配置http代理

    git配置http代理 經常遇到克隆 github 慢的問題,這里記錄一下幾種配置 git 代理的方法,解決 clone github 過慢。 目錄 git配置代理 git單獨配置github代理 git配置全域代理 配置終端環境變數 git配置代理 主要使用 git config 命令 git單獨 ......

    uj5u.com 2020-09-10 00:12:33 more
  • Linux npm install 裝包時提示Error EACCES permission denied解

    npm install 裝包時提示Error EACCES permission denied解決辦法 ......

    uj5u.com 2020-09-10 00:12:53 more
  • Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包

    Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包。 18 (flaskApi) [root@67 flaskDemo]# yum -y install nginx 19 已加載插件:fastestmirror, langpacks 20 Loading ......

    uj5u.com 2020-09-10 00:13:13 more
  • Linux查看服務器暴力破解ssh IP

    在公網的服務器上經常遇到別人爆破你服務器的22埠,用來挖礦或者干其他嘿嘿嘿的事情~ 這種情況下正確的做法是: 修改默認ssh的22埠 使用設定密鑰登錄或者白名單ip登錄 建議服務器密碼為復雜密碼 創建普通用戶登錄服務器(root權限過大) 建立堡壘機,實作統一管理服務器 統計爆破IP [root ......

    uj5u.com 2020-09-10 00:13:17 more
  • CentOS 7系統常見快捷鍵操作方式

    Linux系統中一些常見的快捷方式,可有效提高操作效率,在某些時刻也能避免操作失誤帶來的問題。 ......

    uj5u.com 2020-09-10 00:13:31 more
  • CentOS 7作業系統目錄結構介紹

    作業系統存在著大量的資料檔案資訊,相應檔案資訊會存在于系統相應目錄中,為了更好的管理資料資訊,會將系統進行一些目錄規劃,不同目錄存放不同的資源。 ......

    uj5u.com 2020-09-10 00:13:35 more
最新发布
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:43:21 more
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:42:36 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:26:53 more
  • 設定Windows主機的瀏覽器為wls2的默認瀏覽器

    這里以Chrome為例。 1. 準備作業 wsl是可以使用Windows主機上安裝的exe程式,出于安全考慮,默認情況下改功能是無法使用。要使用的話,終端需要以管理員權限啟動。 我這里以Windows Terminal為例,介紹如何默認使用管理員權限打開終端,具體操作如下圖所示: 2. 操作 wsl ......

    uj5u.com 2023-04-19 09:25:49 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:19:04 more
  • Linux學習筆記

    IP地址和主機名 IP地址 ifconfig可以用來查詢本機的IP地址,如果不能使用,可以通過install net-tools安裝。 Centos系統下ens33表示主網卡;inet后表示IP地址;lo表示本地回環網卡; 127.0.0.1表示代指本機;0.0.0.0可以用于代指本機,同時在放行設 ......

    uj5u.com 2023-04-18 06:52:01 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:50 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:01 more
  • 你是不是暴露了?

    作者:袁首京 原創文章,轉載時請保留此宣告,并給出原文連接。 如果您是計算機相關從業人員,那么應該經歷不止一次網路安全專項檢查了,你肯定是收到過資訊系統技術檢測報告,要求你加強風險監測,確保你提供的系統服務堅實可靠了。 沒檢測到問題還好,檢測到問題的話,有些處理起來還是挺麻煩的,尤其是線上正在運行的 ......

    uj5u.com 2023-04-05 16:52:56 more
  • 細節拉滿,80 張圖帶你一步一步推演 slab 記憶體池的設計與實作

    1. 前文回顧 在之前的幾篇記憶體管理系列文章中,筆者帶大家從宏觀角度完整地梳理了一遍 Linux 記憶體分配的整個鏈路,本文的主題依然是記憶體分配,這一次我們會從微觀的角度來探秘一下 Linux 內核中用于零散小記憶體塊分配的記憶體池 —— slab 分配器。 在本小節中,筆者還是按照以往的風格先帶大家簡單 ......

    uj5u.com 2023-04-05 16:44:11 more