Wiem, że to pytanie zostało już omówione, ale czytając posty, nie mogłem znaleźć odpowiedzi, ponieważ niektórzy powiedzieli „tak umask może działać”, a inni mówią „polecenie wstawienia OpenSSH zawsze zachowuje uprawnienia”
Przede wszystkim tylko precyzyjnie:
- Używam OpenSSH 5.9 na RHEL 6.2
- Skonfigurowałem chrootowany serwer SFTP, używając
internal-sftp
podsystemu,-u 0002
dla dla umask - Dokładnie nie używam opcji
-p
lub-P
Z tego, co przeczytałem z jednej strony: istnieje wiele sposobów definiowania umask dla przelewów SFTP:
- Opcja
-u
zinternal-sftp
(lubsftp-server
), ponieważ OpenSSH 5.4 - utwórz opakowanie do
sftp-server
(w którym jawnie ustawiamy umask - to nie pasuje do chrootowanego środowiska btw) - dodaj określoną konfigurację do
pam.d/sshd
pliku
Z drugiej strony przeczytałem:
Klient i serwer OpenSSH SFTP przenoszą uprawnienia (jako rozszerzenie) i tworzą zdalny plik z uprawnieniami po stronie lokalnej. AFAICT, nie ma sposobu, aby wyłączyć to zachowanie.
Zrobiłem więc następujący test:
Na moim kliencie utworzyłem plik MYFILE
i katalog MYDIR
z uprawnieniami 600 i 700.
Następnie za pomocą sftp
poleceń:
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)
Jeśli zmienić uprawnienia MYFILE
i MYDIR
po stronie klienta, a następnie przesłać ponownie uzyskać nowe uprawnienia po stronie serwera.
Próbowałem też pam.d
rozwiązania, ale nic to nie zmieniło.
Więc teraz jestem zdezorientowany:
Z tego, co przetestowałem i część tego, co przeczytałem, powiedziałbym, że OpenSSH zawsze zachowuje uprawnienia. Ale ponieważ jest wiele postów mówiących, że można zdefiniować umask, mogę sobie wyobrazić, że robię coś złego w moich konfiguracjach testowych.
Byłbym wdzięczny za niektóre doświadczone opinie.
Dziękuję Ci.