У меня есть 2 пользователя на моем Mac OS X Server, оба в группе «wheel». Если пользователь A создает файл через SFTP / FTP, пользователь B может читать файл, но не записывать в него, поскольку разрешение файла по умолчанию - 644, что позволяет владельцу читать / писать, но разрешает только чтение группе.
Как я могу изменить права доступа к файлам FTP и SFTP по умолчанию на 664 в Mac OS X 10.8?
Разрешения для новых файлов по умолчанию контролируются настройкой umask. Вам понадобится umask 002, чтобы получить права доступа 664.
Для FTP-серверов я обычно видел настройку umask в конфигурационном файле ftp-сервера. Для SFTP, поскольку это связано с вашей обычной командной оболочкой, я думаю, вам нужно изменить системную umask по умолчанию для этих пользователей. (или еще лучше, если вы можете изменить umask только для подсистемы sftp, это будет лучше)
Тем не менее, в системах Linux, с которыми я более знаком, возможность совместной записи обрабатывается так называемой схемой User Private Group (UPG). Эта схема создает новую группу для каждого нового пользователя и делает ее своей основной группой. В этих системах для umask установлено значение 002, что означает, что будут выданы разрешения 664 (вычтите из 666 umask, чтобы получить результирующие разрешения для файлов. Используйте 777 для dirs). В этих системах, чтобы обеспечить совместную запись между пользователями файлов в данном каталоге, обычно задают группу каталога как общую группу, членами которой оба являются, а затем выполняет команду «chmod g + s имя_каталога /».
Я не очень разбираюсь в MacOS, но нашел отличную статью, в которой рассказывается о настройке UPG в OSX 10.3 или новее: http://hints.macworld.com/article.php?story=2006010714524168
Я лично попытался бы выяснить, как это сделать только для подсистемы sftp, вместо того, чтобы применять это к системе в целом. Я не совсем понимаю влияние глобального изменения umask на 002 на систему, которая поставлялась с umask 022. Меня беспокоят такие вещи, как: какие разрешения имеют файлы, созданные root? какое влияние это имеет? А как насчет системных учетных записей? и т.п.