プロが教えるわが家の防犯対策術!

SunOS 5.10を使っていますがchownでファイルの所有者変更をしたいのですが、所有者で実行しても「所有者ではありません。」とメッセージがでてエラーとなります
manで見ると
「ファイルの所有者(またはスーパーユーザー)だけが、ファイルの所有者を変更できます。
オペレーティングシステムは所有者の変更を制限するコンフィギュレーションオプション{_POSIX_CHOWN_RESTRICTED}を持っています。
このオプションが有効なときは、ファイルの所有者はそのファイルの所有者IDを変更することができません。
このオプションに関係なく、スーパーユーザーだけが所有者IDを変更できます。コンフィギュレーションオプションを設定する場合は、
/etc/systemファイルに次の行を挿入してください。
set rstchown = 1
このオプションを無効にする場合は、/etc/system ファイルに次の行を挿入してください。
set rstchown = 0
デフォルトでは{_POSIX_CHOWN_RESTRICTED}は有効です。system(4)とfpathconf(2)を参照してください。」
と書いてあり所有者でも使えそうですが、使える方法がmanで見てもわかりません。

A 回答 (3件)

オンラインのマニュアルを読んだら (英語の) system(4) の最後にこんな記述がありました:


Notes
The /etc/system file is read only once, at boot time.
ちゃんと man に書いてあるやん.

この回答への補足

すいません。man chown で見る限り
「デフォルトでは{_POSIX_CHOWN_RESTRICTED} は有効です。system(4) とfpathconf(2)
を参照してください。」
とは書いてありました。
system(4)へのたどりつき方がわかりませんでした。
man -s 4 system
でいけるのですね知りませんでした・・・
翻訳すると
ブート時刻に、/etc/systemファイルは一度だけ読まれます。
ですね。
set rstchown=0
と/etc/systemに記述してリブートすれば所有者でも使用できるという事になるようですね。セキュリティの問題はあるみたいですが。
色々ありがとうございました。初心者なので助かりました。

補足日時:2009/04/16 10:28
    • good
    • 0

最近 SunOS には全然触っていないのでなんともですが, /etc/system は書き換えるだけじゃダメで再起動する必要がある

とか, そんなことはないですかね.

この回答への補足

hostsやpasswdなどのファイルへの追加は編集した後すぐに使用できるようになるので再起動は必要ないと思うんですけどね・・・
manにも書いていないし・・・
ただ環境変数にsetですよね?manの追加してくださいって所は。
となるとsystemがいつ読み込まれるかってことになるんですかね?
少なくともchownコマンドがsystemファイルを見ていてさらに
rstchownの環境変数を見てるって事になるはずですよね。
他のUNIX関係のコマンド紹介のようなサイトでスーパーユーザ以外
使えないと書いてあるところもあるのですが、それだったらmanのような
書き方しないよなぁ~って思ったのですが。

補足日時:2009/04/15 00:32
    • good
    • 0

その man の文章をよく読めば, 「使える方法が man に書いてある」ことが分かります. 実際,


・デフォルトでは所有者であっても chown できない
・コンフィギュレーションオプションを変更すれば所有者が chown できるようになる
・そのためには /etc/system を変更しなければならない
と書いてありますね.

この回答への補足

Tacosanさん回答ありがとうございます。
補足です。
管理者でもなくあまり詳しくないのですが、
確かに今デフォルト状態の為使用できないようです。
「このオプションを無効にする場合は、/etc/system ファイルに次の行を挿入してください。
set rstchown = 0」
とあるので、実際/etc/system ファイルに上記setを追加したのですが
結果は同じでした。

補足日時:2009/04/14 18:22
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!