68user's page 掲示板

Prev< No. 4364〜4377> Next  [最新発言に戻る] [過去ログ一覧]
No. 4364 # がちゃぴ 2005/11/08 (火) 15:45:39
初めましてWindowsユーザですが、仕事上 LinuxやCVSを使うことがあります。
コマンドをなかなか覚えられなくて、いつも参考にさせて頂いています。

No. 4365 # hagu 2005/11/08 (火) 18:05:43
>>4353 zsh

凄いです。
変換されました。

No. 4366 # anonymous 2005/11/08 (火) 22:03:49
よくパーミッションでrは読む権利を、wは書く権利を、
xは実行する権利を与えるといいますが、それぞれの権利が
与えられている時、いない時は具体的にどのようなコマンド
が有効であるのか、いまいちはっきり理解できません。
どなたか詳しくをしえてください。

No. 4367 # has 2005/11/09 (水) 00:01:04
>>4366 anonymous
> それぞれの権利が与えられている時、いない時は具体的にどのようなコマンドが
> 有効であるのか
何か哲学的なニオイがするので(?)、そもそも私が答えられる内容でも無い気は
しますがそれでもよければ教えてください。
ええと、ちょっと見た限りでは書き込み中の「有効」の意味がよくわかりません。
もしかしたら具体的に何か目的があるんでしょうか。
あと、パーミッションが与えられているのはプログラム?読み書きするファイル?

No. 4368 # 68user 2005/11/09 (水) 00:14:27
>>4364 がちゃぴ
ありがとうございます。ご意見・ご指摘がありましたら遠慮なくどうぞ。

なお、世の中いろんな人がいますので、文章の一部を削除させていただきました。
削除した部分に関する話題はご遠慮いただきたく思います。ご理解ください。

>>4366 anonymous
紛らわしいのでハンドルを「68user」から「anonymous」と変更しました。
今後は適切なハンドルを使用してください。

No. 4369 # マーブル 2005/11/09 (水) 01:36:27
>>4363 68user
御回答ありがとうございました。
また情報交換ができてうれしく思います、重ねてお礼申し上げます。

>>4367 has
話に割り込んでしまってごめんなさい。
>>4366 anonymous
コマンドが読み書きするファイルのアクセス権限を考慮して判断するのが良いと思います。
例えばmountコマンドでは一般userにデバイスへのアクセス権限がないので(当方FreeBSD)、
コマンドは実行できてもmountはできません。
また許可を与えたい場合、デバイスファイルのパーミッションを変更すれば使用できますが、
いろいろ問題がありそうなので、
http://x68000.q-e-d.net/~68user/unix/pickup?sudo
の方法を取ったりするそうです。

ついでにちょっと変な話。
実行権限がないディレクトリに対して移動(cd)もディレクトリの内容の確認も(ls)もできません。
が、opendir(c言語)を用いいると実行権限がなくても内容の確認ができてしまいます。
なんだか不思議な感じがしませんか?

No. 4370 # 68user 2005/11/09 (水) 02:02:19
>>4369 マーブル
> 実行権限がないディレクトリに対して移動(cd)もディレクトリの内容の確認も(ls)もできません。
> が、opendir(c言語)を用いいると実行権限がなくても内容の確認ができてしまいます。
少々誤解があるようですが、実行権限がないディレクトリに対しては、移動 (cd) は
できませんが、ディレクトリの内容の確認 (ls) はできます (読み込み権限があれば)。
しかし ls -l はこけます。

引数なしの ls が行っていることは opendir(2) なわけですが、opendir(2) は
ディレクトリの下にアクセスしません。ディレクトリエントリを読むだけなので
    % cat ディレクトリ名
相当の処理しかしていません。よって、ディレクトリに対する読み込み権限があれば
ファイル一覧を取得できます (ディレクトリも広義のファイル)。

一方 ls -l は opendir(2) して、取得したファイル名それぞれについて stat(2) する
わけですが、stat(2) するには それぞれのファイルの i-node を知る必要があります。
しかし i-node を知るには、そのファイルが属する上位ディレクトリの実行権限が必要です。

結局のところ、ディレクトリに対する実行権限とは
      「ファイル名から i-node への変換を許可するかどうか」
であり、言い換えると
      「namei(9) を許可するかどうか」
だとわたしは思っていますが、違っていたら誰か教えてください。

No. 4371 # マーブル 2005/11/09 (水) 08:21:56
>>4370 68user
すいません-Fのエイリアス掛かってました。
\lsで動作します、掲示板汚してごめんなさい。

truss ls -F testdirの結果の一部
fchdir(0x5) ERR#13 'Permission denied'
よりディレクトリ内に移動できないということらしいです(FreeBSD)
(Linuxで試したらfstatでのエラーだったのでものによりけりな予感

No. 4372 # 68user 2005/11/09 (水) 11:15:37
~はunixではどのような存在なのですか?

No. 4373 # マーブル 2005/11/09 (水) 13:24:33
>>4368 68user
>>4366 anonymous
は解決したのですか?

No. 4374 # DNS勉強中 2005/11/10 (木) 14:36:15
はじめまして。
学校の課題で、C言語でnslookupみたいな動作をするプログラムを作るように言われ
こちらのサイトを参考に作成させていただいております。

それで一箇所気になったのですが、

http://x68000.q-e-d.net/~68user/net/resolver-3.html
> タイプが TXT なら、そのまま表示します。
> これは多分間違い。
> % ./resolver-1.pl www.jp.freebsd.org version.bind txt chaos
> リソースデータは「&Sorry, no version string is available」と表示されるが、
> dig や nslookup は「Sorry, no version string is available」となります
> (& がない)。
> 先頭の & を削るような規則があるようだが、それが何なのかはわからなかった。

の部分ですが、&の文字コードは0x26(10進数で言う38)。
そしてその後に続く
【Sorry, no version string is available.】
は38文字。
つまりドメイン名の3www8livedoor3com0と同じような意味かなと思います。
そのため先頭の1バイト目を出力しないようにすればdigやnslookupと同じような
表記になるのではと思います。

例) sega.jpを調べるとunknownが帰ってきますが、その中身は
【07 75 6e 6b 6e 6f 77 6e】です。

文字数が32文字以上ないと画面上には何も表示されないので、
それ以下の文字数のところでは結果的にうまく出力されているのかなと思います。
そのため【タイプが TXT なら、そのまま表示します。】ではなく、
【タイプが TXT なら、先頭1バイト以外をそのまま表示します。】かなと思います。
ぜんぜん的外れな事言っていたらすいません。

No. 4375 # DNS勉強中 2005/11/10 (木) 16:55:45
こちらのサイトを参考にresolver-1.plと似たような動作をする
C言語のプログラムを作成したのですが、一箇所分からないところがあったので、
もしお分かりになるようでしたらアドバイスをいただけないでしょうか。

作成ソース(一応問題なく動くと思います)
windows版(CPad 2.31使用)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1052.txt
linux版(gcc 2.96使用)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1053.txt

それで、分からないのは【DNS query 送信時にごみデータが後ろに大量に付く】事です。
ごみが付いてしまう理由は、
DNS query の質問レコードの照会名(可変長)の長さは
実際に名前解決ホスト名を入力されないと分からないので、
char QUERIES[400];と宣言し、そこに名前解決ホスト名を格納しているからです。
そして、その後ろに、タイプとクラスを連結しています。
そのためQUERIES[400]の余った部分がごみデータとなってしまいます。
実際の動作には問題が無いみたいで、
パケットをキャプチャしなければごみが付いているのは分からないのですが、
気持ち悪いので改善したいと思っております。

アドバイスをいただけるようでしたら、どうかよろしくお願いします。

No. 4376 # DNS勉強中 2005/11/10 (木) 16:58:56
たびたびすいません。
No 4375のソースですが、
掲示板から直接クリックするとアップロードしたソースが見えないようなので、
ブラウザを新規に立ち上げてアドレス欄にコピーしてアクセスしていただけますでしょうか。

No. 4377 # Yuusuke 2005/11/10 (木) 18:07:20
テストサーバ:solaris8
本番サーバ :solaris8
ワークステーション間のファイル転送について質問です。
テストサーバで構築したディレクトリを本番サーバに移行しようとしています。
条件としてファイルのパーミッション、ユーザ.グループ、タイムスタンプは
変わらないようにします。
そのため
"tar cvf /tmp/system.tar ."
でアーカイブして"rcp"で本番サーバにアーカイブファイルを転送してファイルを
展開したのですがユーザ.グループが本番サーバのログインユーザのものになって
しまいました。
tarは既存の状態をそのままアーカイブすると思っていたのですがrcpで転送すると
変わってしまうのでしょうか?
よろしくお願いします。

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