Я использую OS X 10.6.4 и пытаюсь установить папку для автоматического включения, выполняют полномочия на новых файлах сценария, скопированных или созданных в каталоге. Я использовал Песочницу 2 для установки каждого разрешения для папки к включенному с липкими битами и наследовать набором флага, но я все еще должен вручную установить выполнить флаг с помощью chmod для каждого нового флага.
Я сделал:
chmod -R a+rwxs ~/scripts
Я сделал:
chmod 7777 ~/scripts
И полномочия для папки показывают как:
drwsrwsrwt+ for the folder.
Но если я добавляю новый файл сценария, он установлен на -rw-r--r--+
(значение по умолчанию)
Я посмотрел на установку unmask 000
в .profile
файл, но значение по умолчанию для файлов 666 с тем, чтобы размаскировать 022, таким образом, это не релевантно, так как мне было бы нужно значение по умолчанию 777 для файлов.
У меня есть фигура, как использовать chmod
в AppleScript, инициированном действием папки для автоматизации этого, но я задаюсь вопросом, существует ли простой ACL или chmod установка, я отсутствую.
Так, есть ли способ автоматически установить, выполняют разрешение для новых файлов? (Не используя действие папки и AppleScript?)
Хорошо, я думал, что дам ему несколько дней, чтобы видеть, был ли более нормальный способ сделать это. Так, вот AppleScript, который я создал для автоматической установки любого файла на исполняемый файл. Это не прекрасно, хотя, как то, если у Вас есть папка со странным именем, например, "Сценарии, Ruby", это не будет работать, но это - хорошее начало для любого желающего эту функциональность.
Необходимо скопировать этот текст в AppleScript, затем копируют тот файл сценария в каталог Folder Action Scripts (~/Library/Scripts/Folder Сценарии Действия или/Library/Scripts/Folder Сценарии Действия). Затем щелкните правой кнопкой по папке, к которой Вы хотите добавить сценарий, выбрать "Folder Actions Setup..." и выбрать этот сценарий из списка.
У меня есть намного более сложная версия, которая действительно наполняет как, обновляет себя, только позволяет определенным типам файлов быть измененными на на основание папки, позволяет Вам использовать любое имя пользователя и пароль для установки полномочий, и отправляет уведомления о рычании, но я хотел сохранить это простым, таким образом, решение не запутывалось необычными дополнительными свойствами.
Так или иначе надежда это помогает кому-то еще пытающемуся сделать то же самое.
-- Set all the files in the directory to executable
on adding folder items to currentFolder after receiving addedItems
try
-- Set execute permissions for each file that is copied to this directory
repeat with anItem in addedItems
tell application "Finder"
try
-- Test to see if it's a file or folder (we ignore folders)
set fileType to type identifier of (info for anItem)
-- It's a file so change the permissions to execute
do shell script "/bin/chmod u+x " & (the POSIX path of anItem)
on error
-- It's a folder so do nothing
end try
end tell
end repeat
on error errorStr number errorNumber
-- Let the user know there was an error
display dialog errorStr & return & return ¬
& "Error Number: " & errorNumber ¬
buttons {"OK"} default button 1 ¬
with title "Error: " giving up after 30
end try
end adding folder items to