OS X是否有任何方法將一個文件夾的權限克隆到另一個文件夾。只是要清楚,我不想複製整個文件夾,只是權限,然後將它們設置在另一個文件夾。我認爲這種類型的事情可以在Linux/UNIX使用setfacl/getfacl命令來實現,但我如何與OS X.爲此將文件夾的權限克隆到另一個文件夾
感謝
OS X是否有任何方法將一個文件夾的權限克隆到另一個文件夾。只是要清楚,我不想複製整個文件夾,只是權限,然後將它們設置在另一個文件夾。我認爲這種類型的事情可以在Linux/UNIX使用setfacl/getfacl命令來實現,但我如何與OS X.爲此將文件夾的權限克隆到另一個文件夾
感謝
測試在Mac OS X v10.5.7,在bash:
chown $(stat -f%u:%g "$srcdir") "$dstdir" # Copy owner and group
chmod $(stat -f%Mp%Lp "$srcdir") "$dstdir" # Copy the mode bits
(ls -lde "$srcdir" | tail +2 | sed 's/^ [0-9]*: //'; echo) | chmod -E "$dstdir" # Copy the ACL
注:這些操作(ESP更改所有權)很可能需要root權限;灑上sudo
以獲得最佳效果。另外,如果srcdir沒有附加任何ACL條目(chmod -E
可以處理空白行,但不是完全空的輸入),那麼最後一行的奇數echo
命令可以防止出現錯誤。
'fsaclctl'用於在文件系統上啓用或禁用acls,而不是控制特定文件夾的acl狀態。在10.4中,我相信acl支持是可用的,但默認情況下是關閉的,所以這個命令派上用場。在10.5版本中,acls默認是開啓的,所以它仍然派上用場。 – Telemachus 2009-08-19 22:29:40
我一直在使用chmod,問題是我需要一個自動化的過程來將源目錄的權限克隆到目標目錄。 Chmod很容易手動使用,但對於自動化過程來說可能有點困難。 – indragie 2009-08-19 22:41:09
@PCWiz:你可以很容易地將一系列'chmod'命令(你已經測試過的完美)放到Bash腳本中並根據需要運行它。 – Telemachus 2009-08-19 22:50:31
我最終做的是創建一個Objective C方法(我計劃在Cocoa應用中使用它),它使用perl腳本找出文件的權限,然後使用chmod/chown來應用這些權限。
你想了解如何做到這一般或作爲編程任務的一部分?如果這是一個普遍的問題,則屬於SuperUser。 – Telemachus 2009-08-19 22:20:20
Shell腳本是程序 - 它在StackOverflow上很好。 – 2009-08-19 22:21:54
@Jonathan:問題太模糊了,很難說如果他想用shell腳本來做這件事,或者他只是想要一個shell命令。 – Telemachus 2009-08-19 22:24:08