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-sftpile alt sistemini-u 0002Umask için - Kesinlikle
-pveya-Pseçeneğini kullanmıyorum
Bir yandan okuduğum kadar: SFTP transferleri için umask tanımlamanın birçok yolu vardır:
- seçenek
-uarasındainternal-sftp(veyasftp-serverOpenSSH 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/sshddosyaya 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 MYFILEve dizin oluşturdum MYDIR.
Sonra sftpkomutlarla:
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 MYFILEve MYDIRistemci 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.