- 締切済み
ファイル属性をデフォルト(初期状態)に戻すことはできますか?(solaris9)
solaris9のサーバの環境構築をしているのですが、 操作ミスをしてしまい、/var 以下にあるファイル及びディレクトリの属性をすべて777にしてしまいました。 打ってしまったコマンド chmod -R 777 /var/ もちろんファイル一つずつ再度指定すればなおすことはできますが、かなりの量があるのでかなり厳しいです。 元の通りにもどすよい方法はありますでしょうか。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Tacosan
- ベストアンサー率23% (3656/15482)
戦略として, もう一方で「chmod パーミッション ファイル名」という行がならぶようなファイルを作って, それを sh に与える方針でいきます: GNU find が使えれば find /var -printf 'chmod %m "%p"\n' で一瞬なんだけど, Solaris 9 だと多分 GNU じゃないですよねぇ. for u in 0 1 2 3 4 5 6 7; do for g in 0 1 2 3 4 5 6 7; do for o in 0 1 2 3 4 5 6 7; do m=$u$g$o find /var -perm $m |sed -e "s/^/chmod $m \"/; s/\$/\"/" done done done とか.... 多分これでいいと思うけど, 自信はありません.
- Tacosan
- ベストアンサー率23% (3656/15482)
「元の通り」(あるいは「初期の状態」) がわかっていればなんとでもなりますけど, それは大丈夫なんでしょうか? もちろんわかっていても手作業になることは多い (ファイルが残っていればコマンドを駆使して処理できるかもしれない) んですが.
お礼
続・回答ありがとうございます。 属性だけ変わってしまっただけで、ファイルはそのまま残っています。 別のマシンがあるので初期の属性もわかるのですが、これを一つずつchmodで直していくのはかなり大変なんですよね・・・。 なので何か複数同時または一括で属性を変えられる方法が見つからないかと思い、質問させていただきました。 よろしくお願いいたします。
- Tacosan
- ベストアンサー率23% (3656/15482)
「元の通り」というのがどういう状態かによるんじゃないかなぁ? そのディレクトリの下にはファイルとディレクトリしかなく, かつファイルは 644, ディレクトリは 755 でいいというなら find でいけるけど.
お礼
回答ありがとうございます。 /var 以下をすべて初期の状態に戻したいと思ってます。 その変更ならfindでいけるのですか? ちょっと調べてみます。ありがとうございました。
お礼
連絡が遅れて申し訳ありません。 上記方法でやってみましたが、うまくいかなかったので結局手作業で変更することにしました。 最後までお付き合いいただいてありがとうございました。