##構造序文:
ホストシステム:centos7
によるSFTPのSSHベースのプロトコル、私たちは余分なパッケージをインストールする必要はありません、あなただけの適切な設定をする必要があります。
##ビルドプロセス:
ディレクトリのパーミッションを設定する1.ユーザを作成し、ユーザーグループ、(これはこれだけのユーザ/ユーザグループを建て単なるテストです)
#家目录默认在/home/sftp_user
sudo useradd -m sftp_user:sftp_user
#将家目录的属主改为root
sudo chown root:root /home/sftp_user
#将家目录的权限改为755
sudo chmod 755 /home/sftp_user
#建立上传目录
sudo mkdir -p /home/sftp_user/upload
#建立下载目录
sudo mkdir -p /home/sftp_user/download
#切换上传、下载两个目录的属主为sftp_user
sudo chown -R sftp_user:sftp_user /home/sftp_user/upload
sudo chown -R sftp_user:sftp_user /home/sftp_user/download
2.バックアップおよび変更は、/ etc / ssh / sshd_config、以下の内容を追加します
テキストは、参照は、直接であってよく、以下の注釈なし内容:
# override default of no subsystems
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Match User sftp_user
ForceCommand internal-sftp
ChrootDirectory /home/sftp_user
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
PasswordAuthentication yes
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
#UseDNS no
#AddressFamily inet
PermitRootLogin yes
#SyslogFacility AUTHPRIV
PasswordAuthentication no
3.エラーがアップロードとダウンロード機能にチェックしない場合は、サービスを再起動し、エラーの場合は、トラブルシューティングを続行
sysetmctl restart sshd
この時点で、ビルドにSFTPは完了です。
##構造追伸:
もちろん、特別な注意が必要な点がいくつかあります。
1.再起動のsshdの時には、非常にコンテナがROMへのクライアントの原因となります立ち上がっSSHD。そこで、我々は二つの点に注意を払う必要があります:
1.1バックアップは、/ etc / ssh / sshd_configファイル、sshは本当にハングアップした場合、すぐに以前の状態に戻ります。
より1.2開いたいくつかのコンソールよりも、常にコンソールもホストを取得していることを確認、それは機械がその以前の状態に復元する機能を持っていることを確認することができます。
セットアップ2. SFTPサーバは、我々は3点に注意を払う必要があります:
2.1 ChrootDirectoryセットディレクトリのパーミッションと親フォルダのアクセス権のすべては、所有者とグループは、rootでなければなりません。
2.2 ChrootDirectoryセットディレクトリのパーミッションとすべての親フォルダのアクセス権、所有者のみが最大設定への書き込みアクセス権を持つことができる唯一の755することができます。
所有者のディレクトリ2.3 ChrootDirectory以下のニーズはそれほどユーザーが読んだことができるということ/書き込み/実行権限を、SFTPのユーザーに設定されます。