あーこんにちわんたん麺
FTPサーバやりましょ
FTP=FTP(File Transfer Protocol:ファイル転送プロトコル)を利用してファイルの送受信を行うサーバソフトウェア。
Filezillaとかドラッグして簡単にアップロードとかするやつですね
Ubuntuでやります
1 |
sudo aptitude update |
1 |
sudo aptitude install vsftpd |
1 |
バックアップ
1 |
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original |
1 |
sudo vim /etc/vsftpd.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# Allow anonymous FTP? (Beware - allowed by default if you comment this out). #anonymous_enable=YES anonymous_enable=NO #↑匿名FTPの利用を禁止 # Uncomment this to allow local users to log in. local_enable=YES #↑コメントを外してローカルユーザーに対してFTP接続を許可 # Uncomment this to enable any form of FTP write command. write_enable=YES #↑コメントを外してFTPクライアントからの書き込みを許可 ※ファイルのアップロード、名前の変更、削除等が可能 # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=022 #↑ローカルユーザーに対してのumaskの設定値を022に変更 ※アップロード後のパーミッションはファイルが「644」、ディレクトリが「755」になる # You may override where the log file goes if you like. The default is shown # below. xferlog_file=/var/log/vsftpd.log #↑コメントを外してvsftpdのログを有効 # If you want, you can have your log file in standard ftpd xferlog format #xferlog_std_format=YES xferlog_std_format=NO #↑ログをvsftpd形式で記録YESは標準形式で保存。NOでvsftpd形式。) # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. ascii_upload_enable=YES ascii_download_enable=YES #↑上記2つのコメントを外して、アスキーモードでのアップロードおよびダウンロードを有効 # You may fully customise the login banner string: ftpd_banner=FTP server. #↑コメントを外して=の右側に半角英数字で文字列を記入 ※FTPサーバーの情報を表示しない # You may restrict local users to their home directories. See the FAQ for # the possible risks in this before using chroot_local_user or # chroot_list_enable below. chroot_local_user=YES #↑コメントを外して全てのローカルユーザーに対してのchrootを有効 ※ローカルユーザーは自身のホームディレクトリより上位の階層には移動できない # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). chroot_list_enable=YES #↑chrootを有効にするユーザーを指定。 # (default follows) chroot_list_file=/etc/vsftpd.chroot_list #↑chroot_list_enableを適用させるユーザー名を記載したファイルを指定 # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. ls_recurse_enable=YES #↑コメントを外し、FTPクライアントからディレクトリごと削除 # This option specifies the location of the RSA certificate to use for SSL # encrypted connections. rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem # This option specifies the location of the RSA key to use for SSL # encrypted connections. rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #↑デフォルトの設定では、FTP over SSLが有効 #ファイルの末尾に以下の内容を追記 userlist_enable=YES userlist_deny=NO #↑FTPでログイン出来るユーザーを制限。「userlist_enable=YES」で「vsftpd.user_list」を使用するようにし、「userlist_deny=NO」でvsftpd.user_listに記載されたユーザーのみFTPでログイン。 pasv_enable=NO #pasv_enable=YES #pasv_min_port=4000 #pasv_max_port=4029 #pasv_addr_resolve=YES #pasv_addressをドメイン名で指定(DNSにドメインが登録されている場合のみ) #pasv_address=ドメイン名 #↑PASVモードを有効にする場合は、上記5つのコメントを外して有効。今回は自宅LAN内からのみFTP接続を許可しているのでPASVモードは不要。 ※PASVモードは主にルーターを挟んだファイアウォール越しにFTP接続を行う際に必要。 tcp_wrappers=YES #↑TCP Wrappersによるアクセス制限を有効 force_dot_files=YES #↑ドット(.)ファイルをデフォルトで表示 ssl_enable=YES #↑FTP over SSLを有効 force_local_logins_ssl=NO force_local_data_ssl=NO #↑YESでFTP over SSLでの接続のみ許可。NOで通常のFTPでも接続出来るようになる。(記述が無い場合、YESとして扱われる) #vsftpd.confを保存します #vsftpdを再起動 |
1 |
sudo /etc/init.d/vsftpd restart |
その他
chrootを適用しないユーザーのリストファイルを作成。
1 2 3 4 5 |
sudo vim /etc/vsftpd.chroot_list xxxxxxxxxxxx #←chrootを適用しないユーザーを1行に1つずつ記述 #vsftpd.chroot_listを保存 |
xxxxxxxxxxxx #←chrootを適用しないユーザーを1行に1つずつ記述
#vsftpd.chroot_listを保存
#vsftpd.chroot_listを保存
次にログインを許可するユーザー定義ファイルを作成
1 |
sudo vim /etc/vsftpd.user_list |
1 |
hogehoge #←ログインを許可するユーザーを1行に1つずつ記述 |
1 |
#vsftpd.user_listを保存 |
1 |
chown root:root /etc/vsftpd.user_list |
1 |
chmod 600 /etc/vsftpd.user_list |
1 |
#↑所有者をrootにし、rootのみファイルの読み書きを許可 |
hosts.allow設定
1 |
sudo vim /etc/hosts.allow |
1 2 |
#ファイルの末尾に下記内容を追加 |
1 |
vsftpd: ALL |
これでおkです。
実際にFTPクライアントでやってみましょう
おわり(^^)
0件のコメント