[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/ //遞歸修改目錄及目錄下的所有文件屬主和屬組