寫在前面:
博主是一名投身教培事業的標準八零後,叛逆而且追求自由,暱稱取自於蘇軾的《水調歌頭》中的“高處不勝寒”,時刻提醒自己要耐得住寂寞,受的了孤獨,在技術的道路上,不畏艱難,勇往直前。
我已經將全部的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三個的含義,以及通過字母和數字來設置權限的方法。
小手一抖,點贊走起,各位的點贊就是勝寒創作的最大動力,我們下篇文章再見!