Linux 伺服器系統管理第三章 外殼命令操作 上一頁    下一頁

3-6 檔案目錄的屬性操作

內容:

  • 3-6-1 檔案屬性操作

  • 3-6-2 更改檔案權限 - chmod

  • 3-6-3 更改檔案擁有者 - chown

  • 3-6-4 更改檔案群組 - chgrp

  • 3-6-5 更改檔案日期 - touch

3-6-1 檔案屬性操作

某些檔案屬性可以直接利用命令改變它,改變之後檔案的特性也隨之改變,允許直接改變的屬性如圖 3-8 所示,更改途徑如下:

3-8 檔案屬性

  • 檔案權限:利用 chmod 命令。

  • 擁有者:利用 chown 命令。

  • 所屬群組:利用 chgrp 命令。

  • 最後修改日期:利用touch 命令。

  • 檔案名稱:利用 mv 命令。(請查閱 3-4 節)

3-6-2 更改檔案權限 - chmod

可以利用 chmod 命令修改描述權限的 9 個位元,也就是更改檔案的權限,但僅檔案擁有者才可以變更其存取模式。修改一般檔案或目錄的操作方式,大致上都是一樣的,chmod 命令會使用到下列符號:

  • u 檔案的使用者(擁有者)

  • g 群組(group

  • o 其他人(other

  • a 所有人(包含 u, g, o

  • = 指定權限

  • + 增加權限

  • - 移除權限

範例一:增加擁有者執行(x)的權利,操作如下($ chmod u+x filename):

$ cat > file_1                     【產生 file_1 檔案】

Good Lucky To You

Good Lucky To You

?

[1]+  Stopped                 cat >file_1

 

$ ls -l file_1                      【觀察 file_1 的屬性】

-rw-rw-r--  1 tsnien tsnien 36 Jul  5 15:30 file_1

 

$ chmod u+x file_1                 【增加使用者執行權力】

 

$ ls -l file_1                       【觀察 file_1 的屬性】

-rwxrw-r--  1 tsnien tsnien 36 Jul  5 15:30 file_1

範例二:移除群組的讀與寫的權利,操作如下($ chmod g-rw filename):

$ ls -l file_1                        【觀察 file_1 的屬性】

-rwxrw-r--  1 tsnien tsnien 36 Jul  5 15:30 file_1

 

$ chmod g-rw file_1                  【刪除群組讀與寫權限】

 

$ ls -l file_1                        【觀察 file_1 的屬性】

-rwx---r--  1 tsnien tsnien 36 Jul  5 15:30 file_1

另外,三組權限也可以直接利用數字表示,表示方法如下:

rwx rwx rwx 0~7 0~7 0~7

r =0/10 則表示沒有該權限,1 表示有該權限;譬如擁有者有讀取與寫入的權限,則表示為:110,以 8 進位表示則為 6。因此,每一群組的權限為 0 ~7

範例三:設定所有使用者都有讀與寫的權限,操作如下:

$ ls -l file_1                        【觀察 file_1 屬性】

-rwx---r--  1 tsnien tsnien 36 Jul  5 15:30 file_1

 

$ chmod 666 file_1                   【設定 file_1 屬性】

 

$ ls -l file_1                         【觀察 file_1 屬性】

-rw-rw-rw-  1 tsnien tsnien 36 Jul  5 15:30 file_1

3-6-3 更改檔案擁有者 - chown

並非檔案在自己家目錄之下,使用者對它就有完全的控制權;而是檔案的擁有者,才有完全控制權,而不論檔案存放於何處。使用者無論採用何種方法所產生的檔案,都是該檔案的擁有者,譬如利用 cpcat vi 所產生的檔案。但有許多情況產生檔案者與使用檔案並非同一個人,譬如系統管理者也許會產生某些檔案並複製到使用者的家目錄上,這些檔案的擁有者是系統管理者,接受檔案也無法直接控制。如此一來,系統管理者便需要將檔案的擁有者變更為對方,這就需要利用 chown 命令來達成。操作範例如下:

  • 系統管理者(提示符號為 #)複製一個檔案(file_1)給 tsnien 使用者,而該檔案擁有者為 root,系統管理者(root)操作如下:

# cp /etc/passwd file_1

# ls -l

total 8

-rw-r--r--  1 root root 7521 Mar 30 20:35 file_1

  • 使用者無法變更新檔案的存取許可權,使用者(tsnien)操作如下:

$ chmod 777 file_1

chmod: changing permissions of `file_1': Operation not permitted

  • 系統管理者(root,提示符號為 #)變更新檔案(file_1)擁有者為 tsnien,操作如下:

# chown tsnien file_1

# ls -l

total 8

-rw-r--r--  1 tsnien root 7521 Mar 30 20:35 file_1

  • 使用者(提示符號 $)便可以更改新檔案的存取許可權,操作如下:

$ chmod 777 file_1

$ ls -l

total 8

-rwxrwxrwx  1 tsnien root 7521 Mar 30 20:35 file_1

3-6-4 更改檔案群組 - chgrp

檔案擁有者便可以利用 chgrp 命令,變更檔案的所屬群組。譬如,上述範例中已將 file_1 的擁有者變更為 tsnien,因此,tsnien 便可以將該檔案的群組改變為 tsnien 群組,命令操作如下:

$ ls -l

total 8

-rwxrwxrwx  1 tsnien root 7521 Mar 30 20:35 file_1

$ chgrp tsnien file_1

$ ls -l

total 8

-rwxrwxrwx  1 tsnien tsnien 7521 Mar 30 20:35 file_1

3-6-5 更改檔案日期 - touch

當檔案新建立或遭受任何修改(如利用 vi 編輯)時,將會記錄最後修改日期,從這個日期時間可以觀察出該檔案是否被移動。但我們也可以不變更任何檔案內容,而直接藉由touch 命令將最後修正日期設定成目前的時間日期,操作如下:

$ ls -l

total 8

-rwxrwxrwx  1 tsnien tsnien 7521 Mar 30 20:35 file_1

$ touch file_1

$ ls -l

total 8

-rwxrwxrwx  1 tsnien tsnien 7521 Mar 31 14:24 file_1

執行 touch 命令($touch file_1)時,指定檔案(file_1)如不存在的話,則系統會產生該檔案,並使其內容空白。

 

翻轉工作室:粘添壽

 

Linux 伺服器系統管理 - CentOS:

 

 

 

翻轉電子書系列: