- PR -

OpenSSHでディレクトリ移動の制限

投稿者投稿内容
m.k.s.
常連さん
会議室デビュー日: 2003/06/08
投稿数: 20
投稿日時: 2003-11-07 14:42
kazさん、情報ありがとうございます。思いっきりハマッてました。
#まだChrooted-SSH環境すら動かせていない状況です(^^;

scponlyを試してみたのですが、肝心のshell部分が動きません。
enable-chrooted-binary と enable-winscp-compat でコンパイル後、
setup-chroot.sh を実行させたのですが、大量にエラーを吐いてしまいました。
useraddのパスが正しくない事とinstallの-Cオプションが使用できなかったのが
原因と判明しましたので、書き換えて実行したところ問題なく終了したようです。

意気込んでWinSCPから接続したところ、大量のエラーダイアログが(T.T;!!
Cygwinのsshから接続したところ、ログイン後にshellが動いていないようでした。
全くの無応答になってしまいます。うぅ〜ん。

OpenSSHがどのようにしてシェルを立ち上げているのか、ご存知の方、
ご教授頂けないでしょうか。宜しくお願いします。

#-- /home/scproot --
./bin
chgrp chmod chown echo ln ls mkdir mv pwd rm rmdir
./lib
(動作に必要なファイル...lddで確認しました)
./usr/bin
groups id scp
./usr/lib
(動作に必要なファイル...lddで確認しました)
./usr/sbin
(空 ※ここに何も無いのが???)

#-- log --
...認証後、接続メッセージが流れた直後...
Environment:
USER=uscp
LOGNAME=uscp
HOME=/home/scproot
PATH=/usr/bin:/bin:/usr/sbin:/sbin
MAIL=/var/spool/mail/uscp
SHELL=/usr/sbin/scponlyc
SSH_CLIENT=192.168.1.18 1772 22
SSH_CONNECTION=192.168.1.18 1772 192.168.1.250 22
SSH_TTY=/dev/pts/2
TERM=cygwin
#ここで応答がなくなります。恐らくscponlyが起動していないと思うのですが...???

#誤字修正

[ メッセージ編集済み 編集者: m.k.s. 編集日時 2003-11-07 14:45 ]
m.k.s.
常連さん
会議室デビュー日: 2003/06/08
投稿数: 20
投稿日時: 2003-11-11 11:05
ご報告第一弾。Chrooted-SSHが動きました!!
原因は目標のユーザーが追加された/etc/passwdと/etc/groupが正しくコピーされていなかったという単純な落ちでした(^^;
> Cannot find account for uid
このエラーでユーザー周りが怪しいともっと早く気づくべきでした。
ちなみにWinSCP3.4.2の日本語版でも正しく動いています。

手順としては、まずchroot環境を構築(/home/chroot/以下)しました。
1. chroot-SSHをさせたいユーザーを作成 ≪ passwdとgroupのコピーを取るので先に作ってしまった方がよさそうです。
2. サイトを参考に必要なファイルをすべてコピー
3. 念のためにlddコマンドで各/bin/*, /usr/bin/*, などで実行に必要なファイルがコピーされているか確認。
4. rootになりchrootが実行できるか確認。
#この後で目標のユーザを作成していたので、passwdとgroupが反映されていませんでした。大失敗(^^;

chrootsshパッチを充ててコンパイル及びインストール。
各種パスと--with-tcp-wrappers --with-md5-passwords --with-ipaddr-display
--with-dns --with-ipv4-default を使用しました。念のために。

最後に目標のユーザーのフォームディレクトリを
usermod -d /home/chroot/./home uscp
と変更して設定は終了。
あとは普通にSSHでログインすると、chrootされた環境下に飛ばされました。

これからscponlyが動かない原因を探っていきたいと思います。
また動いたらご報告させて頂きますので、なにか情報がありましたらご教授頂きます様、
宜しくお願い致します。


主に以下のサイトを参考にさせて頂きました。ありがとうございます。

FreeBSDでChroot patch for ssh
http://nadmin.org/howto/chrooted-ssh.html

Webby-way
http://webby-way.ddo.jp/index.php?chrootssh%C6%B3%C6%FE
けんたおる
会議室デビュー日: 2003/11/05
投稿数: 3
投稿日時: 2003-11-11 23:53
m.k.sさんこんばんわ。
無事稼動されたようですね。良かったです。

先日投稿してから自宅のサーバーの環境を詳しく見る時間がなく、
結局お返事することができませんでした。

# お気づきかと思いますが、上記webby-wayは私のサイトです…(^^;
# たいした情報もなく、すいません。
m.k.s.
常連さん
会議室デビュー日: 2003/06/08
投稿数: 20
投稿日時: 2003-11-12 21:11
けんたおるさん、ありがとうございます。大変参考にさせて頂いております。
#勝手にリンクを貼ってしまいましたが、よかったのでしょうか(^^;

ついでと言ってはなんですが、自己レスに補足です。もう一箇所コケたとこがありました。
chrootを行うと"I have no name!"となってしまう場合、以下の問題ありました。
・/etc/passwd, /etc/group へのアクセス権がない
・/lib の中のファイルが欠落している
1つ目はサイトなんかに良く載っているのですぐに分かったのですが、
2つ目のファイル欠落に気づくのに時間がかかりました。
中途半端にchrootが動くので、みょ〜な環境になってしまっていました。
#glibの勉強をした方が近道かもしれませんね。

スキルアップ/キャリアアップ(JOB@IT)