linux初學之9 許可權(1)基本許可權

2021-07-10 21:36:11 字數 4352 閱讀 1148

一、檔案的基本許可權

在windows系統中,也是有許可權管理的,不過一般使用者很少會去修改這個許可權,因為大多電腦為個人電腦,個人即是電腦的主人,也很少會乙個電腦多個使用者去使用,因此使用者進入時就是administrator身份。而在linux系統,由於作為伺服器的特殊身份,使得linux系統的許可權顯得日益重要。開發者和伺服器管理員的許可權是不能相同的,否則伺服器出現了問題,可不是小事情,你懂得~~

1、檔案的屬性

那麼在linux中的許可權,我們從linux的屬性講起,說明檔案的基本許可權有哪些構成。

以root身份登入(作為學習者,以root身份登入系統,可以獲取最大的許可權,有很多學習的必要性)系統,執行 ll(或者 ls -al)  命令得到類似如下的結果:

-rw-r--r--. 1 root root  558 3月   8 16:05 abc

-rw-r--r--. 1 root root 581 3月 8 16:13 abcd

-rw-------. 1 root root 1007 2月 23 18:26 anaconda-ks.cfg

-rwxrwxrwx. 1 root root 83 3月 1 10:11 hello.sh

drwxr-xr-x. 5 root root 39 2月 29 11:04 mytest

-rw-r--r--. 1 root root 62 3月 3 17:57 student.txt

[ 1 ][2][3 ][4 ] [5] [6 ] [7 ]

ll,顯示出檔案的完整屬性,分為七列,分別說一下每一列的含義

代表這個檔案的類與許可權

總共有十位,

其中第一位表示檔案型別(共有七種):- 檔案、 d 目錄、 l 軟連線檔案 ;塊裝置檔案、字元裝置檔案、套接字檔案和管道檔案

後面每三位為一組,均為rwx的三個引數的組合。代表:所有者、所屬組、其他人的許可權。其中r讀, w寫, x執行。需要注意的是三個引數的位置不會改變,如果沒有許可權,則會出現-

.代表「acl」許可權

表示檔案的連線數

檔案的所有者

檔案的所屬組,注意,檔案的所有者不一定會在檔案的所屬組中

檔案大小,預設單位為b,可以在ls 命令後加 -h,顯示mb、gb等詳細單位

檔案最近修改日期檔案

名稱2、許可權的意義

(1)許可權對目錄的作用

r:可以查詢目錄下的檔名(ls)

w:具有修改目錄結構的許可權,如新建目錄和檔案、刪除此目錄下的檔案和目錄,重新命名此目錄下的檔案和目錄等(touch rm mv cp)

x:可以進入目錄(cd)

(2)許可權對檔案的作用

r:可以讀取檔案內容(cat more head tail)

w:可以編輯、新增、修改檔案內容(vi echo)--但不包含刪除檔案

x:可以執行

對檔案來講,最高的許可權是x,對目錄來講,最高的許可權是w

下面我們用root使用者、user1使用者(group為use1)、user2(group為use1)三個使用者進行幾個命令的演示,說明許可權的作用。

①首先用root使用者登入,建立目錄testauth:mkdir testauth(此時在root使用者的家目錄下面,也就是/root目錄下面)

②檢視testauth的許可權:ll ,得到結果,drwxr-xr-x. 2 root root    6 3月  31 20:18 testauth

drwxr-xr-x,這個說明該目錄的許可權為,root使用者為讀寫執行,root組使用者其他使用者的許可權為讀和執行

③下面我們用user1使用者登入,檢視root的家目錄,提示我們許可權不夠。

[user1@localhost ~]$ ls /root/

ls: 無法開啟目錄/root/: 許可權不夠

④下面我們用root使用者檢視/root許可權:ll /(檢視的是根目錄,因為/root 在根目錄下面。)

[root@localhost ~]# ll /

dr-xr-xr-x. 369 root root 0 3月 31 19:29 proc

dr-xr-x---. 4 root root 4096 3月 31 20:18 root

我們看到在根目錄下有兩個檔案,即使是root使用者,也沒有w的許可權,當我們 cd proc,mkdir aaa的時候,提示

不允許的操作

[root@localhost ~]# cd /proc

[root@localhost proc]# mkdir aaa

mkdir: 無法建立目錄"aaa": 不允許的操作

而同樣的操作在root目錄下則可以進行,那是因為/root是root使用者的家目錄,而且也可以進行rm操作,但是這些操作都是不安全的,因此根據許可權約定,我們對root目錄一般不進行操作。

但root的最後三項是---,也就是說其他使用者是不能rwx /root目錄的。因此當我們用user1 ll /root的時候,會提示許可權不足。

⑤我們用root使用者登入,建立目錄/testauth ,注意,這次建立的目錄是在根目錄下面建立的,

然後檢視testauth的許可權,ll : drwxr-xr-x.   2 root root    6 3月  31 20:35 testauth

⑥並且在/testauth目錄下面新增檔案aaa

[root@localhost /]# cd testauth/

[root@localhost testauth]# touch aaa

[root@localhost testauth]# ll

總用量 0

-rw-r--r--. 1 root root 0 3月 31 20:38 aaa

[root@localhost testauth]#

⑦我們用user1登入,檢視/testauth

[user1@localhost ~]$ ll /testauth/

總用量 0

-rw-r--r--. 1 root root 0 3月 31 20:38 aaa

[user1@localhost ~]$

/testauth的許可權為drwxr-xr-x.:所有者是讀寫執行,所屬組許可權是讀和執行,其他使用者是讀和執行

aaa檔案的許可權為-rw-r--r--. :所有者是讀寫,所屬組和其他使用者都只有唯讀許可權

在當前許可權條件下,我們用user1進入/testauth目錄下是不能對該目錄下的檔案進行增刪改重新命名的操作的。

同樣也是不能對檔案aaa進行修改和重新命名的操作

⑨我們將檔案aaa的許可權修改為讀寫,然後檢視選項

[root@localhost testauth]# chmod 646 aaa

[root@localhost testauth]# ll

總用量 4

-rw-r--rw-. 1 root root 5 3月 31 20:42 aaa

好了現在aaa的其他使用者許可權為讀寫了。

10 我們用user1進入系統,我們已經擁有了檔案aaa的寫許可權了。

對檔案aaa 

vi 之後可以進行編輯,:wq也可以進行儲存了。

但是,當我們想要將aaa檔案刪除、重新命名的操作卻是要提示許可權不足。

這是因為aaa檔名是儲存在它父檔案也就是/testauth 目錄中的,我們對/testauth目錄沒有寫許可權,因此也不能對該目錄下的檔案進行刪除移動重新命名等操作。

這也是許可權意義的重點。

3、預設許可權

當我們新建乙個檔案或者目錄時,生成的目錄或者檔案有預設許可權,那麼這些許可權為什麼是這樣呢?

這就與預設許可權umask有關。檢視預設許可權需要使用umask命令。root的預設許可權 umask 為 022,一般身份使用者為 002,關於預設 umask 的設定可以參考/etc/bashrc 這個檔案

另外,預設許可權與檔案、目錄的關係如下

linux初學(十三)之linux許可權機制

火影348 你要活著回來 男人被甩之後才會變得堅強,而且幸福不是男人追求耳朵東西 我要成為你眼睛,為你看清未來 藝術就是 最後死於藝術 許可權一般分為讀寫執行,系統中的每個檔案都有特定的許可權,每個程序都是以某個使用者的身份執行,所以程序的許可權該使用者的許可權一樣,使用者的許可權大,該使用者擁有的...

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

一 檔案基本許可權 1.基本許可權修改 rwxr r 檔案型別 檔案 d 目錄 l 軟鏈結檔案 rw r r u所有者 g所屬組 o其他人 r 讀 w 寫 x 執行 chmod 選項 模式 檔名 選項 r 遞迴 模式 ugoa rwx mode 421 許可權的數字表示法 r 4 w 2 x 1 例...

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

檔案就三個許可權 所有者許可權 組許可權 其他許可權 有時候不夠用 如某個檔案許可權是770,而想讓老王有5的許可權,但是老王不是檔案所有者和所屬組 這時候就需要acl許可權,用來解決使用者身份不夠的問題。檢視分割槽acl許可權是否開啟 dumpe2fs h dev sda5注 dumpe2fs命令...