PowerScale OneFS: Po upgradu se zobrazí chyba "500 OOPS: Vsftpd: Odmítá spustit se zapisovatelným kořenem uvnitř chroot"
Summary: Když se uživatel FTP po upgradu nebo opravě připojí k serveru FTP PowerScale, proces selže s chybovou zprávou "500 OOPS: Vsftpd: Odmítá běh se zapisovatelným kořenem uvnitř chroot()."
Symptoms
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Cause
K problému dochází po upgradu systému OneFS na verzi obsahující upgradovaný vsftpd:
- 8.2.2_GA-RUP_2023-06 a novější
- 9.1.0.29 a novější
- 9.2.1.23 a novější
- 9.4.0.14 a novější
- 9.5.0.4 a novější
- 9.6.0.0 a novější
Například vsftpd Soubor pkg se aktualizuje z vsftpd-ssl-2.3.4vsftpd-ssl-3.0.5.
Další podrobnosti jsou na vsftpd Oficiální domovská stránka na 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.
Problém je v tom, že do kořenového adresáře uživatele FTP lze zapisovat. Skript chroot Limit se používá, což není v nedávné aktualizaci povoleno. Skript chroot Adresář, do kterého jsou uživatelé uzamčeni , nesmí být zapisovatelný.
Resolution
Tento problém lze vyřešit dvěma způsoby:
- 1. možnost: Odeberte oprávnění k zápisu do kořenového adresáře uživatele.
chroot adresář:
#chmod a-w /home/user
- 2. možnost: Obejití silnějších kontrol přidáním níže uvedených nastavení konfigurace do
vsftpdGlobální konfigurační soubor nebo konfigurační soubor pro jednotlivé uživatele:
allow_writeable_chroot=YES
V clusteru OneFS se doporučuje vytvořit kopii
vsftpd Konfigurace pro /ifs/data/Isilon_Support/. Například:
# cp -av /etc/mcp/templates/vsftpd.conf /ifs/data/Isilon_Support/vsftpd.conf.bakPoté pomocí editoru VI přidejte do pole následující řádek
/etc/mcp/templates/vsftpd.conf "
allow_writeable_chroot=YES"
Další možností místo použití editoru VI je použít příkaz echo pro připojení řádku ke stejnému souboru:
# echo "allow_writeable_chroot=YES" >> /etc/mcp/templates/vsftpd.conf
Počkejte několik sekund a poté zkontrolujte, zda se soubor aktualizuje na všech uzlech a zda je kontrolní součet souboru md5 konzistentní.
# isi_for_array -s md5 /etc/mcp/templates/vsftpd.conf
Zde je rychlá reprodukce problému a kroky k jeho vyřešení:
-
Přihlaste se do clusteru PowerScale se systémem OneFS 9.4.0.14. Níže je uveden domovský adresář uživatele FTP:
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
drwx------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
-
Přihlášení uživatele FTP se nezdaří a zobrazí se chybová zpráva:
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:
- 1. možnost: Odeberte oprávnění k zápisu do kořenového adresáře uživatele:
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.
- 2. možnost: Obcházení kontroly zabezpečení:
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
- Článek společnosti Dell Isilon: OneFS 8.X a novější: Jak uzamknout (chroot (změnit kořen) jail) FTP uživatele do konkrétního adresáře
- ArchLinux dokument, velmi zabezpečený FTP démon