PowerScale OneFS: Błąd otrzymany po uaktualnieniu "500 OOPS: vsftpd: Odmawia uruchomienia z zapisywalnym korzeniem wewnątrz chroota"
Summary: Po uaktualnieniu lub poprawce, gdy użytkownik FTP łączy się z serwerem FTP PowerScale, kończy się to niepowodzeniem z komunikatem o błędzie "500 OOPS: vsftpd: Odmowa uruchomienia z zapisywalnym rootem wewnątrz chroot()." ...
Symptoms
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Cause
Problem występuje po uaktualnieniu OneFS do wersji zawierającej uaktualnienie vsftpd:
- 8.2.2_GA-RUP_2023-06 i nowsze
- 9.1.0.29 i nowsze
- 9.2.1.23 i nowsze
- 9.4.0.14 i nowsze
- 9.5.0.4 i nowsze
- 9.6.0.0 i nowsze
Na przykład vsftpd Pakiet jest aktualizowany z vsftpd-ssl-2.3.4vsftpd-ssl-3.0.5.
Więcej szczegółów znajduje się na stronie vsftpd Oficjalna strona główna w https://security.appspot.com/vsftpd/Changelog.txt
- Add stronger checks for the configuration error of running with a writeable root directory inside a chroot(). This may bite people who carelessly turned on chroot_local_user but such is life. - Add new config setting "allow_writeable_chroot" to help people in a bit of a spot with the v2.3.5 defensive change. Only applies to non-anonymous.
Problem polega na tym, że katalog główny użytkownika FTP jest zapisywalny. Plik chroot Używany jest limit, który nie jest dozwolony w ostatniej aktualizacji. Plik chroot Katalog, w którym użytkownicy są zablokowani, nie może być zapisywalny.
Resolution
Istnieją dwie opcje rozwiązania tego problemu:
- Opcja 1: Usuń uprawnienia do zapisu w katalogu głównym użytkownika.
chroot katalog:
#chmod a-w /home/user
- Opcja 2: Obejście silniejszych kontroli, dodanie poniższych ustawień konfiguracyjnych do pliku
vsftpdGlobalny plik konfiguracyjny lub plik konfiguracyjny indywidualnego użytkownika:
allow_writeable_chroot=YES
W klastrze OneFS zaleca się wykonanie kopii
vsftpd konfiguracja do /ifs/data/Isilon_Support/. Na przykład:
# cp -av /etc/mcp/templates/vsftpd.conf /ifs/data/Isilon_Support/vsftpd.conf.bakNastępnie, korzystając z edytora VI, dodaj następujący wiersz do
/etc/mcp/templates/vsftpd.conf "
allow_writeable_chroot=YES"
Inną opcją zamiast używania edytora VI jest użycie polecenia echo w celu dołączenia wiersza do tego samego pliku:
# echo "allow_writeable_chroot=YES" >> /etc/mcp/templates/vsftpd.conf
Poczekaj kilka sekund, a następnie sprawdź, czy plik został zaktualizowany do wszystkich węzłów i czy suma kontrolna pliku md5 jest spójna.
# isi_for_array -s md5 /etc/mcp/templates/vsftpd.conf
Oto krótkie odtworzenie problemu i kroki, które należy wykonać, aby go naprawić:
-
Zaloguj się do klastra PowerScale z systemem OneFS 9.4.0.14. Poniżej znajduje się katalog domowy użytkownika FTP:
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
drwx------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
-
Logowanie użytkownika FTP kończy się niepowodzeniem z komunikatem o błędzie:
test2-fxq5rm3-1# ftp localhost
Trying 127.0.0.1:21 ...
Connected to localhost.
220-PowerScale OneFS 9.4.0.14
220
Name (localhost:root): warmsvcisiftp
331 Please specify the password.
Password:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
ftp: Login failed
ftp>
-
There are two options to address this issue depending on your workflow and concerns:
- Opcja 1: Usuń uprawnienia do zapisu w katalogu głównym użytkownika:
test2-fxq5rm3-1# chmod a-w /ifs/home/warmsvcisiftp
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
dr-x------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
test2-fxq5rm3-1# ftp localhost
Trying 127.0.0.1:21 ...
Connected to localhost.
220-PowerScale OneFS 9.4.0.14
220
Name (localhost:root): warmsvcisiftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye
221 Goodbye.
- Opcja 2: Obejście kontroli zabezpieczeń:
test2-fxq5rm3-1# chmod u+w /ifs/home/warmsvcisiftp
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
drwx------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
test2-fxq5rm3-1# echo "allow_writeable_chroot=YES" >> /etc/mcp/templates/vsftpd.conf
test2-fxq5rm3-1# isi_for_array -s md5 /etc/mcp/templates/vsftpd.conf
test2-fxq5rm3-1: MD5 (/etc/mcp/templates/vsftpd.conf) = 4920beaff65c3bfa09bd18582c2fbcf8
test2-fxq5rm3-2: MD5 (/etc/mcp/templates/vsftpd.conf) = 4920beaff65c3bfa09bd18582c2fbcf8
test2-fxq5rm3-3: MD5 (/etc/mcp/templates/vsftpd.conf) = 4920beaff65c3bfa09bd18582c2fbcf8
test2-fxq5rm3-1# ftp localhost
Trying 127.0.0.1:21 ...
Connected to localhost.
220-PowerScale OneFS 9.4.0.14
220
Name (localhost:root): warmsvcisiftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye
221 Goodbye. Additional Information
- Artykuł firmy Dell Isilon: OneFS 8.X i nowsze: Jak zablokować użytkowników FTP (chroot (change root) jail) w określonym katalogu
- Dokument ArchLinux, bardzo bezpieczny demon FTP