68user's page 掲示板

Prev< No. 2544〜2557> Next  [最新発言に戻る] [過去ログ一覧]
No. 2544 # Hiro [E-mail] 2002/02/27 (水) 09:44:14
>>2536 68user
報告
おかげさまで、netscapeのインストール、できました。
なお、先に入れてしまった日本語 locale 用は、pkgrmコマンドでアンインストールしてから本体をインストールしました。それからnetscapeを立ち上げたら、なぜかメニューも日本語化されていました?pkgrmでの削除では、すべてを削除したわけではないのかもしれないので?残存ファイルで日本語されているのか・・?
とにもかくにも、前のhotjavaより軽いし、なんとか動いて嬉しいです^^
ありがとうございました。

その後、tomcatを起動してブラウザからみたところ、examplesの動作確認等、簡単なところまではできました。
取り急ぎご報告まで。

No. 2545 # 小僧 2002/02/27 (水) 10:14:12
>>2543 68user

返信、ありがとうございます。
>> cat telnet_file | telnet
>こういうふうに使える telnet ってあるんでしょうか。どこかに
>書いてあったのを参考に作っておられますか?
いえ、どこにも記述されていません。
FTPで同じ方法を使っているシェルがあったので、
それを参考にして作ってみました。

68uesrさんが言われた(echo 〜)の方法で
多分うまくいくと思います。
貴重なアドバイス、ありがとうございました。

rsh、sshが使えれば楽なんですが、
r系コマンドはセキュリティ上、
ssh等は自分の知識不足のため、お客様へ説明が出来なく
(セキュリティに関する部分)Telnetでシェルを
記述する事になっているのです。

過去ログの方も参考にしながら、後は自分で書いていこうと思います。
ありがとうございました。


掲示板のレスの表示がうまくいかないかもしれませんが、
ご容赦下さい。

No. 2546 # 小僧 2002/02/28 (木) 12:57:47
お世話になります、小僧です。

先日は、Telnetで質問させて頂き、ありがとうございました。
その後、仕様変更に伴い、rsh、rcpコマンドを使用する事になりました。
そこで、新たに疑問が発生したので、質問させて頂きます。


このホームページの"Unixの部屋"の.rhostsに関する内容の所です。
以下、抜粋させていただきます。

----- 抜粋 Start -----
それとは逆に、hoge.fuga.com の ~/.rhosts に

foo.bar.com user1

と書いておくと、foo.bar.com にログインしているとき、hoge.fuga.com に対して、
rcp・rsh・ノーパスワードでの rlogin を使うことができる。
----- 抜粋 End -----

記述してある条件のもと、上記の設定を行う場合、
~/のディレクトリは、User2に記述するとして、
その場合、User1がhoge.fugu.comホストに対して
rshを行った場合、実行ユーザはUser2になるのでしょうか?

説明が分かり辛いと思いますが、
ご教示して頂ければ幸いです。

No. 2547 # CZ 2002/02/28 (木) 18:51:51
先ほどUNIXの部屋で `ログ' を全文検索したのですが、
コマンドに本文がないと改行されないのが気になりました。

例)
        astrolog 占星術のプログラムらしい bison 構文解析パーサ生成プログラム

根本的な解決策は思いつきませんが、とりあえずは
本文がない場合は「お尻P」を付ければいいのかな?

# UNIXの部屋に長いことお世話になっていながら
# htmlファイルの存在を全く意識していなかった
# ことに気づいた今日この頃です。

No. 2548 # 68user 2002/03/01 (金) 01:28:31
>>2546 小僧
> その場合、User1がhoge.fugu.comホストに対して
> rshを行った場合、実行ユーザはUser2になるのでしょうか?
そうです。foo.bar.com に user1 としてログインし、
    % rsh -l user2 hoge.fuga.com /usr/bin/id
などとすれば確認できます。

>>2547 CZ
ご指摘ありがとうございます。</P> を付けるようにしました。
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/unix/script/make-html

No. 2549 # CZ 2002/03/01 (金) 11:58:44
こんにちは。質問があります。

標準出力と標準エラー出力を画面に出力しつつ
エラー出力のみをファイルに保存したいのですが
shと標準的なUNIXのコマンドを使って実現可能な
ものなのでしょうか。

これまでに試したのは以下のような方法です。

--- test.sh ---
#!/bin/sh

echo stdout
echo stderr 1>&2
---

[その1]
        $ ./test.sh 2>error.log
    エラーが画面出力されないので×
    いざとなれば別の仮想端末で
        $ tail -f error.log
    としてもいいのですが。

[その2]
        $ ./tesu.sh 2>&1 | tee error.log
    エラー以外の出力も保存されるので×

No. 2550 # 68user 2002/03/01 (金) 12:44:49
>>2549 CZ
http://www.ainet.or.jp/~inoue/memo/sh-fd.html などを読みつつ
考えた結果、
    % (./test.sh > /dev/tty) 2>&1 | tee error.log
と、サブシェルを使わないとできないんじゃないか、という
結論になりましたがどうでしょう。

No. 2551 # CZ 2002/03/01 (金) 13:49:52
>>2550 68user さん
なるほど。
ttyでstdoutを出力してしまえば,
stderrが後に残るというわけですね。
(正しい表現が分かっていませんが。)

ありがとうございました。

No. 2552 # stone_free 2002/03/07 (木) 00:17:39
こんにちは。
今日、こちらのページをみて、suidというものを使えば、
とあるCGIを「nobodyじゃない権限で実行させたい」と
いう願いがかなうということがわかり、早速試してみました。
まず、こちらにサンプルでおいてあるwhoami.cgiをそのまま設置して
パーミッションをrwsr-xr-xとしたところうまく動きました。
その後、自作のCGI(nobodyでは動かしたことがあるもの)を同様に
nobodyでないユーザで動かそうと思ったら「Internal Server Error」
となってしまいました。

それで、うまくうごいた実績のあるwhoami.cgiを改造しながら原因を探した
ところ、どうやら「require 'jcode.pl';」を書いてしまうと
「Internal Server Error」となってしまうということがわかりました。
require 'jcode.pl';行をコメントアウトすれば動きます。

なんとか、この一行を含んでいるものも、setuidして動かすことは出来ない
ものでしょうか。
なにかよい方法がございましたらご教示ください。

宜しくお願い申し上げます。

No. 2553 # 68user 2002/03/07 (木) 13:33:42
>>2552 stone_free
まず、
    #!/usr/bin/perl
    require 'jcode.pl';
このスクリプトをコマンドラインから動かして下さい。カレント
ディレクトリに jcode.pl があればちゃんと動くでしょう。

suid したスクリプトを実行すると、perl は自動的に汚染モード
(taint mode) に切り替わります。いちいちスクリプトを suid して
web 経由で実行するのは面倒なので、perl に -T オプションを付けて
汚染モードで動作させます。
    #!/usr/bin/perl -T
    require 'jcode.pl';
今度は jcode.pl が見付からない、と言われるはずです。

require がライブラリを探すパスは @INC で設定されていますので、今度は
    #!/usr/bin/perl
    print "@INC\n";

    #!/usr/bin/perl -T
    print "@INC\n";
で違いを調べます。

#  perl -e 'print "@INC\n"'
#  perl -Te 'print "@INC\n"'
# としてもいいです。

すると、上の方では @INC の最後に `.' (カレントディレクトリ) が含まれて
いますが、-T を付けると `.' が含まれていないことがわかります。ドキュメント化
されていないのかもしれませんが、これは汚染モードの仕様なのでしょう。

というわけで、
    require './jcode.pl';
    require '/foo/bar/jcode.pl';
などと、@INC に頼らず require するか、require する前に
    push(@INC, '.');
すれば解決です。


その他、suidperl で動かすと PATH だとか umask だとかで文句を
言われることがあるかもしれませんが、いきなりブラウザ上で動作を
検証することはせず、必ず -T 付でコマンドラインから動作を確かめる
ようにして下さい。

No. 2554 # たこ。 2002/03/07 (木) 18:41:52
こんにちわ。早速なんですけど、教えて下さい。

以下のことを行った場合、
(1)javaのClassファイルをHP-UNIX上でコンパイル後、圧縮。
(2)windows2000にダウンロード後、CDに焼く。
(3)Solarisで解凍し、実行環境に投入。

で、Solarisで正常に動作するでしょうか?
javaだから出来るような気もするんですけど、やっぱりリコンパイルは必要な気もして。
よろしくお願いします。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2555 # CZ 2002/03/07 (木) 21:45:24
ひとつ気づいたこと。

これまでずっと,tar + gzip 形式のファイルを展開するのに
    % tar zxvf hoge.tar.gz
といった順序でオプションを指定していました。

ところが,GNU Tar のマニュアルを見ると,
こんなことが書いてありました。

<http://www.linux.or.jp/JM/html/GNU_tar/man1/tar.1.html>
| tar への最初の引数は、オプション Acdrtux のいずれかでなくてはならない。
| この後にはどのオプション機能を指定する事も出来る。

最初の記述法は厳密に言うと間違いということに
なりそうなんですが,どんなものでしょうか。

No. 2556 # stone_free 2002/03/07 (木) 22:46:03
>>2553 68user
68userさん、有難うございました。
大変参考になりました。
おかげさまで、動かすことができました。
感謝感激です。

もうひとつ、教えていただいていいでしょうか。
今回の手順のひとつに
> perl に -T オプションを付けて汚染モードで動作させます。
> #!/usr/bin/perl -T
> require 'jcode.pl';
> 今度は jcode.pl が見付からない、と言われるはずです。
とありましたが、このとおりファイルに書いて
# perl test.cgi
としてコマンドラインで実行してみたのですが、
Too late for "-T" option at test.cgi line 1.
と出てしまいました。
#!/usr/bin/perlの後にオプションをつける場合は、クオートか
なにかでくくらないといけないのでしょうか。

また、「汚染モード」という物騒な名前はなにか訳があるのでしょうか。
やはり、本来のユーザと違う権限で実行できてしまうから危険である
ということでしょうか。

No. 2557 # 68user 2002/03/07 (木) 23:13:48
>>2554 たこ。
> で、Solarisで正常に動作するでしょうか?
Java のバージョンが合っていれば正常に動作するんじゃないでしょうか。

まぁ僕なら怖いので、Solaris でコンパイルして生成された class
ファイルを比較してみます。


>>2555 CZ
> tar への最初の引数は、オプション Acdrtux のいずれかでなくてはならない。
原文は
    The first argument to tar must be one of the options: Acdrtux
なので誤訳だと思います。
    tar に与える最初の引数の中には、必ず Acdrtux のうちの 1つを
    指定しなければならない
あたりでどうでしょうね。って、自信はないのですが。

Prev< No. 2544〜2557> Next  [最新発言に戻る] [過去ログ一覧]