旅するえんじにあ - Engineers to Travel -

旅するエンジニアの気まま備忘録

【Linux】 sftp接続で指定ディレクトリのみに接続

まだNASが用意できない かといって共有ディレクトリは欲しい。

ということで取り急ぎ新しいユーザでssh接続はさせず、sftpのみで接続させ 指定したディレクトリのみ接続させる方法です。

まずは新しいユーザを作成します。 新しいユーザは最終的に/home/sftpuser/dataディレクトリのみの接続になります。

$ useradd sftpuser
$ passwd sftpuser
$ usermod -d / sftpuser

$ chmod 755 /home/sftpuser/
$ chown root:root /home/sftpuser/

$ mkdir /home/sftpuser/data
$ chmod 755 /home/sftpuser/data/
$ chown sftpuser:sftpuser /home/sftpuser/data/

次に接続制限をかけます。

sshd_configのsubsystem部分を編集します。

$ vim /etc/ssh/sshd_config

# override default of no subsystems
# Subsystem     sftp    /usr/libexec/openssh/sftp-server # comment out
Subsystem       sftp    internal-sftp

Match User sftpuser
        ChrootDirectory /home/sftpuser
        ForceCommand internal-sftp

最後にsshdを再起動

$ service sshd restart

これでsshで入ろうとしてもsftpuserではログインができなくなっています。

一旦はこれで運用するかなぁ。