68user's page 掲示板

Prev< No. 4365〜4370> Next  [最新発言に戻る] [過去ログ一覧]
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) を許可するかどうか」
だとわたしは思っていますが、違っていたら誰か教えてください。

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