ex1-lab

Linux, CentOS, Mac OS X, Windows, 仮想化, Apache等のLinux中心に気になることをメモがわりに・・・

OPENSSHでchroot環境を作る

    この記事は約3分で読むことができます。

SFTPを利用して特定のユーザーでchroot環境作成

OpenSSHを利用してSFTP接続で、特定のユーザーでchroot環境を作成してみました。ネットの情報だと簡単に作れると思ったけど手間取りました。

chrootできるディレクトリの制限が、所有者をroot:root、パーミッションを755 となっているので作ってみた感じは微妙って感じです

※OpenSSHのchroot機能はOpenSSH4.2.9以降から使用できるようになっています。
http://www.openssh.com/txt/release-4.9

SFTPを利用したchroot環境作成 (失敗)

OpenSSHを利用するので、chroot環境を利用するユーザーを作成してsshdの設定ファイルを変更して再起動するとSFTPを利用したchroot環境は設定できます

【環境】
OS:CentOS 7
chrootユーザー:scptest
chrootディレクトリ:/home/scptest/www

・chroot環境で利用するユーザー作成します

・chrootで利用するディレクトリを作成します

・sshd_configを編集してsshdを再起動するとchroot環境が構築できます

 

再起動しましたが、SFTPで接続しましたが、「fatal: bad ownership or modes for chroot directory "/home/scptest"」で接続できません。

sshdの設定でchrootのディレクトリの「/home/scptest/www」の所有者はrootとなっているけど、SCP接続した際のホームディレクトリの「/home/scptest/」がrootになっていないのでエラーとなり接続できないようです。

「/home/scptest/」の所有者をrootにするのは抵抗があるので違う方法で試します

SFTPを利用したchroot環境作成 (成功)

先程失敗したSFTPのchrootですが、chrootするディレクトリはrootで作成してユーザーディレクトリはその配下するって感じ変更します

【環境】
OS:CentOS 7
chrootユーザー:scptest2
chrootディレクトリ:/scphome/
scptestのユーザーディレクトリ:/scphome/home/scptest2

・chrootで利用するディレクトリを作成します

・chroot環境で利用するユーザー作成します。ユーザーディレクトリは「/scphome/home/scptest2」に指定します

・sshd_configを編集してsshdを再起動するとchroot環境が構築できました。この設定だとchrootディレクトリがrootで、ホームディレクトリは/scphome/home/scptest2」となっているのでSFTPでの接続ができます。

本来はWEBのコンテンツの一部をchroot環境にしてその場所に業者さんがファイル置いたりしたかったのですが、この方法をだと無理があったのでvsftpでFTPサーバーを構築しました



 - Linux ,