1. 程式人生 > >看書學習之linux檔案許可權

看書學習之linux檔案許可權

一.檔案屬性

[[email protected] Desktop]$ ls -al

total 1322772

drwxr-xr-x   9 kiosk kiosk       4096 Dec 29 18:40 .

drwx------. 18 kiosk kiosk       4096 Dec 29 18:40 ..

drwx------   5 kiosk kiosk       4096 Sep 11 17:43 books

-rw-rw-r--   1 kiosk kiosk        322 Nov 10 16:15 ip-host

drwx------   4 kiosk kiosk         37 Aug 28 22:06 linux

-rw-rw-r--   1 kiosk kiosk         97 Nov 10 18:03 ll

 

 

-rw-rw-r--     1       kiosk   kiosk      97  Nov 10 18:03    ll

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

 

[1].檔案許可權:- | rw- | rw- | r--

            

第一個字元:

    若是[d],則代表目錄

    若是[-],則代表檔案

    若是[l],則代表為連線檔案

    若是[b],則表示裝置檔案裡面可供儲存的介面裝置

    若是[c],則表示裝置檔案裡面的串列埠裝置,例如鍵盤,滑鼠(一次性讀取裝置)

    接下來的字元中,以三個為一組,且均為rwx的組合。其中[r]代表可讀,[w]代表可寫,[x]代表可執行。這三個許可權位置不會改變,如果沒有許可權,就會出現[-].

    *第一組為檔案所有者許可權

    *第二組為同用戶組的許可權

    *第三組為其它非本使用者組的許可權

ps:目錄與檔案許可權意義並不相同,不可一概而論,目錄許可權會在後期補充

 

[2].表示有多少檔名連線到此節點。

[3].表示這個檔案(或目錄)的所有者帳號

[4].表示這個檔案的所屬使用者組。

[5].表示這個檔案容量大小,預設單位為B。

[6].顯示這個檔案的建立檔案日期或者是最近修改日期。

[7].表示為該檔名稱

 

二.改變檔案屬性與許可權

*chgrp:改變檔案所屬使用者組

*chown:改變檔案所有者

*chmod:改變檔案許可權

 

1.改變所屬使用者組

操作格式:

[[email protected] mnt]# chgrp [-R] dirname/filename ...

引數:

-R:進行遞迴的持續更改,即連同子目錄下的所有檔案,目錄。

例:

[[email protected] mnt]# ls -l

total 28

-rw-r--r--  1 root root    0 Dec  8 16:28 acltest

-rw-r--r--  1 root root    0 Nov 24 17:36 bashrc

-rw-r--r--  1 root root   13 Dec  2 19:42 catfile

-rw-r--r--  1 root root   15 Dec  3 18:59 file

......

[[email protected] mnt]# chgrp LoL file(修改命令)

[[email protected] mnt]# ls -l

total 28

-rw-r--r--  1 root root    0 Dec  8 16:28 acltest

-rw-r--r--  1 root root    0 Nov 24 17:36 bashrc

-rw-r--r--  1 root root   13 Dec  2 19:42 catfile

-rw-r--r--  1 root LoL    15 Dec  3 18:59 file

......

其中檔案file的使用者組被修改為LoL

 

2.改變檔案所有者:chown

操作格式:

[[email protected] mnt]# chown [-R] 帳號名稱 檔案或目錄

[[email protected] mnt]# chown [-R] 帳號名稱:組命 檔案或目錄

引數:

-R:進行遞迴的持續更改,即連同子目錄下的所有檔案都更改

例:

[[email protected] mnt]# ls -l

total 28

......

-rw-r--r--  1 root root   15 Dec  3 18:59 file

-rw-r--r--  1 root root    0 Dec  3 18:49 file2

......

[[email protected] mnt]# chown LoL file

[[email protected] mnt]# ls -l

total 28

......

-rw-r--r--  1 LoL  root   15 Dec  3 18:59 file

-rw-r--r--  1 root root    0 Dec  3 18:49 file2

......

file檔案所有者被改變

 

[[email protected] mnt]# ls -l file2

-rw-r--r-- 1 root root 0 Dec  3 18:49 file2

[[email protected] mnt]# chown LoL:LoL file2

[[email protected] mnt]# ls -l file2

-rw-r--r-- 1 LoL LoL 0 Dec  3 18:49 file2

 

file檔案所有者與使用者都被改變

 

3.改變許可權:chmod

**數字型別改變檔案許可權

 

檔案基本許可權有9個,分別是owner.group.others三種身份都有自己的r.w.x許可權,我們可以用數字來代表各個許可權:

    r:4

    w:2

    x:1

每種身份(owner.group.others)的許可權(r.w.x)數字是需要累加的,例如[-rwxr-x---],其中:

    owner = rwx = 4+2+1 = 7

    group = r-x = 4+0+1 = 5

    others= --- = 0+0+0 = 0

 

所以當權限更改時,該檔案的許可權數字就是750,更改許可權chmod的語法如下:

[[email protected] mnt]# chmod [-R] xyz 檔案或目錄

引數:

[-R]:進行遞迴的持續更改

[xyz]:就是剛說道的數字型別的許可權屬性,為rwx屬性數字相加

例:

[[email protected] mnt]# ls -l file

-rw-r--r-- 1 LoL root 15 Dec  3 18:59 file

[[email protected] mnt]# chmod 777 file

[[email protected] mnt]# ls -l file

-rwxrwxrwx 1 LoL root 15 Dec  3 18:59 file

 

**符號型別改變許可權

由上我們得知,一個檔案基本上有9個許可權,分別是owner.group.others3種身份。我們可以通過u.g.o來代表3中身份許可權。此外,a代表all。指全部的身份。那麼讀寫許可權就可以寫成r.w.x,可以如表所示:

chmod

u

g

o

a

+ (加入)

-(除去)

=(設定)

r

w

x

 

檔案或目錄

 

例:

將一個檔案許可權改成-rwxr-xr-x

[[email protected] mnt]# ls -l file

-rwxrwxrwx 1 LoL root 15 Dec  3 18:59 file

[[email protected] mnt]# chmod u=rwx,go=rx file

[[email protected] mnt]# ls -l file

-rwxr-xr-x 1 LoL root 15 Dec  3 18:59 file

給每個人都擁有寫入許可權

[[email protected] mnt]# chmod a+w file

[[email protected] mnt]# ls -l file

-rwxrwxrwx 1 LoL root 15 Dec  3 18:59 file

給每個人都擁有執行許可權

[[email protected] mnt]# chmod a-x file

[[email protected] mnt]# ls -l file

-rw-rw-rw- 1 LoL root 15 Dec  3 18:59 file