12
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

さくらVPSでCentOS7 6.FTP接続

Last updated at Posted at 2018-04-27

#はじめに

自由にテスト出来るLinuxのサーバーがほしくて、さくらVPSで構築してみました。
順次手順をアップしていく予定です。

今回は、FTPのインストール・設定をします。

#目次

  1. 申し込み
  2. CentOS7インストール
  3. SSH接続
  4. Apache・PHPインストール
  5. MariaDBインストール
  6. FTP接続
  7. sftp接続
  8. phpMyAdminインストール
  9. 環境のバックアップ
  10. Ruby On Railsインストール
  11. RailsプロジェクトをGitで共同開発

#FTP設定

##FTPインストール

$ sudo yum install vsftpd

##vsftpd.conf編集

  • オリジナル保存

$sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.org


* 編集

    ```
@ sudo vi /etc/vsftpd/vsftpd.conf
日本語のコメントは入っている所が編集箇所です。

```conf:/etc/vsftpd/vsftpd.conf

Example config file /etc/vsftpd/vsftpd.conf

The default compiled in settings are fairly paranoid. This sample file

loosens things up a bit, to make the ftp daemon more usable.

Please see vsftpd.conf.5 for all compiled in defaults.

capabilities.

Allow anonymous FTP? (Beware - allowed by default if you comment this out).

匿名ユーザーのFTPログインを許可しない

#anonymous_enable=YES
anonymous_enable=NO

Uncomment this to allow local users to log in.

When SELinux is enforcing check for SE bool ftp_home_dir

local_enable=YES

Uncomment this to enable any form of FTP write command.

write_enable=YES

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

Uncomment this to allow the anonymous FTP user to upload files. This only

has an effect if the above global write enable is activated. Also, you will

obviously need to create a directory writable by the FTP user.

#anon_upload_enable=YES

Uncomment this if you want the anonymous FTP user to be able to create

new directories.

#anon_mkdir_write_enable=YES

Activate directory messages - messages given to remote users when they

go into a certain directory.

ディレクトリメッセージを表示しない

#dirmessage_enable=YES
dirmessage_enable=NO

Activate logging of uploads/downloads.

xferlog_enable=YES

Make sure PORT transfer connections originate from port 20 (ftp-data).

connect_from_port_20=YES

If you want, you can arrange for uploaded anonymous files to be owned by

a different user. Note! Using "root" for uploaded files is not

recommended!

#chown_uploads=YES
#chown_username=whoever

You may override where the log file goes if you like. The default is shown

below.

#xferlog_file=/var/log/xferlog

If you want, you can have your log file in standard ftpd xferlog format.

Note that the default log file location is /var/log/xferlog in this case.

ログの取得形式

YES:xferlog(wu-ftpd互換)形式

NO :vsftpd形式

#xferlog_std_format=YES
xferlog_std_format=NO

vsftpd形式ログのファイル名を指定する(ディレクティブ追加)

ディレクティブなしでも下記ファイルが指定されているがファイル名を明示する

vsftpd_log_file=/var/log/vsftpd.log

You may change the default value for timing out an idle session.

#idle_session_timeout=600

You may change the default value for timing out a data connection.

#data_connection_timeout=120

It is recommended that you define on your system a unique user which the

ftp server can use as a totally isolated and unprivileged user.

#nopriv_user=ftpsecure

Enable this and the server will recognise asynchronous ABOR requests. Not

recommended for security (the code is non-trivial). Not enabling it,

however, may confuse older FTP clients.

#async_abor_enable=YES

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モードによるアップロード、ダウンロードを許可する

コメントアウト記号をはずす

ascii_upload_enable=YES
ascii_download_enable=YES

You may fully customise the login banner string:

#ftpd_banner=Welcome to blah FTP service.

You may specify a file of disallowed anonymous e-mail addresses. Apparently

useful for combatting certain DoS attacks.

#deny_email_enable=YES

(default follows)

#banned_email_file=/etc/vsftpd/banned_emails

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().

(Warning! chroot'ing can be very dangerous. If using chroot, make sure that

the user does not have write access to the top level directory within the

chroot)

ユーザールートディレクトリを制御する

ユーザーのルートディレクトリを、そのホームディレクトリへ変更する

ただしchroot_list_enableをYESとしてリストアップユーザはその対象から除外する

除外対象ユーザはchroot_list_fileで指定する

コメントアウト記号を外す

chroot_local_user=YES

リストアップユーザのファイル(chroot_list_file)を有効にする

コメントアウト記号を外す

chroot_list_enable=YES

書き込み権限があるとchroot出来ない機能を無効にする(ディレクティブ追加)

allow_writeable_chroot=YES

(default follows)

chroot制御の除外ユーザをリストアップしたファイル名を指定

編集しなくても有効だが、コメントアウト記号を外して明示する

chroot_list_file=/etc/vsftpd/chroot_list

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

When "listen" directive is enabled, vsftpd runs in standalone mode and

listens on IPv4 sockets. This directive cannot be used in conjunction

with the listen_ipv6 directive.

listen=NO

This directive enables listening on IPv6 sockets. By default, listening

on the IPv6 "any" address (::) will accept connections from both IPv6

and IPv4 clients. It is not necessary to listen on both IPv4 and IPv6

sockets. If you want that (perhaps because you want to listen on specific

addresses) then you must run two copies of vsftpd with two configuration

files.

Make sure, that one of the listen options is commented !!

listen_ipv6=YES

vsftpd用PMAサービス名を指定する

pam_service_name=vsftpd

ユーザーをリストアップしたファイルの有効/無効を指定する

YES:リストアップユーザーは、userlist_denyによるアクセス制御対象となる

NO :リストアップファイルは無効。

userlist_enable=YES

userlist_enableがYESの場合、リストアップユーザーのアクセス拒否を制御する

YES:リストアップユーザーアクセス拒否、その他ユーザー許可

NO :リストアップユーザーアクセス許可、その他ユーザー拒否

userlist_deny=NO

userlist_enableがYESのばあい、参照するファイルを指定

ディレクティブ無しでも下記ファイルが指定されているがファイル名を明示する

userlist_file=/etc/vsftpd/user_list

ホストアクセスファイルをアクセス制御に利用しない

#tcp_wrappers=YES
tcp_wrappers=NO

ローカルタイムを使用する

(ディレクティブ追加)

use_localtime=YES

ファイル一覧要求の応答にドットファイルを含める.

(ディレクティブ追加)

force_dot_files=YES

Passive mode の使用を許可する.

(ディレクティブなしでも有効だが、明示するため追加)

pasv_enable=YES

パーミッション変更コマンドを許可する.

(ディレクティブなしでも有効だが、明示するため追加)

chmod_enable=YES

vsftpdのルートディレクトリを設定(ディレクティブ追加)

local_root=/var/www/html


##ユーザルートディレクトリの設定

vsftpd.confの設定で、「chroot_local_user=YES」にしています。
この場合、ユーザのルートディレクトリは、そのユーザのホームになります。

「local_root=/var/www/html」で設定した場所をルートにしたい場合、許可するユーザ名を「chroot_list_file=/etc/vsftpd/chroot_list」で設定したファイルに書き込んでおきます。

* chroot_listにユーザ名追加

    ```
$ sudo vi /etc/vsftpd/chroot_list
```:chroot_list

sakura


##ユーザアクセス許可

vsftpd.confの設定で「userlist_enable=YES」「userlist_deny=NO」と設定しています。
「userlist_enable=YES」でユーザリストアップファイルが有効になり、「userlist_deny=NO」でリストアップしたユーザのみアクセス許可となります。

リストアップファイルは「userlist_file=/etc/vsftpd/user_list」で設定していますので、このファイルにアクセスを許可するユーザ名を書き込みます。

* user_listにユーザ名追加

    ```
$ sudo vi /etc/vsftpd/user_list
```:user_list

sakura


##起動設定

* 自動起動設定

    ```
$sudo systemctl enable vsftpd.service
  • ポート解放

$ sudo firewall-cmd --add-service=ftp
success
$ sudo firewall-cmd --list-services
dhcpv6-client ssh http ftp


* サービス起動

    ```
$ sudo systemctl restart vsftpd.service

#接続

WinSCPインストール

接続ソフトはWinSCPにしました。

  • ダウンロード

    窓の杜からダウンロードします。

  • インストール

    ダウンロードしたファイルWinSCP-5.13.1-Setup.exe(H30/04/27現在)を起動

※この後ユーザーアカウント制御ダイアログが表示されたら[はい]を選択
[許諾(A)>]をクリック
[次へ(N)>]をクリック
[次へ(N)>]をクリック
[インストール(I)]をクリック
しばらく待つ
以上で完了です。[完了(F)]をクリック

##設定・接続

例として、作業用一般ユーザ「sakura」で接続します。

  • WinSCP起動


  • 接続パラメータ入力

    転送プロトコル:FTP
    暗号化:暗号化なし
    ホスト名: ←ホストのIPアドレスまたはURL
    ポート番号:21
    ユーザ名:sakura
    パスワード:●●●●●●●●● ←ユーザ作成時に付けたパスワード


  • 設定保存

    初回は設定を保存します。
    [保存(S)]をクリックし、開いたダイアログにセッションの保存名を入力して[OK]をクリック。


  • ログイン

    [ログイン]をクリックし、接続することと、右側のフォルダが「/var/www/html」(vsftpdのlocal_rootで設定した値)になっているかを確認。


#次回

FTPの設定が完了しました。
次回は、鍵認証を使ったSFTPの設定をします。

前回:MariaDBインストール
次回:sftp接続

12
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?