一、檔案的基本許可權
在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命令...