Bu sorunun zaten tartışıldığını biliyorum, ancak mesajları okuyarak cevapları anlayamadım, çünkü bazıları "evet umask işe yarayabilir" ve diğerleri "OpenSSH put komutu her zaman izinleri koru" dedi
Her şeyden önce, sadece kesin olarak:
- RHEL 6.2'de OpenSSH 5.9 kullanıyorum
- Ben kullanarak, bir chrooted SFTP sunucusu yapılandırmış
internal-sftp
ile alt sistemini-u 0002
Umask için - Kesinlikle
-p
veya-P
seçeneğini kullanmıyorum
Bir yandan okuduğum kadar: SFTP transferleri için umask tanımlamanın birçok yolu vardır:
- seçenek
-u
arasındainternal-sftp
(veyasftp-server
OpenSSH 5.4 beri), - için bir sarmalayıcı oluşturun
sftp-server
(umask'ı açıkça ayarladığımız - bu, krootlu ortam btw için uygun değildir) pam.d/sshd
dosyaya belirli bir yapılandırma ekleme
Öte yandan okudum:
OpenSSH SFTP istemcisi ve sunucusu izinleri aktarır (bir uzantı olarak) ve uzak taraftaki izinleri içeren uzak dosyayı oluşturur. AFAICT, bu davranışı devre dışı bırakmanın bir yolu yoktur.
Bu yüzden aşağıdaki testi yaptım:
İstemcimde 600 ve 700 izinleriyle dosya MYFILE
ve dizin oluşturdum MYDIR
.
Sonra sftp
komutlarla:
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)
İstemci tarafında MYFILE
ve MYDIR
istemci tarafında izinleri değiştirip yeniden yüklersem, sunucu tarafında yeni izinleri alırım.
pam.d
Çözümü de denedim , ama hiçbir şey değişmedi.
Şimdi kafam karıştı:
Test ettiğim ve okuduklarımın bir bölümünden OpenSSH'nin her zaman izinleri koruduğunu söyleyebilirim. Ancak bir umaskın tanımlanabileceğini söyleyen birçok mesaj olduğu için, test konfigürasyonlarımda yanlış bir şey yaptığımı hayal edebiliyorum.
Bazı deneyimli geri bildirimleri takdir ediyorum.
Teşekkür ederim.