Livingdeadの日記: sftpのChrootDirectoryはrootが所有しなければならない
以前QNAP TS-409のsftpでchrootするという日記を自分で書いたにも関わらずまたハマってしまったので再度メモ。日本語のsshd_config(5)のmanpageによると次の通り。
ChrootDirectory (chrootディレクトリ)
認証の後に、chroot (2) をおこなうパス名を指定します。このパスおよび、そこに到達するすべてのディレクトリはroot が所有していなければならず、他のどのユーザやグループも書き込みできるようになっていてはいけません。chroot したあとに、sshd (8) はワーキングディレクトリをそのユーザのホームディレクトリに変更します。
ちなみにQNAP TS-409 Pro TurboNASには最初からsshが入っているけど、ログイン出来るユーザがadminだけになるようにハードコーディングされているので、IPKGのopensshを入れてます。/opt/etc/openssh/sshd_config における設定は次の通り。
Subsystem sftp internel-sftp
AllowUsers admin livingdead
Match user livingdead
ChrootDirectory /share/MD0_DATA/home
PasswordAuthentication no
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
個人用のディレクトリはデフォルトの場所 /share/MD0_DATA から /share/MD0_DATA/home に移して、/share も MD0_DATA も home も chmod 755; chown admin.administrators . した。
sftpのChrootDirectoryはrootが所有しなければならない More ログイン