時間:2017.11.28
作者:李強
參考:man,info,magedu講義
聲明:以下英文純屬個人翻譯,英文B級,歡迎糾正,以下内容純屬個人了解,并沒有對錯,隻是參考,盜版不糾,才能有限,希望不誤人子弟為好。
Changing file attributes
chown invocation:: Change file owner and group
chgrp invocation:: Change group ownership
chmod invocation:: Change access permissions
touch invocation:: Change file timestamps
具體的選項和作用說明:
--dereference (預設)影響的是符号連結連結的參考檔案而不是符号連結本身
-h --no-dereference,和--dereference相反,影響的是符号連結本身而不是引用的檔案。
-f --silent,--quiet,禁止大多數錯誤消息
--from=OLD-OWNER 更改檔案的所有者,僅僅這個檔案被目前的所有者修改時,才能修改其所屬為其他。比如這個檔案正在被使用,突然被root使用者給更換了使用者而導緻無法使用了的問題。降低下風險。
-c --changes,類似-v參數,但隻有改變的時候才會顯示
-v --verbose 顯示過程
--reference=RFILE 參考檔案的owner和group值而不是手動指定owner:group的值
--preserve-root (預設)不特殊對待根目錄,可以改變根目錄的所有者所屬組
--no-preserve-root 不能對根目錄做遞歸操作
-R --recursive,遞歸,危險的操作,會丢失原檔案的所有者所屬組資訊,
下面的選項指定在指定R選項時層次結構是如何周遊的。如果超過一個被指定,隻有最後一個生效。
-H 如果指令行參數是指向目錄的符号連結,周遊它。
-L
-P (預設)不要周遊任何符号連結,如果沒有指定-H,-L或者-P
這裡有幾種格式帶表不同的含義:
OWNER 改變檔案的所有者
OWNER:GROUP 改變檔案的所有者和所屬組
OWNER: 改變檔案的所有者和所屬組為所有者的組
:GROUP 改變檔案的所屬組
: 什麼都不改變
在一些老的腳本還會使用“ . ”來代替 “ :” ,但是建議不要再使用,會出現一些不良後果,但是是相容的,新的腳本還是建議使用colon冒号,靠譜。
owner和group可以使用數字和單詞2種方式來表示。
chown -h -R --from=OLDUSER NEWUSER /
--reference=RFILE 參考檔案group值而不是手動指定group的值,就這裡和chown不一樣。chown是參考檔案的owner和group的值。
##還有沒有--from=OLDUSER 這個選項,其他和chown一個模子刻出來,寫程式的的人都是同樣的
--no-preserve-root 允許從根遞歸删除檔案,不用對根特别對待,
--preserve-root 未能在“/”上遞歸操作,可以用上面的指令取消,就可以删了
--reference=RFILE 想要繼承别的檔案權限的時候使用,省自己寫了
-R, --recursive 針對目錄下的檔案繼承目錄的權限使用,省事
-v, --verbose 顯示設定權限的操作過程
-f, --silent,--quite 禁止顯示大多數錯誤
此指令可以也可修改suid,sgid,sticky
符号模式。
字母模式
-a 修改access time
-m 修改motification time
-c --no-create 如果後面跟的檔案不存在不建立檔案
-h --no-dereference 影響每一個連結檔案而不是去影響間接引用的檔案
-d --date=STRING
-f 此參數将忽略不予處理,僅負責解決BSD版本touch指令的相容性問題
-t STAMP 用時間格式為 [[CC]YY]MMDDhhmm[.ss] 如果cc為20,那麼yy範圍是0-68,如果為19那麼範圍為69-99,如果沒指定就是目前年份
--time=WORD 單詞如果是access或者atime 等價于-a ,如果是modify或者是mtime等價于-m。更改的時間是atime和mtime
-r --reference=FILE 引用檔案的時間而不是目前時間,可以和-d配合使用,比如 touch -r foo -d "-5 minutes" file 意思就是建立file檔案然後修改其時間為foo檔案時間減去5分鐘的時間。如果-r 跟的是符号檔案使用符号檔案的引用檔案的時間戳,除非有-h選項。
預設不加選項就是更改檔案的所有時間戳值,atime,mtime,ctime。隻有目前時間和檔案的atime時間相比超過一天才會避免頻繁修改時間而帶來不必要的資源消耗,通過chattr +A 可以鎖定檔案的atime不許修改,使用者檔案經常被通路時候。
所有程式執行後的程序權限和使用使用者有關,和程式是否有suid和sgid有關。
注意事項:
1、chown user:group file/direc 如果在設定檔案的時候通過chown設定的時候要注意,當隻有user:的時候,檔案的所有者改為user,所有組就改為user的所有組了,user 或者group 或 :group 都沒有問題,
2、還有一個問題就是chown 加上-R 的時候要注意了,這個是遞歸recursive的動作,如果你不确定,回車,會導緻這個檔案夾下的所有檔案的所有者和所有組都會被修改,這是很危險的一個動作。
3、chmod -R a=rwX dir 遞歸修改權限的時候,如果目錄下有檔案有x權限才會給其他角色x權限,如果沒有,不會像chmod -R a=rwx dir 給檔案加上x權限。
本文轉自 lajifeiwomoshu 51CTO部落格,原文連結:http://blog.51cto.com/lajifeiwomoshu/2045312