歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux基礎知識 >> 技巧:修改Linux操作系統的文件屬性

技巧:修改Linux操作系統的文件屬性

日期:2017/3/2 14:49:13   编辑:Linux基礎知識

1、chmod——改變一個或多個文件的存取模式(mode)
 
  chmod [options] mode files
 
  只能文件屬主或特權用戶才能使用該功能來改變文件存取模式。mode可以是數字形式或以who opcode permission形式表示。who是可選的,默認是a(所有用戶)。只能選擇一個opcode(操作碼)。可指定多個mode,以逗號分開。
 
  options:
 
  -c,——changes
 
  只輸出被改變文件的信息
 
  -f,——silent,——quIEt
 
  當chmod不能改變文件模式時,不通知文件的用戶
 
  ——help
 
  輸出幫助信息。
 
  -R,——recursive
 
  可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄
 
  ——reference=filename
 
  參照filename的權限來設置權限
 
  -v,——verbose
 
  無論修改是否成功,輸出每個文件的信息
 
  ——version
 
  輸出版本信息。
 
  #who
 
  u
 
  用戶
 
  g
 
  組
 
  o
 
  其它
 
  a
 
  所有用戶(默認)
 
  #opcode
 
  +
 
  增加權限
 
  -
 
  刪除權限
 
  =
 
  重新分配權限
 
  #permission
 
  r
 
  讀
 
  w
 
  寫
 
  x
 
  執行
 
  s
 
  設置用戶(或組)的ID號
 
  t
 
  設置粘著位(sticky bit),防止文件或目錄被非屬主刪除
 
  u
 
  用戶的當前權限
 
  g
 
  組的當前權限
 
  o
 
  其他用戶的當前權限
 
  作為選擇,我們多數用三位八進制數字的形式來表示權限,第一位指定屬主的權限,第二位指定組權限,第三位指定其他用戶的權限,每位通過4(讀)、2(寫)、1(執行)三種數值的和來確定權限。如6(4+2)代表有讀寫權,7(4+2+1)有讀、寫和執行的權限。
 
  還可設置第四位,它位於三位權限序列的前面,第四位數字取值是4,2,1,代表意思如下:
 
  - 4,執行時設置用戶ID,用於授權給基於文件屬主的進程,而不是給創建此進程的用戶。
 
  - 2,執行時設置用戶組ID,用於授權給基於文件所在組的進程,而不是基於創建此進程的用戶。
 
  - 1,設置粘著位。
 
  實例:
 
  $ chmod u+x file 給file的屬主增加執行權限
 
  $ chmod 751 file 給file的屬主分配讀、寫、執行(7)的權限,給file的所在組分配讀、執行(5)的權限,給其他用戶分配執行(1)的權限
 
  $ chmod u=rwx,g=rx,o=x file 上例的另一種形式
 
  $ chmod =r file 為所有用戶分配讀權限
 
  $ chmod 444 file 同上例
 
  $ chmod a-wx,a+r 同上例
 
  $ chmod -R u+r directory 遞歸地給directory目錄下所有文件和子目錄的屬主分配讀的權限
 
  $ chmod 4755 設置用ID,給屬主分配讀、寫和執行權限,給組和其他用戶分配讀、執行的權限

2、chgrp——修改文件或目錄的所屬組
 
  chgrp [options] newgroup files/directorys
 
  組名可以用組的ID號,也可用/etc/group中的組名。只有文件的屬主或特權用戶(root)才可改變它的組。
 
  options:
 
  -c,——changes
 
  只輸出被改變文件的信息
 
  -f,——silent,——quIEt
 
  當不能改變文件組屬性時,不通知文件的用戶
 
  ——help
 
  輸出幫助信息。
 
  -R,——recursive
 
  可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄
 
  ——reference=filename
 
  參照filename的組信息來設置當前文件的組
 
  -v,——verbose
 
  輸出詳細信息
 
  ——version
 
  輸出版本信息。
 
  實例:
 
  $ chgrp root test 把test的所屬組更改root組
 
  $ chgrp -R mysql test 遞歸地把test目錄及該目錄下所有文件和子目錄的組屬性設置成MySQL
 
  $ chgrp root * 把當前目錄中所有文件的組屬性設置成root
 
  3、chown——設置一個或多個文件或目錄的屬主身份
 
  chown [options] newowner files/directorys
 
  新的屬主可以是用戶的ID號,也可以是/etc/passwd裡的登錄名。chown也可接受這樣的形式:newowner:newgroup或newowner.newgroup.同時改變所屬組的屬性。如果句點和冒號後沒有組名,則組改變為新屬主的組。只有文件或目錄的當前屬主才有權改變它的屬性。
 
  options:
 
  -c,——changes
 
  只輸出被改變文件的信息
 
  ——dereference
 
  跟蹤符號鏈接
 
  -h,——no-dereference
 
  改變每一個符號鏈的屬主身份,而不是被引用文件的屬主身份
 
  -f,——silent,——quIEt
 
  當不能改變文件屬主屬性時,不通知文件的用戶
 
  ——help
 
  輸出幫助信息。
 
  -R,——recursive
 
  可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄
 
  ——reference=filename
 
  把屬主改變成filename文件的屬主
 
  -v,——verbose
 
  輸出詳細信息
 
  ——version
 
  輸出版本信息。
 
  實例:
 
  $ chown root test 把test文件的屬主改進root
 
  $ chown -R root test_directory 遞歸地把test_directory目錄下的所有文件屬主改成root
 
  $ chown ——dereference root test_link 把test_link鏈接的原文件屬主改成root,鏈接文件屬主不變
 
  $ chown ——no-dereference root test_link 把test_link的鏈接文件屬主改成root,原文件屬主不變

Copyright © Linux教程網 All Rights Reserved