Linux 許可權管理

2021-09-26 21:31:41 字數 4143 閱讀 3136

linux系統一般將檔案分為可存/取訪問的身份分為3個級別,分別時:owner、group和others,其三種身份各有read、write和execute等許可權。

在多使用者(可以不同時)計算機系統的管理中,許可權是指某個特定的使用者具有特定的系統資源的使用權力,像是資料夾、特定系統指令的使用或儲存的限制。

在linux中分別有讀、寫和執行許可權。

讀許可權:對資料夾來說,讀許可權影響使用者是否能夠列出目錄結構,對於檔案,影響使用者是否可以檢視檔案。

檔案所有者,預設為文件的建立者

由於linux是多使用者,多工的作業系統,因此可能常常有多人同時在某個主機上工作,但是每個人均可以在主機上設定檔案的許可權,讓其成為個人的私密檔案,即個人所有者。之外的使用者是不能看到的。

與檔案所有者同組的使用者

多個團隊在同乙個主機上開發資源的時候。,可以為自己組的成員設定為私密檔案,其他團隊的成員不能夠讀取檔案資料。

相對於所有者,不是所有者的成員就是其他人。

在所有的使用者中,它擁有最大的許可權,管理者普通使用者。

在linux中,ls命令常常用來檢視檔案的屬性,用來顯示檔案的檔名和先相關的屬性(等價於ll)

➜  ~ ls -l

total 1972

-rwxr-xr-x 1 root root 28816 sep 1 21:34 hello

-rw-r--r-- 1 root root 622 sep 1 21:34 hello.cpp

drwxr-xr-x 3 root root 4096 sep 3 19:18 jupyter

drwxr-xr-x 2 root root 4096 sep 1 14:49 linux

-rw-r--r-- 1 root root 1956678 sep 2 19:24 list.txt

drwxr-xr-x 3 root root 4096 aug 30 21:48 makefile

drwxr-xr-x 7 root root 4096 sep 3 15:21 openssl

drwxr-xr-x 19 501 501 4096 sep 3 15:45 python-3.7.4

drwxr-xr-x 2 root root 4096 sep 2 20:43 平行計算

許可權的理解

對於乙個文件來說,其許可權分配

十位字元表示含義

第2-4表示檔案所有者的許可權情況 rwx

第5-7表示與所有者同在乙個組的的使用者許可權

第8-10其他使用者的許可權。

位置的順序不會變化

語法:chmod 選項 許可權模式 文件

常用選項:

​ -r 遞迴設定許可權,當檔案型別位資料夾的時候

許可權模式:就是該文件設定的許可權資訊

文件:可以是檔案,也可以是資料夾

操作者是root使用者或文件所有者。

選項字母

介紹使用者u使用者

使用者g所有組使用者

o其他人使用者a

所有人作用

+增加許可權作用-

減少許可權作用=

確定許可權許可權r

可讀許可權w可寫

許可權x可執行如果不指定給誰設定,那就是給所有使用者設定

例如:需要給檔案設定許可權,要求所有者擁有全部的許可權,同組使用者擁有讀和執行許可權,其他使用者唯讀許可權。

chmod u+x,g+rx,o+r 文件名字
使用等號

chmod  u=rwx,g=rx,o=r 文件名字
全部級別都可以執行

chmod +x 

chmod a=x

chmod a+x

讀:r 4

寫:w 2

執行:x 1

數值許可權

0不能讀、寫、執行

1不能讀、寫,可執行2可寫

3可執行、寫4可讀

5可讀、可執行

6可讀、可寫

7可讀、寫、執行

設定許可權,所有者擁有所有許可權,同組擁有讀和執行許可權,其他使用者可讀

chmod 754
使用root使用者建立乙個資料夾

[root@juechen oo]

# touch xx.txt

[root@juechen oo]

# ls -l

total 0

-rw-r--r-- 1 root root 0 sep 5 14:58 xx.txt

[root@juechen oo]

# chmod 777 xx.txt

[root@juechen oo]

# ls -l

total 0

-rwxrwxrwx 1 root root 0 sep 5 14:58 xx.txt

因為目錄的許可權不夠,其他使用者不能夠刪除,移動和建立使用者。

在linux中,如果要刪除乙個檔案,不是看檔案有沒有對應的許可權,而是看檔案所在的目錄是否有寫許可權,如果有才可以刪除。

屬主:所屬的使用者(檔案的主人)

屬組:所屬的使用者組

前面就是屬主,後面屬組

這兩項資訊在文件建立的時候會使用建立者的資訊和所屬的組的資訊

如果有時候需要刪除某個使用者,則該使用者對應的文件的屬主和屬組資訊就需要去修改

作用:更改文件的所屬使用者

語法:chown -r username 文件路徑

作用:更改文件的所屬使用者組

語法:chgrp -r groupname 文件路徑

如何通過乙個命令實現更改所屬的使用者,也可以更改所屬的使用者組。

語法:chown -r username:groupname 文件路徑

問題:reboot、shutdown、init、halt、user管理,在普通使用者身份都是操作不了的,但是有些特殊的情況下又需要又執行許可權,又不可能讓root使用者把自己的密碼告訴普通使用者

可以使用sudo命令來進行許可權設定,可以讓管理員實現定義某些特殊命令誰可以執行。

預設sudo中沒有除root之外使用者的規則,要是想要使用則事先配置sudo

sudo配置:/etc/sudoer.d

配置檔案請使用visudo

開啟之後使用方法和vim一樣。

配置普通使用者

root表示使用者名稱,如果是使用者組%使用者組

all 表示允許登入的主機(位址白名單)

(all) 表示以誰的身執行,all表示root身份

all:表示當前使用者可以執行的命令,多個命令可以使用,分割

案例:test使用者不能新增使用者,要去使用root配置,設定為可以新增使用者許可權,並且可以修改密碼(不能改root密碼)

test all=(all) /usr/sbin/useradd,/usr/bin/passwd
注意:在寫sudo規則的時候不建議寫直接形式的命令,而是寫命令的完整路徑,路徑可以使用which 命令

要想使用剛才的規則,則需要命令

sudo

useradd aop

在輸入sudo指令需要輸入當前使用者的密碼來進行確認。

注意:此處按照案例要求,不能讓test使用者修改root密碼,因此規則需要調整,不然其可以修稿root密碼

!/usr/bin/passwd,/usr/bin/passwd[a-za-z]*,!/usr/bin/passwd root
在普通使用者下檢視自己的特殊許可權

sudo -l

Linux許可權管理

預設許可權 特殊許可權 suid 以檔案的所屬使用者身份執行而非執行檔案的使用者 sgid 以檔案所屬組身份執行 sticky 許可權 對檔案的影響 對目錄的影響 suid 以檔案的所屬使用者身份執行而非執行檔案的使用者 無 sgid 以檔案所屬組身份執行 在該目錄中建立的任意新檔案的所屬組與該目錄...

Linux許可權管理

linux許可權管理 1 檔案訪問許可權 1 檔案訪問者的分類 a 檔案和檔案目錄的所有者 u user b 檔案和檔案目錄的所有者所在的組的使用者 g group c 其它使用者 o others 2 檔案訪問許可權的種類 a 基本許可權 i.讀 r 4 read 對檔案而言,具有讀取檔案內容的許...

linux 許可權管理

linux許可權管理 1 檔案訪問許可權 1 檔案訪問者的分類 a 檔案和檔案目錄的所有者 u user b 檔案和檔案目錄的所有者所在的組的使用者 g group c 其它使用者 o others 2 檔案訪問許可權的種類 a 基本許可權 i.讀 r 4 read 對檔案而言,具有讀取檔案內容的許...