SFTPでchroot設定をする方法

レンタルサーバの一部スペースを友人に貸すことにして、DNSレコード追加したりuseraddしたりqmailの設定をしたり、色々やってたんだけど、なんと、MacOSのFTPクライアント(サイバーダック)ではGMOクラウドに接続できないと!
で、色々やって「sftpモード」ではつながることがわかって一安心。

と思ってたら、「なんか/(ルート)が見えるんですけど…」と。
それはまずい! 一般ユーザにホームディレクトリ以下しか見れないよう設定しないと!
とか考えながらググってたら、「chroot」を使いましょう、とのこと。

で、それにならってsshdの設定とかをしたんだけど、「Broken Pipe」とかエラーが出てうまくいかない。
で、さらに調べて分かったことは、この2点。

  • sshd_configでchrootする。
  • ユーザのホームディレクトリのオーナーをrootにする。

でした。

sshd_configでchrootする

/etc/ssh/sshd_config/

#Subsystem sftp /usr/libexec/openssh/sftp-server <-コメントアウト
Subsystem sftp internal-sftp
Match User macuser
ChrootDirectory /home/macuser
ForceCommand internal-sftp

ユーザのホームディレクトリのオーナーをrootにする

# pwd
/home
# chown root:root macuser
# cd macuser
# pwd
/home/macuser
# chown macuser:macuser *
# ls -al
drwxr-xr-x.  6 root    root    4096 Jan 21 08:46 .
drwxr-xr-x. 11 root    root    4096 Jan 21 07:09 ..
drwxr-xr-x.  3 macuser macuser 4096 Jan 22 11:18 cgi-bin
drwxr-xr-x.  2 macuser macuser 4096 Jan 22 09:23 logs
drwxr-xr-x.  5 macuser macuser 4096 Sep 23  2015 Maildir
-rwxrwxrwx.  1 macuser macuser   39 Jan 22 08:48 memberslist
-rw-r--r--.  1 macuser macuser   18 Jan 21 07:10 .qmail
-rw-r--r--.  1 macuser macuser   18 Jan 21 08:46 .qmail-hostmaster
drwxr-xr-x.  3 macuser macuser 4096 Jan 22 11:23 www

あとはsshdを再起動するだけ。

# service sshd restart

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です