2009-08-19 213 views
3

OS X是否有任何方法將一個文件夾的權限克隆到另一個文件夾。只是要清楚,我不想複製整個文件夾,只是權限,然後將它們設置在另一個文件夾。我認爲這種類型的事情可以在Linux/UNIX使用setfacl/getfacl命令來實現,但我如何與OS X.爲此將文件夾的權限克隆到另一個文件夾

感謝

+0

你想了解如何做到這一般或作爲編程任務的一部分?如果這是一個普遍的問題,則屬於SuperUser。 – Telemachus 2009-08-19 22:20:20

+0

Shell腳本是程序 - 它在StackOverflow上很好。 – 2009-08-19 22:21:54

+0

@Jonathan:問題太模糊了,很難說如果他想用shell腳本來做這件事,或者他只是想要一個shell命令。 – Telemachus 2009-08-19 22:24:08

回答

6

測試在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命令可以防止出現錯誤。

1

不確定我想你用Google搜索和發現至少:

web page也似乎掩蓋了一些重要的INF (例如fsaclctl)。

+0

'fsaclctl'用於在文件系統上啓用或禁用acls,而不是控制特定文件夾的acl狀態。在10.4中,我相信acl支持是可用的,但默認情況下是關閉的,所以這個命令派上用場。在10.5版本中,acls默認是開啓的,所以它仍然派上用場。 – Telemachus 2009-08-19 22:29:40

+0

我一直在使用chmod,問題是我需要一個自動化的過程來將源目錄的權限克隆到目標目錄。 Chmod很容易手動使用,但對於自動化過程來說可能有點困難。 – indragie 2009-08-19 22:41:09

+0

@PCWiz:你可以很容易地將一系列'chmod'命令(你已經測試過的完美)放到Bash腳本中並根據需要運行它。 – Telemachus 2009-08-19 22:50:31

0

我最終做的是創建一個Objective C方法(我計劃在Cocoa應用中使用它),它使用perl腳本找出文件的權限,然後使用chmod/chown來應用這些權限。

相關問題