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

OS:Redhat Linux ES 5.0
/dev/nullファイルのパーミッションがcrw-rw-rw- からsrwxr-xr-xに
変わってしまい、mknodで作り直そうと思いましたが、どうしても
/dev/nullファイルを削除できませんので作り直せない状態です。

# rm -rf /dev/null <-エラーメッセージはない
#ls -l /dev/null
-rw-r--r-- 1 root root 0 7月 17 11:36 /dev/null <-パーミッションが変わっている
#mknod -m 666 /dev/null c 1 3
mknod: `/dev/null': ファイルが存在します
#
どのようにすれば/dev/nullを作り直せるのでしょうか?

A 回答 (3件)

/dev/nullを消そうとした経験がないのでわかりませんが、シングルユーザーモードで試してはどうでしょうか。



あと、/dev/null はディレクトリじゃないので rm の -r オプションは不要です。また、-f オプションもスクリプトの中で使う意味はわかりますが、手動の際に指定するのは悪い癖だと思います。

この回答への補足

ご指摘ありがとうございます。
シングルユーザモードで実行してみます。

補足日時:2008/07/18 11:50
    • good
    • 0

/dev/nullや、/dev/zeroは、OSというより、全てのプログラムで


利用するため、手をつけてはいけない領域ではないでしょうか。
エリアのパッキングやサブルーチンのリターン変数等に使って
いますので、変更すると、システム自体もうそこでおかしく
なってきます。
/dev/~自体手をつけないほうがよいと思いますけど。

この回答への補足

出来るなら私も/dev/nullには手を付けたくありませんが、
ソース型ファイルに変わってしまい、本来の/dev/nullの動きが出来ず
サービスの再起動時等いろんな場面でエラーが発生しています。

補足日時:2008/07/18 09:30
    • good
    • 0

rmとmknodではなくてchmodで良くありませんか?


ってのと、/devは仮想FS(devfs)だと思うのでリブートで元に戻るような気がします。

この回答への補足

chmodでファイルパーミッションを変えられることは知ってますが
ファイルの形式(ソースファイル→キャラクタファイル)に
変換することも可能なんでしょうか?

補足日時:2008/07/18 09:33
    • good
    • 0

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