GNU/Linux >> Linux の 問題 >  >> Cent OS

匿名ユーザーがファイルを VSFTP サーバーにアップロードできない

問題

ftp クライアントから匿名ユーザーで vsftp サーバーにログインし、ファイルをアップロードしようとするとエラー メッセージが表示されて失敗します:

# ftp vsftpsrv
Connected to vsftpsrv (10.182.38.176).
220 (vsFTPd 2.0.5)
Name (10.182.38.176:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> ls
227 Entering Passive Mode (10,182,38,176,29,34)
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Jan 09  2013 pub
226 Directory send OK.
ftp> put vsftpd.txt
mput vsftpd.txt? y
227 Entering Passive Mode (10,182,38,176,182,24)
550 Permission denied.
ftp>

解決策

デフォルトでは、匿名ユーザーは、構成ファイルで制限されているため、ファイルをアップロードしたり、vsftp サーバーにディレクトリを作成したりできませんでした。

注意 :匿名ユーザーは vsftpd の「/」ディレクトリの下にファイルをアップロードできません。回避策として、最初にサブディレクトリを作成してください。

1. vsftp サーバーで、以下の行が存在し、/etc/vsftpd/vsftpd.conf でコメントアウトされていないことを確認します :

anon_upload_enable=YES
注意 :匿名ユーザーにディレクトリの作成を許可する場合は、「anon_mkdir_write_enable=YES」もコメント解除します。

2. vsftp サーバーで、vsftpd “/” ディレクトリの下にサブディレクトリを作成します /var/ftp/

# mkdir /var/ftp/anon_upload

3. 次に、ディレクトリの所有権を ftp:root に変更し、権限を 0777:

に変更します。
# chown ftp:root /var/ftp/anon_upload/
# chmod 0777 /var/ftp/anon_upload/
# stat /var/ftp/anon_upload/
  File: `/var/ftp/anon_upload/'
  Size: 4096          Blocks: 8          IO Block: 4096   directory
Device: fc00h/64512d    Inode: 719500      Links: 2
Access: (0777/drwxrwxrwx)  Uid: (   14/     ftp)   Gid: (    0/    root)
Access: 2014-02-25 09:27:47.000000000 -0500
Modify: 2014-02-25 09:26:04.000000000 -0500
Change: 2014-02-25 09:38:17.000000000 -0500

4. vsftp サーバーで vsftpd サービスを再起動します。

# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]

5. ftp クライアントから vsftp サーバーにログインし、新しく作成したディレクトリにファイルをアップロードします:

# ftp vsftpsrv
Connected to vsftpsrv (10.182.38.176).
220 (vsFTPd 2.0.5)
Name (10.182.38.176:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> ls
227 Entering Passive Mode (10,182,38,176,205,23)
150 Here comes the directory listing.
drwxrwxrwx    2 14       0            4096 Feb 25 14:26 anon_upload
drwxr-xr-x    2 0        0            4096 Jan 09  2013 pub
226 Directory send OK.
ftp> cd anon_upload
250 Directory successfully changed.
ftp> put vsftpd.txt
local: vsftpd.txt remote: vsftpd.txt
227 Entering Passive Mode (10,182,38,176,34,113)
150 Ok to send data.
226 File receive OK.
38 bytes sent in 1.3e-05 secs (2923.08 Kbytes/sec)
ftp> ls
227 Entering Passive Mode (10,182,38,176,124,56)
150 Here comes the directory listing.
-rw-------    1 14       50             38 Feb 25 14:39 vsftpd.txt
226 Directory send OK.
ftp>

一般的なエラー:

1. 上記の解決策のステップ 3 が設定されていない場合、匿名ユーザーでファイルをアップロードすると、以下のエラーが発生します:

# ftp vsftpsrv
Connected to vsftpsrv (10.182.38.176).
220 (vsFTPd 2.0.5)
Name (10.182.38.176:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> ls
227 Entering Passive Mode (10,182,38,176,159,123)
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Feb 25 14:26 anon_upload
drwxr-xr-x    2 0        0            4096 Jan 09  2013 pub
226 Directory send OK.
ftp> cd anon_upload
250 Directory successfully changed.
ftp> pwd
257 "/anon_upload"
ftp> put vsftpd.txt
local: vsftpd.txt remote: vsftpd.txt
227 Entering Passive Mode (10,182,38,176,179,248)
553 Could not create file.
ftp>

2. vsftpd の「/」ディレクトリに 0775 パーミッション「# chmod -R 0775 /var/ftp」を付与すると、匿名ユーザーのログインはセキュリティ上の問題で失敗します:

# ftp vsftpsrv
Connected to vsftpsrv (10.182.38.176).
220 (vsFTPd 2.0.5)
Name (10.182.38.176:root): anonymous
331 Please specify the password.
Password:
500 OOPS: vsftpd: refusing to run with writable anonymous root
Login failed.
ftp>


Cent OS
  1. UbuntuクラウドサーバーにVSFTPDをインストールする方法

  2. DebianクラウドサーバーにVSFTPDをインストールする方法

  3. CentOS / RHEL :ユーザーが VSFTP サーバーにログインすることを許可または拒否する方法

  1. Linux Samba サーバーを Windows Active Directory ドメインに参加できない

  2. Linuxのユーザーホームディレクトリの下にある.bash_profileファイルの目的は何ですか

  3. Linux でファイルとディレクトリのアクセス許可/所有権を管理する方法

  1. ユーザーファイルマネージャー– CWP

  2. ディレクトリが存在すると mkdir -p が失敗する

  3. VSFTP アップロードのファイル権限の設定