Saya tahu pertanyaan ini sudah dibahas, tetapi dengan membaca posting saya tidak dapat menemukan jawabannya, karena beberapa mengatakan "ya umask dapat bekerja", dan yang lain mengatakan "OpenSSH menempatkan perintah selalu menjaga izin"
Sebelumnya hanya untuk tepat:
- Saya menggunakan OpenSSH 5.9 pada RHEL 6.2
- Saya telah mengkonfigurasi server SFTP chroot, menggunakan
internal-sftpsubsistem, dengan-u 0002untuk umask - Saya tepat saya tidak menggunakan opsi
-patau-P
Dari apa yang saya baca di satu sisi: ada banyak cara untuk mendefinisikan umask untuk transfer SFTP:
- option
-udariinternal-sftp(atausftp-server), karena OpenSSH 5.4 - buat wrapper untuk
sftp-server(di mana kami secara eksplisit mengatur umask - ini tidak cocok untuk lingkungan chroot btw) - tambahkan konfigurasi tertentu dalam
pam.d/sshdfile
Di sisi lain saya telah membaca:
Klien dan server OpenSSH SFTP melakukan transfer izin (sebagai ekstensi) dan membuat file jarak jauh dengan izin di sisi lokal. AFAICT, tidak ada cara untuk menonaktifkan perilaku ini.
Jadi saya melakukan tes berikut:
Di klien saya, saya membuat file MYFILEdan direktori MYDIRdengan izin 600 dan 700.
Kemudian dengan sftpperintah:
mkdir => the new directory has permissions following the umask (OK)
put MYFILE => MYFILE has same permissions as on client (KO)
put -r MYDIR => MYDIR has same permissions as on client (KO)
Jika saya mengubah izin dari MYFILEdan MYDIRdi sisi klien, dan mengunggah lagi, saya mendapatkan izin baru di sisi server.
Saya mencoba pam.dsolusinya juga, tetapi tidak mengubah apa pun.
Jadi sekarang saya bingung:
Dari apa yang saya uji dan bagian dari apa yang saya baca, saya akan mengatakan OpenSSH selalu menjaga izin. Tetapi karena ada banyak posting yang mengatakan bahwa umask dapat didefinisikan, saya dapat membayangkan saya melakukan hal yang salah dalam konfigurasi pengujian saya.
Saya akan menghargai umpan balik yang berpengalaman.
Terima kasih.