Saya memiliki server SFTP (openssh / sftp-server) dan saya ingin mengatur umask 002 untuk pengguna yang menggunakan layanan ini. Saya mencoba pengaturan PAM (pam.d / common-session), dan .profile untuk setiap pengguna, tetapi tidak berhasil.
Dengan login SSH semuanya baik-baik saja, tetapi ketika saya mencoba dengan SFTP (dengan gFTP) saya memiliki set umas 022.
Saya sudah mencoba menggunakan pembungkus untuk sftp-server yang mengubah umask sebelum memanggil sftp-server, tidak berhasil.
Ada bantuan? Terima kasih banyak!
Subsystem sftp /bin/sh -c 'umask 0002; /usr/lib/openssh/sftp-server'
Saya harap ini bisa menyelamatkan orang lain dari frustrasi ...
Jika Anda menggunakan aplikasi GUI SFTP, periksa preferensi pengaturan izin pengunggahan.
Saya sudah mencoba semua solusi di atas, dan ternyata aplikasi itu hanya meng-override mereka.
sumber
Setelah berjam-jam mencoba menerapkan berbagai peretasan dan perbaikan, saya telah menemukan solusi yang tepat!
Ada tambalan untuk SSH yang memungkinkan Anda untuk memilih umask yang Anda inginkan untuk SFTP. Anda dapat mengunduhnya di sini: http://sftpfilecontrol.sourceforge.net/
Bagi saya (OpenSSH_5.2p1 + sftpfilecontrol-v1.3, OpenSSL 0.9.8g 19 Okt 2007) berfungsi dengan baik!
sumber
Dalam file konfigurasi ssh Anda juga dapat menggunakan ini untuk mengatur mode file secara khusus (menimpa chmod apa pun yang mungkin ingin diatur oleh klien). Di sini saya menggunakan internal-sftp tetapi saya kira itu akan sama untuk sftp-server:
sumber
Mengutip pesan ini :
Bash menggunakan
.profile
shell login interaktif. Saya tidak menganggapnyasftp
sebagai satu. Anda mungkin dapat mengatur umask di/etc/bash.bashrc
atau~/.bashrc
jika tip di atas tidak berfungsi atau Anda ingin kontrol yang lebih halus.sumber
Lihat pertanyaan ini untuk menemukan solusi sederhana yang tidak memerlukan versi openssh khusus atau tambalan khusus.
sumber