【linux】循序漸進學運維-基礎篇-文件權限管理

寫在前面:
博主是一名投身教培事業的標準八零後,叛逆而且追求自由,暱稱取自於蘇軾的《水調歌頭》中的“高處不勝寒”,時刻提醒自己要耐得住寂寞,受的了孤獨,在技術的道路上,不畏艱難,勇往直前。
我已經將全部的linux運維體系整理到了gitee上,https://gitee.com/gaosh08/LinuxFamily
歡迎star,投稿,交流,後續還會有python系列和java系列。

權限的基礎概念

本文我們來討論一下Linux操作系統中文件的普通權限。
Linux權限是操作系統用來限制對資源訪問的一種機制。
權限一般分爲三種:

  • 執行

在Linux操作系統中,每個進程都是以某個身份(用戶)來運行的,進程的權限與這個用戶的權限一樣,用戶的權限越大,進程的權限就越大。

這裏需要明確,文件的權限主要是針對三類對象進行定義:

owner:屬主,u
 group:屬組,g
 other :其它,o

每個文件針對上述三個對象,都定義了三種權限:

權限 對應的操作對象 權限說明
r 文件 文件的可讀指的是可以用grep等類似的命令查看
w 文件 可以寫,指的是可以用vim修改或者刪除此文件
x 文件 可執行,可以以命令的形式運行
r 目錄 可以對此目錄使用ls查看所有內容
w 目錄 可以在目錄中創建文件也可以刪除
x 目錄 可以使用cd切換到此目錄同時可以查看目錄內的詳細信息

這裏需要單獨提一下 權限的二進制與十進制的轉換.如下表:

在這裏插入圖片描述

接下來我們看看權限管理的命令

權限管理命令

1)chmod

作用: 修改權限
用法: chmod mode file
操作符 + 添加權限 - 減少權限 = 直接給一個權限

參數:

-c : 若該文件權限確實已經更改,才顯示其更改動作
-f : 若該文件權限無法被更改也不要顯示錯誤訊息
-v : 顯示權限變更的詳細資料
-R : 對目前目錄下的所有文件與子目錄進行相同的權限變更(即以遞迴的方式逐個變更)
--help : 顯示輔助說明
--version : 顯示版本

舉例:

1) 查看文件的權限
[root@zmgaosh zip]# ll 
總用量 8
drwxr-xr-x 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip

在這個例子中,文件夾etc 的權限爲
r: 4
w:2
x:1
rwx =7 r_x = 5 所以etc的權限是755
而文件passwd.zip 的權限爲 644

2) 授予用戶對於etc目錄有rwx權限
[root@zmgaosh zip]# ll  #查看當前目錄
總用量 8
drwxr-xr-x 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip
注意目錄的權限
[root@zmgaosh zip]# ll etc/
總用量 4
-rw-r--r-- 1 root root 1317 6月  20 15:16 passwd
#查看目錄裏文件的權限,目前是rw-
[root@zmgaosh zip]# chmod -R u+rwx etc  #授予目錄及目錄裏的內容所有者爲rwx的權限
[root@zmgaosh zip]# ll
總用量 8
drwxr-xr-x 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip
[root@zmgaosh zip]# ll etc/
總用量 4
-rwxr--r-- 1 root root 1317 6月  20 15:16 passwd #可以看到所有者已經變爲 rwx的權限
3) 授予所屬組爲rwx權限
[root@zmgaosh zip]# ll
總用量 8
drwxr-xr-x 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip
[root@zmgaosh zip]# ll etc
總用量 4
-rwxr--r-- 1 root root 1317 6月  20 15:16 passwd
[root@zmgaosh zip]# chmod -R g+rwx etc
[root@zmgaosh zip]# ll
總用量 8
drwxrwxr-x 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip
[root@zmgaosh zip]# ll etc
總用量 4
-rwxrwxr-- 1 root root 1317 6月  20 15:16 passwd
[root@zmgaosh zip]# 

結合第二個例子,這個例子就很容易理解了,可以看到文件夾和文件的所屬組都變成了rwx

4) 去掉etc目錄的所有者的讀寫權限
[root@zmgaosh zip]# chmod -R u-wx etc
[root@zmgaosh zip]# ll
總用量 8
dr--rwxr-x 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip
[root@zmgaosh zip]# 

5) 使用二進制的方式授予etc 目錄,所有者,所屬組,其他用戶都爲rwx權限
[root@zmgaosh zip]# chmod -R 777 etc
[root@zmgaosh zip]# ll
總用量 8
drwxrwxrwx 2 root root 4096 6月  20 20:26 etc
-rw-r--r-- 1 root root  685 6月  20 20:25 passwd.zip
[root@zmgaosh zip]# 

2)chown 命令

作用:將指定文件的擁有者改爲指定的用戶或組,用戶可以是用戶名或者用 戶ID;組可以是組名或者組ID

參數:

  • -c : 顯示更改的部分的信息
  • -f : 忽略錯誤信息
  • -h :修復符號鏈接
  • -v : 顯示詳細的處理信息
  • -R : 處理指定目錄以及其子目錄下的所有文件
  • –help : 顯示輔助說明
  • –version : 顯示版本

舉例:

1) 將passwd的所有者和所有組改爲xinsz
[root@zmgaosh etc]# ll
總用量 4
-rwxrwxrwx 1 root root 1317 6月  20 15:16 passwd
[root@zmgaosh etc]# chown xinsz:xinsz passwd
[root@zmgaosh etc]# ll
總用量 4
-rwxrwxrwx 1 xinsz xinsz 1317 6月  20 15:16 passwd
## 可以看到 用戶組和所有者都變成了xinsz
[root@zmgaosh etc]# 

2) 將passwd的擁有者和羣組的另一種方法
[root@zmgaosh etc]# chown root: passwd
[root@zmgaosh etc]# ll
總用量 4
-rwxrwxrwx 1 root root 1317 6月  20 15:16 passwd
[root@zmgaosh etc]# 

3) 只改變passwd的所屬組
[root@zmgaosh etc]# chown :xinsz passwd
[root@zmgaosh etc]# ll
總用量 4
-rwxrwxrwx 1 root xinsz 1317 6月  20 15:16 passwd
[root@zmgaosh etc]# 

總結

Linux中,一切皆爲文件,權限又分爲普通權限,高級權限和默認權限,而今天我們只討論了普通權限。

需要記住權限針對的三個對象: 屬主,屬組和其他用戶
針對每個對象又有三種權限: 讀,寫,執行
充分理解UGO三個的含義,以及通過字母和數字來設置權限的方法。

小手一抖,點贊走起,各位的點贊就是勝寒創作的最大動力,我們下篇文章再見!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章