web-dev-qa-db-ja.com

特定のフォルダーにのみアクセスするためのSFTPユーザーを作成しますか?

Ubuntu 14.04 LTS 64bitを実行しています。既存のフォルダにアクセスし、ダウンロード/アップロード/編集できるようにするために、sftpユーザーを作成したいと思います。これどうやってするの?

1
TravelWhere

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または同じ端末を使用して接続します。それでおしまい。

0
SAGAR Nair