2002年1月 5日

[obu:01187] Re: [OBS+FTPd] インストールについて。

 "吹原(K Fukebaru)"です。

>うまく説明出来ないのですが、、、普通に実在するユーザーでFTP
>アクセスを行うと、そのユーザーのホームディレクトリー(/home/xxx)が
>ルートディレクトリーになるかと思います。
>コンソールからログインしたときは、「/home/xxx」
>FTPでログインしたときは、「別の任意の場所」
>にルートディレクトリーを設定したいと考えています。
>
>FTP専用のユーザーを作成して、 [-d home] で

>指定すればそれも、一つの方法だと思うのですが、、、。

同じアカウントでその様な使い方の必然性がいまいち把握出来てないので一番良
い方法を説明しずらいのですがルートディレクトリと呼ばれてますので chroot
してそれより上に行けないようにしたいものとして別の方法を・・・

/etc/passwd に下記ユーザがいる場合で

user1:x:1000:1000::/home/user1:/bin/bash

1.) telnet,ssh 等は /home/user1 をホームディレクトリとしてログイン
2.) ftp の場合だけ /ftp/user1 をルートディレクトリとしてログイン
を考えてみると

先の方法の応用なのですが /ftp/user1 に chroot させて実現は可能ですよね
今度は ftpaccessには guest-root を使用します あとユーザ狙い撃ちの為に
guestuserも使用

以下のやり方を使えば取りあえず 任意のディレクトリを ftpのrootにする事は
可能なんですが 少し仕込みが必要です


a.) ftp用ディレクトリの仕込み

(/ftp/user1 と言うディレクトリは既に存在してると仮定)

# cd /ftp/user1
# mkdir bin lib etc
# cp /bin/ls bin/
# cp /lib/ld.so* lib/
# cp /lib/libc.so* lib/

b.) user1ユーザがftpログインで使用するpasswdファイルの仕込み

/ftp/user1/etc/passwd ファイルを作成して下記の1行を追加

user1:x:1000:1000::/:

※ついでに group ファイルもそれらしく作ってやってください

c.) /etc/ftpaccess への仕込み

/etc/ftpaccess に以下の2行を追加


guestuser user1
guest-root /ftp/user1 user1

多分これで user1 でログインすると /ftp/user1 をルートにしてftp出来るはず
です、本来 UNIXのftpは /etc/passwd でログイン先を制御するので同じアカウ
ント名でログイン先を変える事はしないのですが まぁこんなやり方もあるんだ
なと言う事で guest-root に関しては man ftpaccess かな

/etc/passwd に依存しないftpデーモンが他にあるならそれを使うほうが目的に
合うのかもしれませんね

上の例は個別のディレクトリに飛ぶ事を目的にした書き方なので複数ユーザいる
なら

/ftp
/ftp/bin
/ftp/lib
/ftp/etc

/ftp/user1
/ftp/user2

等の様にしてもいいかな 何にしても chroot するので ルートディレクトリに
は bin lib etc をお忘れなく

これで目的は達せそうですか?

-----------------------------------------------------------------
K.Fukebaeu fukebaru@xxxxx

[ URL: http://www.unitworks.jp/hiro/ (URL変りました) ]

投稿者 xml-rpc : 2002年1月 5日 20:10
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/7190
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。