2008年7月28日月曜日

CentOSで vsFTPdに 匿名(anonymous)でアクセス

自分しかアクセスしない(できない)FTPサーバ(vsFTPd on CentOS)にanomnymousでファイルを転送できるようにしたい。
(vsFTPdやファイアウォール等の他の設定は既にしてある。)


  1. vsFTPdで使うディレクトリの所有者設定(グループは関係ないかも)
    mkdir /var/ftp/my
    chown ftp:ftp /var/ftp/my
  2. vsFTPdの設定ファイルを編集する
    vi /etc/vsftpd/vsftpd.conf
  3. anonymousについての設定をする
    # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
    anonymous_enable=YES

    # obviously need to create a directory writable by the FTP user.
    anon_upload_enable=YES
  4. vsFTPdを再起動
    /etc/init.d/vsftpd restart

Windowsのコマンドプロンプトから接続してみる
  1. 接続(-Aはanonymousにするオプション)
    C:>ftp -A 192.168.1.xxx
    Connected to 192.168.1.xxx.
    220 (vsFTPd 2.0.5)
    331 Please specify the password.
    230 Login successful.
    Anonymous login succeeded for xxx@xxx
  2. 最初いる場所は「/var/ftp」なので、所有者をftpにしたディレクトリに移動
    ftp> cd my
    250 Directory successfully changed.
  3. ファイルを転送
    ftp> put c:test.txt
    200 PORT command successful. Consider using PASV.
    150 Ok to send data.
    226 File receive OK.
    ftp: 24 bytes sent in 0.00Seconds 24000.00Kbytes/sec.
  4. これで/var/ftp/my/test.txtに転送された。このファイルのアクセス権限を見てみる
    -rw------- 1 ftp ftp
  5. vsftpd.confのlocal_umaskは"022"にしてあるが、これはanonymousには適用されないようだ


参考:
 floatingdays: Linuxコマンド備忘録
 How to build Internet Server with Linux: ftpのセキュリティ
 ファイルのパーミッション、アクセス権限について (Unix Linux)


0 件のコメント:

コメントを投稿