Ubuntu 10.04 ftp serverを構築する。


Ubuntuが持参するFTPサーバはvsftpdです。
インストール使用
1、vsftpdをインストールする
sudo apt-get install vsftpd
インストールしたら/home/下にftpディレクトリを作成します。ここでftp://IPアドレスにアクセスしてみてもいいです。空白の内容のftp空間が見えるはずです。
匿名のユーザーはデフォルトでダウンロードできますが、書き込みやアップロードはできません。
2、vsftpd.com nfファイルを設定する。
今は匿名のユーザにアクセスできなくなり、linux上のユーザパスワードを入力してから自分のディレクトリの内容にアクセスすることができます。
まず、vsftpdを設定するファイルを見つけます。位置は/etc/vsftpd.com nfです。
sudo gedit /etc/vsftpd.conf
サーバの設定
1.匿名サーバの接続(独立サーバ)は、/etc/vsftpd/vsftpd.com nfプロファイルに次のような項目を追加します。
Anonymous_enable=yes (      )



Dirmessage_enable=yes ( , .message )



Local_umask=022 (FTP , 077)



Connect_form_port_20=yes ( FTP )*



Xferlog_enable=yes ( )



Xferlog_std_format=yes ( )



Ftpd_banner=Moonlight Ftp Server ( )



Pam_service_name=vsftpd ( )*



Listen=yes ( VSFTPD )*
機能:FTPサーバにしか接続できません。下に注をアップロードできません。ここではすべてログ歓迎情報に関連してオプションがあります。星番号を付けたのはどのアカウントでも追加されます。FTPに属する基本オプションです。2.匿名のFTPサーバのアップロード権限を開いて、設定ファイルに以下の情報を追加すればいいです。
Anon_upload_enable=yes (      )



Anon_mkdir_write_enable=yes ( )



Write_enable=yes ( )



Anon_other_write_enable=yes ( )
3.匿名サーバから送信する権限を開いて、設定ファイルに以下の情報を追加すればいいです。


Anon_world_readable_only=no
注:フォルダのプロパティに注意してください。匿名アカウントは他のユーザーがその読み書きを開始する権限(R)読みます。下に送る(W)書き込みます。アップロード(X)実行します。FTPを開かないとディレクトリは入れられません。一般ユーザーのFTPサーバの接続(独立サービス)は設定ファイルに以下の情報を追加すればいいです。Local_enble=yes(ローカルアカウントが登録可能)Write_enable=no(ローカルアカウント登録後はファイルの削除と変更ができません。)機能:ローカルアカウントでvsftpdサーバにログインできます。アップロードの権限があります。注:匿名ログインを禁止した後、匿名サーバはそのままログインしてもいいですが、アップロードはできません。ユーザは他のディレクトリにログインして、ホームディレクトリに入るだけで全てのローカルユーザがchrootを実行します。


Chroot_local_user=yes ( )
指定ユーザ実行chrootを設定します。
Chroot_list_enable=yes (          )



Chroot_list_file=/ /vsftpd.chroot_list
注意:vsftp.chroot_リストは作成されていないので、自分で追加してください。アカウントをコントロールするには、ファイルに直接アカウントを追加すればいいです。ローカルユーザーのFTPUserlistを制限します。enable=yes(userlistlaiでユーザーアクセス制限)Userlist_deny=no(リストの中の人はアクセスできません)Userlist_file=/ファイルの保存経路を指定します/(ファイルの配置経路)注:userlist_を開きます。enable=yes匿名アカウントはログインできません。安全オプション
Idle_session_timeout=600( ) (       10  )



Data_connection_timeout=120( ) ( 2 )



Accept_timeout=60( ) ( 1 )



Connect_timeout=60( ) ( 1 )



Local_max_rate=50000(bite) ( 50K)



Anon_max_rate=30000(bite) ( 30K)



Pasv_min_port=50000 (



Pasv_max_port=60000 50000—60000 )



Max_clients=200 (FTP )



Max_per_ip=4 ( IP )



Listen_port=5555 ( 5555 )
8.FTPにログインした人を確認し、そのプロセスを殺す
ps –xf |grep ftp



kill
=================================================================最後にサービスを再起動します。
sudo  /etc/init.d/vsftpd restart
=============================================================================================
上位構成1.ローカルグループアクセスを構成するFTPは、まずユーザグループtestとFTPのホームディレクトリを作成する。


groupadd test



mkdir /tmp/test
ユーザーを作成します
useradd -G test –d /tmp/test –M usr1
注:G:ユーザーがいるグループd:ユーザが作成した自分のディレクトリの位置を指定M:デフォルトのホームディレクトリを作成しないことを示します。つまり/homeの下に自分のディレクトリがないuseradd–G test–d/tmp/test–M usr 2は続いてフォルダの所有者と権限chown usr 1.test/tmp/testを変更します。これは/tmp/testの所有者をusr 1 chmod 750/tmp/testにします。wrx 5はrx 5が何の目的もないという意味です。削除とダウンロードの権限がありますが、usr 2はダウンロードの権限しかありません。アップロードと削除の権限がありません。もちろん、私達の主な設定ファイルvsftpd.com nfはlocalを確定することを忘れないでください。enable=yes、write_enable=yes、chroot_local_usr=yesの3つの選択肢がありますよ。2.独立したFTPを構成するサーバの非ポート標準モードでデータ接続を行うことは非常に容易である。CONFにListen_を追加しますポータブル=3333.独自の仮想FTPを構成し、仮想FTPユーザーを使用して、確立された4つのアカウントの中に異なる権限を持つようにします。(2つは読み取りディレクトリの権限があり、一つは閲覧、アップロード、ダウンロードの権限があります。一つはファイル名を閲覧、ダウンロード、削除、変更する権限があります。)A:LANカードの第一ブロックのネットワークカードアドレスは10.2.3.4マスクで255.255.0 if config eth 0:1 211.131.4.23 netmark 255.255.255.0 uB:書き込み/etc/syssconfig中(再起動後のIPアドレスが失われないため)cd/etc/syssconfig/network-scriptscp ffg-eth 0 ifcfg-eth 0:1 viifcfg-eth 0:1 vi ifcfg-eth 0:1その中で修正内容は以下のDEVICE=eth 0:1 BRAOADCAST=211.131313131.3.55HWADDR=このカードのMACアドレスIPADDR=20201.11.11.11.11.11.11.11.11.11.11.11.11.11.11.11.11.11.11.11.11.13.3.3.3.3.3.3.2 tttttttttttttttttttttttttttttttttttttttttttttttttttttnfがあるフォルダcp vsftp.com nf vsftp.2.confは、vsftp.com nfを修正して添付します。下情報Listen_address=10.2.3.4 vsftp.2 confを修正して以下の情報Listen_を追加します。address=211.131.4.253 Ftpd_banner=this is a virtual ftp testはここで仮想のFTPサーバーを創立しました。D:logins.txtvi/tmp/logins.txtを創立して情報を追加します。moonlight----username
moonlight-----password
フォーマットは私のによって来て、1つのユーザー名、1つのパスワードはF:訪問者のパスワードの倉庫のファイルを創立して、それからその権限を改正します。
db_load –T –t hash –f /tmp/logins.txt /etc/vsftpd_login.db
G:进如/etc/pam.d/中作成ftp.vuこのファイルに以下の情報を追加します。


auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login



account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
H:ディレクトリを作成して、その属性とその属主useradd-d/ftp/test qiangchmod 700/var/ftp/testを変更して、目次にtest_を追加します。fileテストファイルI:vsftpd.2 confに入ってその中の情報を修正します。
Listen_yes



Anonymous_enable=no



Local_enable=yes



Write_enable=no



Anon_upload_enable=no



Anon_mkdir_write_enable=no



Anon_other_write_enable=no



Chroot_local_user=yes



Guest_enable=yes----------



Guest_username=qiang------



Listen_port=5555



Max_client=10



Max_per_ip=1



Ftpd_banner=this is a virtual server and users



Pam_service_name=ftp.vu
注:メインプロファイルで与えられた権限が低いほど、下位ユーザが管理する時にサポートに対する権限区分の空間が大きくなります。メインプロファイルの最高の制限サービスはメインプロファイルを読み、ユーザーのプロファイルを読んで仮想USERにサービスを再起動します。CONFのディレクトリにvirtaulファイルのディレクトリを作成し、ファイルディレクトリにユーザー名で構成されたファイルmoonlightをmoonlightに追加します。
Anon_world_readable_only=no



Write_enable=yes



Anon_upload_enable=yes



Anon_other_write_enable=yes
このユーザにはアップロード、ダウンロード、ファイルディレクトリの削除、ファイル名の変更、ブラウズの権限があります。configdir=/vsftpd.com nfがあるディレクトリ/virtualを再起動するとサーバーの設定が完了します。
Anonymous_enable=yes (      )



Dirmessage_enable=yes ( , .message )



Local_umask=022 (FTP , 077)



Connect_form_port_20=yes ( FTP )*



Xferlog_enable=yes ( )



Xferlog_std_format=yes ( )



Ftpd_banner=XXXXX ( )



Pam_service_name=vsftpd ( )*



Listen=yes ( VSFTPD )*



Anon_upload_enable=yes ( )



Anon_mkdir_write_enable=yes ( )



Write_enable=yes ( )



Anon_other_write_enable=yes ( )



Anon_world_readable_only=no ( )



Ascii_upload_enable=yes ( ASCII )



Ascii_download_enable=yes ( ASCII )



Banner_file=/var/vsftpd_banner_file ( )



Idle_session_timeout=600( ) ( 10 )



Data_connection_timeout=120( ) ( 2 )



Accept_timeout=60( ) ( 1 )



Connect_timeout=60( ) ( 1 )



Local_max_rate=50000(bite) ( 50K)



Anon_max_rate=30000(bite) ( 30K)



Pasv_min_port=50000 (



Pasv_max_port=60000 50000—60000 )



Max_clients=200 (FTP )



Max_per_ip=4 ( IP )



Listen_port=5555 ( 5555 )



Local_enble=yes ( )



Write_enable=no ( )







Chroot_local_user=yes ( )



Chroot_list_enable=yes ( )



Chroot_list_file=/ /vsftpd.chroot_list



( chroot_local_user=no)







Userlist_enable=yes ( )



Userlist_deny=yes



Userlist_file=/ /vsftpd.user_list







Banner_fail=/ / ( )



Ls_recurse_enable=no



Async_abor_enable=yes



One_process_model=yes



Listen_address=10.2.2.2 ( )



Guest_enable=yes ( )



Guest_username= ( )



User_config_dir=/ /



( )







Chown_uploads=yes ( root)



Chown_username=root







Deny_email_enable=yes ( )



Banned_email_file=// /xx/







Pasv_enable=yes ( )



User_config_dir=/ // ( )
ローカルユーザを使用してログインしてゲストユーザをクローズする必要がある場合、以下のコマンドを設定します。

anonymous_enable=no

guest_enable=no

local_enable=yes

write_enable=yes

local_umask=022

chroot_list_enable=yes

chroot_list_file=/etc/vsftpd.chroot_list ( )


( etc/vsftpd.chroot_list )

過程で発生した問題:
注意事項:
vsftpdのデフォルトのルートディレクトリを変更する方法
vsftpdのプロファイルを変更し、次の3行を追加します。
local_root=/media/ftp/pbchroot_local_user=YES Sanon_root=/var/www/html
local_rootは、ローカルユーザー登録後のルートディレクトリ、つまり匿名ではなく、ユーザー名とパスワードを入力してログインしたということです。ここでは、ftp登録のフォーマットを説明します。ftp://username:passwd@local host
アンロン.root anonymousユーザー、すなわち匿名ユーザーが訪問するホームディレクトリです。
しかし、この時は以下のようなエラーが発生する可能性があります。
[root@localhostpbb]((zhi lftp local Hostlftp local host)>lslslss:Login failed:500 OOPS:vsftpd:refusing to run with writable anonymous root
理由はまだ権限設定の問題です。ftpのデフォルトのホームディレクトリの権限設定が間違っています。ここでこのエラーを報告したのは/media/ftpの設定権限が777で、/media/ftp/pubの設定権限も777です。正しいパーミッション設定は/media/ftpのパーミッションを755に設定し、chmod 755/media/ftpを再開したらftpサービスがokです。
また、デフォルトのftpディレクトリでこの問題が発生した場合、それはこれ/home/ftpの権限が間違っています。このディレクトリの権限はすべての権限を開けてはいけません。chmod 777/home/ftpを実行しています。ftpユーザというディレクトリがないなら、もちろん自分で作ってください。
FTPユーザのホームディレクトリは、すべてのユーザ、ユーザグループ、他のユーザグループに対して完全に開放されない。[root@localhost~」(荎ls-ld/home/ftpdrwxrwxrwx 3 root 4096 2006-03-23/home/ftp
このエラーを修正するには、次の方法を使うべきです。[root@localhost~」(啜chownroot:root/home/ftp[]root@localhost~」(膎chmod755/home/ftp
匿名のユーザーの読み取り可能、ダウンロード可能、アップロード可能、という兄弟もいますが、どうすればいいですか?これも簡単です。/home/ftpの下でもう一つのディレクトリを作ってもいいです。権限は777のもので、vsftpd.comを変更すればいいです。難しくないです。
vsFTPdは安全を考慮して、ftpユーザーのホームディレクトリの権限を完全に制限させてはいけないので、vsFTPdの文書を読んでみてもいいです。さもなくば最も安全なFTPサーバーとも言えないですよね?
ftp 425 bad ip connectingエラーを解決します。
vsftp内网は正常にログインしますが、外网ができます。
425 bad ip connecting問題
解決策
編集/etc/vsftpd/vsftpd.com nf追加pasv_promiscous=YES
サービスを再開すればいいです。
vsftpdとTCP_wrapperはユーザーのipアドレスを制限して登録します。
vsftpdとTCP_wrapperはこのような要求/etc/hosts.allow定義で許可された住所を一つのブロックに結合して実現します。/etc/hosts.deny定義で拒否されたソースアドレスは以下の通りです。root@BJFS-PIM root.adminssh萼cat/etc/hosts.allow芫芫芬hosts.allow This file describes the hosts which are e e e the local services,as dedecided舲.8.8.8.8.8.0/258.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.0/255.28.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.3.0/255.255.255.0:allow/etc/hosts.deny胫hosts.deny This file describes the names ofthe hosts which are e ap*allowed to use the local INET services、as decided芫茲咻咻咻s.hodundent、but it is left to remind you thout。vsftpd:ALL:DENY将tcp_wrappers=yesを/etc/vsftpd/vsftpd.com nfに追加しました。vi/etc/vsftftpd/vsftftpd.com ftp_。wrappers=YES再起動vsftpd[root@homevsftpd](荫/sbin/service vsftpd retart)