Utworzyłem użytkownika MY_USER. Ustaw jego katalog domowy na / var / www / RESTRICTED_DIR, do której powinien być ograniczony. Następnie edytowałem sshd_config i ustawiłem:
Match user MY_USER
ChrootDirectory /var/www/RESTRICTED_DIR
Potem zrestartowałem ssh. Sprawiłem, że MY_USER był właścicielem (i właścicielem grupy) RESTRICTED_DIR, i chmodded go do 755. Dostaję
Accepted password for MY_USER
session opened for user MY_USER by (uid=0)
fatal: bad ownership or modes for chroot directory component "/var/www/RESTRICTED_DIR"
pam_unix(sshd:session): session closed for user MY_USER
Jeśli usunę 2 linie z sshd_config, użytkownik może się zalogować. Oczywiście może jednak uzyskać dostęp do całego serwera. Jaki jest problem? Próbowałem nawet zmienić RESTRICTED_DIR na rootowanie (czytając gdzieś, że ktoś rozwiązał ten sam problem, robiąc to). Brak szczęścia..
/
,/var
,/var/www
, i/var/www/RESTRICTED_DIR
wszystkie muszą spełniać wymogi bezpieczeństwa wyżej). To jest prawdziwy chroot ( przejrzyj stronę podręcznika) - katalog domowy użytkownika musi istnieć w chroot , podobnie jak/bin
wszystkie inne rzeczy, których użytkownik będzie potrzebował ...sudo chown root:root -R /path/to/home; sudo chmod 755 -R /path/to/home
/var/www
ścieżki bezpośrednio, co może zepsuć apache, znacznie lepiej byłoby umieścić katalog sftp w innej ścieżce, niż użyć mapowania URL w Apache, aby wskazać inny katalog . Sprawdź dokumentację tutaj httpd.apache.org/docs/2.4/urlmapping.html podFiles Outside DocumentRoot
Katalog ChrootDirectory musi być własnością root i mieć tryb 755:
Ok, teraz wszystkie pliki do
/var/www/RESTRICTED_DIR
musząMY_USER
należeć dowww-data
grupy, która musi należeć do grupy i mieć tryb 775, aby zezwolić na uprawnienia grupy, takie jak to:UWAGA: Pamiętaj, że dobrą praktyką jest dostęp tylko do folderu htdocs, jeśli konfigurujesz apache.
źródło
sudo usermod -a -G www-data MY_USER
tak, jak grupa powinna przyjść później-G
Po dzisiejszym rozwiązywaniu problemów zdałem sobie sprawę, że root musi mieć także możliwość zapisu do katalogów.
Następujące nie działało:
Gdy tylko to naprawiłem, mój chroot zaczął działać.
źródło