|
はじまめして UNIXのファイルアクセスでつまづいています。 Aという、所有者がnobody のファイルがあるのですが、あるunixサーバでは webというユーザからアクセス(名前変更)ができます。 ところが、同じOSの別のサーバにあるBという、所有者がnobodyのファイル にはwebというユーザからアクセスできません。 nobodyのファイルはどのユーザでもアクセスできると認識しているのです が、ソフトのインストールやセキュリティの設定などでアクセスできないようにすることが可能なのでしょうか? どなたかご存知の方いらっしゃいましたら教えてください。 |
|
>>2992 68user ご回答ありがとうございます パスワード的なことはやはりcrypt関数を使うことで解決できそうな気がします >> Root権限でコマンドが実行されているような気がします >perl スクリプト中で > print "$<\n"; > print "$>\n"; >の結果のいずれかが 0 なら root 権限を得ています やはり両方とも 0 を返しました このことからRoot権限を得ているのでしょうか? Root権限を与えない方法はどのようにすればよいのでしょうか? よろしくお願いします |
|
> 3003 yuuji WebサーバがApacheならsuEXECを使えばいいと思いますよ。 http://httpd.apache.org/docs/suexec.html |
|
>>2999 hsj ありがとうございます。わかりました。頑張ってみます。 |
|
>>3002 koko > できれば、書き込み時に自分でファイルをロック、アンロックしない、 > 要するにできるだけ楽をしたいです。 これを第一に考えるなら syslog か、syslog-ng を使いましょう。 daemon を立ち上げておけないのなら、open で O_SHLOCK を使うとか (ま、結局ロックしているわけですが)。 また、 > 1.親プロセスでログファイルを開く。 > 2.複数の子プロセスを起動し、親が開いたログファイルにログを出力する。 という形態であれば、普通は pipe(2) して、fork(2) して、子が親にデータを 渡し、親がログに書く、というふうになるでしょう。 http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/links/link-check.pl?rev=HEAD&content-type=text/x-cvsweb-markup は子が親に 1行だけデータを渡す例です。 あるいは親が名前付きパイプを作成し、子がそこに書き込むとか。 いずれにせよ、syslog が使えないなら、syslog 相当のものを 自作する必要はあります。 |
|
>>3003 yuuji > nobodyのファイルはどのユーザでもアクセスできると認識して > いるのですが 誤りです。nobody はただの一ユーザであって、所有者が nobody の ファイルを扱えるかどうかは そのファイルのパーミッションと、ファイルが 置かれているディレクトリのパーミッションによります。 UNIX においては、誰よりも権限が高いユーザは存在しますが (root)、 誰よりも権限が低いユーザというのは存在しません。 >>3004 Japper > このことからRoot権限を得ているのでしょうか? そうです。 > Root権限を与えない方法はどのようにすればよいのでしょうか? suExec の前に、設定を見直した方がよいでしょう。 もし apache ならば、あえてそういうふうに設定しない限り root 権限は得られません。そういう web サーバを使い続けることは 非常に恐いので、まっとうなインストール方法を勉強するか、 web サーバをインストールした人に何をしたのか聞いてみる ことをお勧めします。 # 「デフォルトが root 権限で動く web サーバ」なら正常動作 # なんでしょうが、そんな web サーバは嫌だ。 |
|
こんにちは もうすぐ2003年ですね 仕事でSolaris8をいじるようになって早くも4年目に突入です まだまだ未熟者ですがよろしくお願いします 自宅では2001/01版のSolaris8を「WS440BX」で使ってるのですが 最近I845系のマシン(ペンティアム4系)にUPしようと考えるようになりました 当然ながらチップセットやディスクコントローラ、システムコントローラ等の ドライバを入手する必要があるのですが、苦慮しています 新型機の候補としては「D845GALLY」あたりを考えているのですが 情報等あればよろしくお願いします |
|
EWSのデバイス情報(CPUのクロック数、メインメモリ)を知ることができる UNIXコマンドがありましたら、教えて下さい。 |
|
perlでネットワークプログラムを試作してます。 echoをC/Sで動作する事は出来るようになりましたが、ファイルを ネットワーク越しに転送するにはどうすればいいのでしょうか? 同じくperlによるC/Sです。 |
|
はじめまして。 echoサーバーサンプルを参考にしてPerlでちょっとしたチャットサーバーなんかを作ってます。 そこでいきなり質問なんですが、PerlでBroken Pipeエラーを回避するようにできないでしょうか? Broken Pipeとは存在しないソケットに対して書き込んでしまったときにでるエラーのようで、クライアントが強制切断してしまったときなどは回避できません。 どうにか皆様のお知恵をお借りできませんでしょうか。 |
|
あけましておめでとうございます。kikiです。 本年もよろしくお願い致します。 >>68user様 ずいぶんと古い話で申し訳ありませんが、 >>2956 の解決策をためそうとしましたところ、 1. PATH=../../../../../../../home/foo/bar:$PATH とする。 カレントディレクトリの階層があまりに深くなければ、これでいける。 が、どういう事を意味するのかわかりませんでした。 そして、これはどこで行うのでしょうか? suトロイの実行前の準備としてでしょうか? ご教授よろしくお願いします。 P.S. PATH=.:$PATH にしておくき、suトロイがおいてある場所で、suコマンドを打ち込むと suトロイが実行され、もう一度suコマンドを打つと しっかり/bin/suが実行されますが、 suトロイがおいてある場所以外で同じことをしようとすると suトロイは実行されず、いきなり/bin/suが 実行されました。 コマンドを探す順番は、カレントディレクトリからということでしょうか。 うーん、調べてみます。 |
|
今年こそはちゃんと web を更新するぞ、と。 てなわけで、今年もよろしくお願いします。 >>3009 ELVIS >>3010 しましま 少なくとも僕はわかりません。申し訳ない。 >>3011 とむやむ > ファイルをネットワーク越しに転送するにはどうすればいいのでしょうか? 以下のやりとりが参考になるでしょうか。 >>2827 Tetsu >>2828 68user ftp クライアントと ftp サーバを作るもよし、自分でプロトコルを 決めるもよし、ということです。 >>3012 HIGE > PerlでBroken Pipeエラーを回避するようにできないでしょうか? SIGPIPE をキャッチしてください。使用例はこちら。 http://x68000.startshop.co.jp/~68user/net/http-proxy.html >>3013 kiki > PATH=../../../../../../../home/foo/bar:$PATH とする。 カレントディレクトリが /dir1/dir2/dir3 であるとき、 ../ は /dir1/dir2 です。 ../../ は /dir1 です。 ../../../ は / です。 ../../../../ は / です。 ../../../../../ は / です。 ../../../../../home は /home です。 ../../../../../home/foo は /home/foo です。 ../../../../../home/foo/bar は /home/foo/bar です。 ってことです。 > PATH=.:$PATH > コマンドを探す順番は、カレントディレクトリからということでしょうか。 . はカレントディレクトリですから。 |
|
>>3007 68user ご回答ありがとうございます。 やはり、ファイルに同時書き込みをするにはロック、もしくはそれに相当する制御は欠かせませんね。 素直にsyslogを使用すれば良いのですが都合でsyslogは使用できません。 頂いた参考URL等を参考にしながら対策を検討します。 |
|
★ \(^o^)v 大 発 見 !♪ 〜♪ とっても 参考にさせて頂いて ♪ ~~\(^o^)♪ 〜 夢 と 希望 が 叶いました〜♪ (^o^)/~~ ありがとう |
|
もし、ご存知であれば教えてください。 ファイルの日付を比較して新しいほうのファイルを表示したいです。 サーバが異なる場所(ネットワークには接続できる)に、 それぞれファイルが存在するします。 同じマシンであれば、>find file1 -newer file2 -print で表示されるのです。remshで実行しようとしてもうまくいきません。 ご教授お願いいたします。 |
|
AIX上でファイル内の先頭行と最終行を削除したいのですが UNIXコマンドで行を指定して削除することはできないのでしょうか? ※C言語の処理内で行いたいのでsystem関数で可能な方法 もしご存知であれば教えてください。 よろしくお願いします。 |
|
>>3017 ピョンタン remsh でリモートのファイルのタイムスタンプを表示して、ローカルの 方より若ければ rcp するか、とりあえず別のファイル名で rcp して、 ローカルで比較するか、てな感じで。 >>3018 kenken > AIX上でファイル内の先頭行と最終行を削除したいのですが % tail +2 < file | ??? | tail +2 | ??? でいけた記憶があります。??? はファイルの内容を逆順にする コマンドですが、なんだったっけなー。ど忘れしました。 % cat -n file | tail +2 | sort -r | tail +2 | sort | sed 's/^.......//' てな方法もあります。 まぁファイルサイズが大きいなら perl か awk でさくっと書いた方が よいでしょう。 |
|
ご回答ありがとうございます。 大変助かります。>No.3019(NO3017についての回答) もうひとつ教えてください。ファイルの タイムスタンプを取得するのに、 (1)Jan 9 2001 ← 2001/01/09 (2)Dec 10 13:56 ← 2002/12/10 (3)Jun 1 15:00 ← 2003/01/01 というふうに統一性がありません。 特に、(2),(3)だったらどうやって比べればいいのでしょうか? 申し訳ありませんが教えて下さい。 |
|
>>3020 ピョンタン % ls -lT % ls --fulltime -l % perl -e 'printf "%d\n", (stat("/foo/bar/baz"))[9]' などなど。 |