Ubuntu 14.04 LTS 64bitを実行しています。既存のフォルダにアクセスし、ダウンロード/アップロード/編集できるようにするために、sftpユーザーを作成したいと思います。これどうやってするの?
Ftpサーバーまたはsftpの作成はvsftpdパッケージで非常に簡単ですが、ftpログインを行うために外部の誰かを本当に許可したい場合は、いくつかの重要なシナリオに注意する必要があります。したがって、非sftpユーザーがシステムファイルを表示できないように、非chroot sftpセットアップをセットアップすることをお勧めします。これは多くの方法で実行できますが、簡単な手順で要件を達成するための簡単なハック方法を説明できます。
特権ユーザーになります。
Sudo su
パッケージをインストールする
Sudo apt-get install vsftpd openssh-server
構成ファイルをバックアップして、新しい構成ファイルを作成します。
mv /etc/vsftpd.conf{,.backup}
nano /etc/vsftpd.conf
保存して終了
Ctrl + x
y
Vsftpサーバーを再起動します
service vsftpd restart
ftpのみのユーザーを作成します
useradd -g sftpgroup -d /files -s /sbin/nologin sagar
ユーザーSagarのパスワードを設定します
Sudo passwd sagar
使用するシェル構成にnologinを追加します。
echo "/usr/sbin/nologin" >> /etc/shells
Ftpのグループを作成して、グループ内のすべてのユーザーがsftpを使用できるようにします
Sudo groupadd sftpgroup
次に、SFTP/etc/ssh/sshd_configを使用するようにsshデーモン構成ファイルを編集します
Sudo nano /etc/ssh/sshd_config
「Subsystem sftp/usr/lib/openssh/sftp-server」行を見つけて、次のようにコメントアウトします
#Subsystem sftp /usr/lib/openssh/sftp-server
ファイルの最後に次を貼り付けます
Subsystem sftp internal-sftp
Match group sftpgroup
ChrootDirectory /ftpdir/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Ctrl + x yで保存
Mkdir -p/ftpdir // filesのようなftpファイル用のディレクトリを作成します。
mkdir -p /ftpdir/sagar/files
所有権を与える
Sudo chown -R sagar:sftpgroup /ftpdir/sagar/files
システムを再起動します
Sudo reboot
Filezillaクライアントを使用して、SFTPまたは同じ端末を使用して接続します。それでおしまい。