linux許可權管理—基本許可權

来源:https://www.cnblogs.com/gongjingyun123--/archive/2019/07/01/11116638.html
-Advertisement-
Play Games

[toc] Linux許可權管理—基本許可權 一、許可權的基本概述 1.什麼是許可權? 許可權是針對某些文件或者進程,對用戶進行限制 2.為什麼要有許可權? 因為在公司中,伺服器可能就那麼幾台,但是運維可能有多個,我們多個運維要登錄同一臺伺服器,那麼不可能只有一個root用戶,我們需要根據運維的等級,來分配用戶 ...


目錄

Linux許可權管理—基本許可權

一、許可權的基本概述

1.什麼是許可權?

許可權是針對某些文件或者進程,對用戶進行限制

2.為什麼要有許可權?

因為在公司中,伺服器可能就那麼幾台,但是運維可能有多個,我們多個運維要登錄同一臺伺服器,那麼不可能只有一個root用戶,我們需要根據運維的等級,來分配用戶許可權。

3.許可權與用戶的關係?

Linux中的文件或目錄的許可權和用戶及用戶組關聯很大,Linux中每個文件或目錄都有一組共9個基礎許可權位,每三個字元被分為一組,他們分別是屬主許可權位(占三個字元)、屬組許可權位(占三個字元)、其他用戶許可權位(占三個字元)
比如rwxr-xr-x linux中正是這9個許可權位來控制文件屬主(User)、屬組(Group)、其他用戶(Other)基礎許可權。

每種身份,又對應了3種許可權:r(readable)、w(writeable)、x(excutable)

目錄示例:
drwxr-xr-x. 2 root root    6 Jul  2 00:29 abc

文件類型    文件屬主許可權位     屬組許可權位   其他用戶許可權位    硬鏈接數    文件的屬主(所屬用戶)
d            rwx            r-x           r-x           2                 root

文件的屬組(所屬用戶組)    文件的大小(文件中的位元組數)  文件的修改時間       文件名
    root                        6                  Jul  1 02:00      abc
       
註意:
普通文件:        -
軟鏈接文件:      1
socket,套接字:  s
塊設備:         c
目錄  :         d

用戶對資源來說,有三種角色:

User(u): 屬主用戶(文件所有者)
Group(g): 屬組用戶(包含組成員)
Other(o): 其他用戶 
一個用戶訪問文件流程如下:
判斷用戶是否為文件的所有者,如果是,按所有者的許可權進行訪問
判斷是否為文件的所有組成員,如果是,就按組的許可權去訪問
最終用戶就是文件的其他的人,按其他人的許可權去訪問

4.許可權中的rwx分別代表什麼含義?

當我們使用ls -l查看一個文件的詳細屬性時,能看到每個文件都有一個9位基本許可權位
比如:rwxr-xr-x其中每三位字元為一組,分別表示屬主許可權位,屬組許可權位,其他用戶許可權位。

字母 含義 對應許可權
r(read) 讀取許可權 4
w(write) 寫入許可權 2
x(execute) 執行許可權 1
-(沒有許可權) 沒有許可權 0

如果許可權位不可讀、不可寫、不可執行,則用-來表示.

5.許可權設置示例:

[root@centos7 ~]# mkdir aaa        #創建目錄
[root@centos7 ~]# touch bbb.txt    #創建文件
[root@centos7 ~]# ll
drwxr-xr-x. 2 root root    6 Jul  2 00:47 aaa       #目錄許可權
-rw-r--r--. 1 root root    0 Jul  2 00:48 bbb.txt    #文件許可權

二、許可權修改命令chmod

1. +:增加許可權

2. -:刪除許可權

3. =:設置許可權

創建文件:
[root@centos7 ~]# touch ccc   
#查看文件,文件許可權預設為644
[root@centos7 ~]# ll ccc
-rw-r--r--. 1 root root 0 Jul  2 01:06 ccc

#a=rwx 修改許可權
[root@centos7 ~]# chmod a=rwx ccc  

#查看許可權,許可權為777
[root@centos7 ~]# ll ccc                
-rwxrwxrwx. 1 root root 0 Jul  2 00:54 ccc
#修改許可權為000
[root@centos7 ~]# chmod 000 ccc
[root@centos7 ~]# ll ccc
----------. 1 root root 0 Jul  2 00:54 ccc
#增加許可權:    
[root@centos7 ~]# chmod a+rwx ccc
[root@centos7 ~]# ll ccc
-rwxrwxrwx. 1 root root 0 Jul  2 00:54 ccc
#減少許可權:
[root@centos7 ~]# chmod a-rwx ccc
[root@centos7 ~]# ll ccc
----------. 1 root root 0 Jul  2 00:54 ccc
    

4.number數字方式

mkdir dir       #建立目錄
touch dir/file  #建立文件

示例1:
chmod 777 dir/   #修改dir目錄許可權為777
chmod u+rwx,g+rwx,o+rwx 

示例2:
chmod 666 dir/file     #修改file文件許可權為666
chmod u+rw,g+rw,o+rw 

示例3:
-R 把目錄連帶目錄下的目錄和文件同時一起修改:
chmod -R 766 dir/  #修改目錄及子目錄許可權

三、基礎許可權設置案例

許可權 對文件的影響 對目錄的影響
讀取許可權(r) 具有讀取/閱讀文件內容許可權 具有瀏覽目錄及子目錄文件
寫入許可權(w) 具有新增、修改文件內容的許可權 具有增加和刪除目錄內文件
執行許可權(x) 具有執行文件的許可權 具有訪問目錄的內容(取決於目錄中文件許可權)

1.文件許可權實驗案例:

[root@centos7 ~]# echo "date" >> ddd
[root@centos7 ~]# ll ddd
-rw-r--r--. 1 root root 5 Jul  2 01:17 ddd
[root@centos7 ~]# echo 123 >> /opt/eee
[root@centos7 ~]# su - gjy
Last login: Tue Jul  2 02:26:54 CST 2019 on pts/0
[gjy@centos7 ~]$ cat /opt/eee
123

註意:
1.su - username ,進入到普通用戶,只可以對其他目錄進行查看,cenos7 普通用戶不能查看root目錄下的文件內容。centos6裡面是可以的。
2.驗證執行許可權的時候,不要使用. 和sh,直接敲文件名。如果有執行許可權,直接敲文件名,就可以執行。

2.rwx 對文件的影響(只對文件內容有影響)

文件只有r許可權: 具有讀取\閱讀文件內容許可權
1.能使用查看類命令cat、head、tail、less、more
2.不能複製、不能移動、不能編輯,不能刪除 

寫入許可權(w)
如果文件只有w許可權: 具有新增、修改文件內容的許可權
1.使用vim編輯會提示許可權拒絕, 但可強制保存,會覆蓋文件的所有內容
2.使用echo、cat命令重定向或追加重定向技術可以往文件內寫入數據
3.不能複製、不能移動、不能刪除,(刪除需要看上級目錄w的許可權) 

執行許可權(x)
文件只有x許可權,具有執行文件的許可權。
//註意: 普通用戶需要有r許可權,管理員不需要
1.不能執行、查看、編輯、複製、移動、刪除

3.rwx 對目錄的影響

 目錄只有r許可權: 具有瀏覽目錄及子目錄許可權
不能進入目錄
1.能使用ls命令瀏覽目錄及子目錄, 同時會提示許可權拒絕
2.能使用ls -l命令瀏覽目錄及子目錄, 會帶問號,同時只能看到文件名
總結: 目錄只有r許可權,僅僅只能瀏覽內的文件名,無其他操作許可權 
寫入許可權(w)
單純的w許可權沒有任何意義。
如果目錄只有w許可權: 具有增加、刪除或修改目錄內文件名許可權(需要x配合)
//註意: 如果目錄有w許可權, 可以在目錄內創建文件, 刪除文件(跟文件本身許可權無關)
不能進入目錄、不能複製目錄、不能刪除目錄、不能移動目錄
執行許可權(x)
目錄只有x許可權
1.只能進入目錄
2.其他什麼都做不了

註意:許可權必須組合使用

4.許可權小結:

1.文件rw許可權, 可以查看和編輯文件內容
2.文件rx許可權, 只能查看和執行文件、不能編輯、複製、移動、刪除
3.目錄rx許可權, 允許瀏覽目錄內文件以及子目錄、並允許在目錄內新建文件, 不允許創建、刪除文件和目錄
4.文件, x許可權小心給予,建議賦予r或rw即可
5.目錄, w許可權小心給予,建議無特殊需求賦予rx即可

5.許可權與屬主屬組

chown: Linux中用來改變某個文件屬主的命令, 如漫畫中所示, 將某個"資源"(門)的訪問許可權給予別人。(賣房)
chmod: Linux中用來改變某個文件的訪問模式的命令, 如漫畫中所示, chmod 777會將大門敞開, 誰都可以進出。(租房)

實驗

1.創建andy,tom用戶為oldboy組, 用戶統一使用password為密碼
2.要求oldboy組的成員可以訪問/home/oldboy目錄, 並且可以在目錄下創建,刪除文件, 在目錄下andy創建的文件可以讓tom修改.

四、屬主屬組修改命令chown

chown   //更改屬主以及屬組 -R:遞歸修改


mkdir dir               //創建目錄
touch dir/file_test     //創建文件
mkdir dir/dir_test      //創建目錄

示例1:
chown bin dir/  //修改所屬主為bin
ll -d dir/      //檢查屬主
drwxr-xr-x 2 bin root 4096 7月  22 00:50 dir/


示例2:
chown .adm dir/     //修改所屬組為adm
ll -d dir/          //檢查屬組
drwxr-xr-x 2 bin adm 4096 7月  22 00:50 dir/


示例3:
chown -R root.root dir/ //遞歸修改目錄及目錄下的所有文件屬主和屬組

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

-Advertisement-
Play Games
更多相關文章
  • 一、註解(Annotation) 1、什麼是註解? 從JDK5開始,Java增加了Annotation(註解),Annotation是代碼里的特殊標記,這些標記可以在編譯、類載入、運行時被讀取,並執行相應的處理。 2、Annotation與註釋的區別: (1)Annotation不是程式本身,可以對 ...
  • 上篇文章《 "在.NET Core 3.0中的WPF中使用IOC圖文教程" 》中,我們嘗試在WPF中應用 內置的IOC進行編程,在解析 的時候我用了 方法,當時就在想這個 方法跟 到底有什麼區別呢,於是乎,谷歌了一把,就發現了一篇文章來介紹他們區別的,於是乎嘗試翻譯一把,希望對大家有所幫助。文章最後 ...
  • 一、可空類型(Nullable Type)表示在值類型的正常取值範圍內再加上一個null值,聲明一個可空類型的標準語句如下: 例如,聲明一個可空整數類型並賦值為null: 1.可空類型是泛型結構Nullable<T>的實例,其聲明為:public struct Nullable<T> where T ...
  • C# -- 使用ODBC連接資料庫 ODBC DSN配置: ...
  • 前面分享了.net core Program類的啟動過程已經源代碼介紹,這裡將繼續講Startup類中的兩個約定方法,一個是ConfigureServices,這個方法是用來寫我們應用程式所依賴的組件。另一個Configure,它是我們MVC請求的中間件方法,也就是我們每個請求來要執行的過程都可以寫 ...
  • 缺點,不能進行單元測試 比如,用戶在界面點擊按鈕,實現用戶選擇一個文件,然後對文件內容進行解析。常見錯誤如下 和用戶交互的部分(OpenFileDialog),應該放在View中。這裡可以利用命令參數來傳遞文件名 在View中按鈕的單擊事件中,進行交互。如果用戶取消了操作,利用異常取消命令執行 在x ...
  • 本文主要介紹一套基於.NET CORE的SPA高併發、高可用的開發框架.我們暫且稱它為:(讓你懂.NET)開發框架。以此為主線,陸續編寫教程,講述如何構建高併發、高可用的框架。(歡迎轉載與分享) ...
  • 我們在使用AddScoped、AddTransient、AddSingleton這類方法的時候很是麻煩。我們每增加一個介面以及其實現的時候,是不是需要在這裡硬編碼註冊一行代碼呢?項目小還好,但當我們的項目變得龐大之後,這裡的依賴註入怎麼來維護呢?在網上翻了半天,看了很多方法,其代碼的實現個人感覺都不 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...