- ベストアンサー
RedHat LINUX7.2について質問です
レッドハットリナックスを使用しているのですが、 そのlinuxが入ってる実機でないマシンでtelnetし、useraddをコマンドしてみたのですが 何故かcommand Not Foundと怒られてしまいます。ユーザー追加が出来ません。 実機で触ったときにはすんなり追加できたのですが・・・何がおかしいのでしょうか。 あと、デフォルトのftpサーバ機能についてなのですが、あるユーザーでログインしたときに /home/(user名)/ にログインしますが、この状態からcd ../を実行すると さらに上のディレクトリまで掘る事が出来てしまいます。 気持ち悪いので、そのユーザーディレクトリより上に進ませる事を封じたいのですが、 どうすればいいでしょうか? あまり専門的な事がわからすせ苦心しています。 まだ初めてLINUXをさわりだした所なので、ばからしい質問かも知れませんが 困っています。宜しくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
> デフォルトのFTPDは使えない代物なんですね。 TurboやVineはデフォルトがproftpdだったりします。 今は、Turboあたりが一番楽なのかな?よく初心者向けに勧められているのを見ます。 昔はVineが圧倒的だったのですが。日本語への対応は一番早かったですから。何せ、開発チームが日本人(^^) ちなみに、Vineは知らないですが、Turboは初期設定ではftpdは動作しないようになっていました。SSH(scp)を代わりに使えということでしょう。SSHはパスワードなども暗号化してくれるので、こちらのほうがセキュリティを保ちやすいです。 > ProFTPの導入を検討してみます。 本家のHPにRPMパッケージ化されたものがありました。 URLを書いておきます。 > これなら、私が思っている事をすんなりとすることができるのでしょうか? DefaultRoot directory group名 で、グループ毎にルートディレクトリを設定することができます。 制限をかけたいユーザを一つのグループ(ex. users)にして、 DefaultRoot ~ users などとしてやれば、一度に制限をかけることができます。 制限をかけたくないユーザに対しては、別のグループを設定しておけば、制限はかかりません。
- 参考URL:
- http://www.proftpd.net/
その他の回答 (6)
- inetd
- ベストアンサー率23% (43/184)
下の方で以下のように言われていますがそうではありません。 > フルパスで指定しないとtelnetの場合は駄目なのですね。 telnetかどうかの問題ではないのです。ログイン直後に実行されるスクリプトの中に環境変数 PATH に対する設定を書いておけばフルパスにする必要はありません。 最初に実行されるスクリプトは使用しているシェルによって違います。 bash なら ~/.bash_profile や ~/.bashrc です。man コマンドで調べてみましょう。
- asuca
- ベストアンサー率47% (11786/24626)
Wu-ftpdでログインしたディレクトリのみしかアクセス出来ないように設定する方法が載ったページがありましたので参考にしてください。
- hofuhofu
- ベストアンサー率70% (336/476)
Wu-ftpdは設定したことはないので、ちょっと調べてみました。 /etc/passwdのホームディレクトリの部位を /home/hoge → /home/hoge/./ の様に変更すれば、ユーザhogeはftpでアクセスしたとき、/home/hogeが/として扱われるようになるようです。 ただ、このままですと/home/hogeより上にあるファイルに一切アクセスできなくなるので、lsなどが使えなくなります。 そのため、/home/hoge/以下にlsやら、必要なファイルやらをディレクトリ構造を保ったままコピーしてやらないと、いけないようです。 しかし、この方法ですと各ユーザ毎にこれらの設定を行う必要があり面倒なので、それを回避する方法として、/home/hoge→/home/./hoge/とすることで、/home/を/にし、/home/以下に/home/bin/lsなどと置くことで、ユーザ毎の設定を省略することができます。 ただし、この場合ではパーミッションの設定を考え、適切に行わないと、ユーザ同士のお互いのホームディレクトリが見える、lsはあるのに実行許可がないためlsができない、などの障害が発生します。 そのほかにもftpaccessなども絡んでくるようです。 ややこしいですね(^^; Wu-ftpdは設定が難しいとは、聞いていましたけど。 最近はWu-ftpdよりも、設定が簡単で、セキュリティの面でも比較的安全なproftpdの方が好まれているようです。 > メモ帳か何かで編集してアップロードすればいいのでしょうか?? 可能ですが、WinとUnixでは改行コードが違いますから、asciiモードで転送が行われるように気をつけてください。 設定ファイルではあまり関係ありませんが、日本語が入っている場合には漢字コードも変換する必要があります。 ただUnixを触るのであれば、できればviなどのテキストエディタの使い方も覚えられたほうが良いと思います。少し編集するたびに、転送していたのでは手間ですし、ftpdが止まった時などに復旧もできなるので。
補足
有り難う御座います。これを読む限り、ProFTPを導入する方が正解という感じがしますね。 デフォルトのFTPDは使えない代物なんですね。 ProFTPの導入を検討してみます。これなら、私が思っている事をすんなりとすることができるのでしょうか?
- hofuhofu
- ベストアンサー率70% (336/476)
> 何故かcommand Not Foundと怒られてしまいます。 一般ユーザから、そのままrootになっても$PATHなどは一般ユーザの時のままになっており、sbinにはパスが通っていません。 ハイフン('su -')をつけて、rootになれば実機でログインしたのと同じ状態になります。 > そのユーザーディレクトリより上に進ませる事を封じたいのですが proftpと仮定して。 /etc/proftpd/proftpd.confに DefaultRoot ~ を書き加えてください。 設定ファイルの構造を理解して、変なところに書き加えないように注意してくださいね。
補足
回答有り難う御座います。 ProFTPではなく、Wu-ftpd です。 .confファイルの書き換え方を知らないのですが、 WindowsマシンのローカルにFTPでDLしてきてから メモ帳か何かで編集してアップロードすればいいのでしょうか??
- asuca
- ベストアンサー率47% (11786/24626)
>あとはFTPの設定なんですが、全員、自分のログインしたディレクトリより上位に移動させない方法と、特定のユーザーだけ、移動も閲覧自由にできる といった設定を終えて頂きたいです。 うーんこの設定はやったことがないので自信なしですが、参考URLの設定方法が役に立つのではないでしょうか?
- asuca
- ベストアンサー率47% (11786/24626)
telnetで入ったのだったら.loginファイルなどが反映されませんのでPATHがちゃんと通っていないと言うことではないですか? useraddは/usr/sbin/にあるんじゃなかったでしょうか?そこにPATHを張ってやるか直接フルパスでuseraddコマンドをかけるかすればいいかと思います。 もしくはcshもしくはtcshを一度起動してやったら.cshrcが活きますのでそのその中にPATHを記述しておけば面倒がないです。
補足
asucaさん、早速の回答有り難う御座います。 おっしゃるとおり、rootまで登って、# /usr/sbin/useradd (ユーザー名) で追加できました。フルパスで指定しないとtelnetの場合は駄目なのですね。 あとはFTPの設定なんですが、全員、自分のログインしたディレクトリより 上位に移動させない方法と、特定のユーザーだけ、移動も閲覧自由にできる といった設定を終えて頂きたいです。 (自由移動ユーザーは私が使い、設定ファイルをwindows上で書き換え転送したい為: Linux上の書き換えはややこしいので、vimの使い方もまだ覚えていない為)
お礼
有り難う御座いました。 proftpdを導入してみる事にします。