1. ホーム
  2. Python

python call ftp.cwd('xx/xx') generates error: 550 Failed to change directoryd solution

2022-02-22 18:34:47


vsftpdは、Ubuntuで、ftpのルートディレクトリで実行されます。 /home/ftpdirです。 ルートディレクトリの下にフォルダがあり ゲット プログラムは ftp.cwd('get') を実行しますが、エラーが発生します。550 ディレクトリの変更に失敗しました


解決策

1. sudo gedit /etc/vsftpd.conf

追加:local_root=/home/ftpdir 

次の3つの文章は、#を削除します。
chroot_local_user=YES。
chroot_list_enable=YES。
chroot_list_file=/etc/vsftpd.chroot_list

<スパン 保存

2. sudo gedit /etc/ vsftpd.chroot_list

<スパン ftp用のユーザー名を追加(1行に1つのftpユーザー名)

<スパン 保存

<スパン 3. sudo chmod 777 /home/ftpdir

<スパン sudo chmod 777 /home/ftpdir/get

4. sudo サービス vsftpd の再起動

from ftplib import FTP

ftp = FTP()
ftp.set_debuglevel(2)
ftp.connect('192.168.0.118', 21, 30)
ftp.login('uftdfdfp', '123df456')
ftp.cwd('get')
# do something
ftp.quit()