Я настраиваю файловый сервер, на котором пользователи входят через SFTP. Я хочу, чтобы все пользователи имели одинаковые права на чтение и запись любого файла. Поскольку все они имеют разные учетные записи с разными паролями, я получаю что-то вроде этого:
-rw-r----- 1 user1 sharing 308 Jul 6 12:03 test2.rtf
-rw-r----- 1 user2 sharing 308 Jul 6 12:16 test3.rtf
Группа называется sharing
котором содержатся все пользователи. Проблема заключается в том, что при записи файлов разрешение по умолчанию для групп доступно только для чтения.
Я попытался установить umask в sshd_config
:
Subsystem sftp /bin/sh -c 'umask 0002; /usr/lib/openssh/sftp-server'
Match Group sharing
ChrootDirectory /files/
ForceCommand internal-sftp -u 002
AllowTCPForwarding no
X11Forwarding no
Фас для каталога это:
# file: .
# owner: root
# group: sharing
# flags: -s-
user::rwx
group::rwx
group:sharing:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::---
также в этих местах:
init.d/rc:umask 002
init.d/ssh:umask 002
bash.bashrc:umask 002
Если я вхожу через SFTP, я получаю разрешения 640. Если я отключу sftp и войду в систему как user1 через ssh и коснусь нового файла, я получу права доступа 660 - что я и хочу.
Так как я могу заставить это работать через SFTP?
Это Debian 7, кстати.