このページの本文へ

前へ 1 2 次へ

サーバトラブル解決のセオリー 第5回

ファイルのロック機構やパーミッションの設定に注意

ファイルサーバのファイルが操作できない

2009年07月24日 09時00分更新

文● のりぞう

  • この記事をはてなブックマークに追加
  • 本文印刷

ネットワーク上にある共有ファイルを操作しようとして、エラーになることがある。たとえば、共有ファイルの内容を変更、削除、名前の変更ができないなどだ。これらの原因を見ていこう。

編集・削除・名前の変更ができない

ファイルがロックされている

-->

 サーバに置かれたファイルを編集しようとすると画面1、画面2のような警告メッセージが表示されることがある。また、ファイルを開いたときに読み取り専用モードだといわれたり、編集結果を保存できなかったりする場合もある。これはファイルロックという仕組みが働いたことによるものだ。複数のプログラムが1つのファイルを同時に開き、それぞれが変更しようとすると内容が競合してファイルの内容が壊れてしまうのだ。

画面1 ワードパッドのエラーダイアログ。ほかのユーザーなどが編集中のファイルはアクセスできない。

画面2 Microsoft Wordの警告ダイアログ。こちらは読み取り専用ファイルとして開くことができる

 ファイルを開いているプログラムが編集を終えて当該のファイルを閉じればロックは解除されるが、そのプログラムが不正終了した場合などにロックがかかったままになってしまうことがある。ファイルを開いていたプログラムがリモートコンピュータで実行されていれば、そのコンピュータをシャットダウンすることでネットワーク接続が切れ、サーバOSはロックを解除する。しかし、サーバ上で動作するプログラムがファイルをロックしたままハングアップした場合などには、そのプログラムを強制終了させなければならない。

 ファイルのロックは、エクスプローラがファイルのメタ情報(画像のサイズや色数など)を取得している場合にも発生する。そして、この処理が途中で異常終了してしまうと、ファイルの削除や移動、編集などができなくなってしまう。こうした場合は通常、Windowsを再起動しなければならない。

必要なアクセス権限がない

 リモートコンピュータ上の共有ファイルにもアクセス権(パーミッション)が設定されている。これを適切に設定しないと、ユーザーのアクセス権限が満たされずにファイルの変更や削除が拒否される。たとえば、作成者以外にファイルの変更を許可しないようサーバを設定していると、当然ほかのユーザーはファイルを変更できない(画面3、画面4)。

画面3 ファイルの変更を許可しないようになっていると、ファイルが保存できない

画面4 上書き保存できなかったファイルのパーミッション

 SambaでSMB/CIFSサーバを運用している場合は、サーバのローカルファイルシステムのパーミッションが適切であるかチェックしよう。画面5のような内容のディレクトリ(フォルダ)をSambaで共有した場合、ユーザー「nori-z」は“test01.txt”の読み取り、編集、削除を行なえるが、“test02.txt”、“test03.txt”は読み取りしかできない。さらに、“test04.txt”は内容を読み取ることもできない。

画面5 Sambaで共有するディレクトリのファイル一覧。test01.txtは「所有者nori-zが読み書き可(rw-)、グループnori-zとその他のユーザーは読み取りのみ可」。同様にtest02.txtは「所有者、グループ、その他のユーザーとも読み取りのみ可(r--)」。test03.txtは「所有者rootは読み書き可、グループrootとその他のユーザーは読み取りのみ可」なので、nori-zというユーザーは読み取りしかできない。test04.txtは「ユーザーrootとグループrootが読み取り可」で、それ以外のユーザーは読み書き、実行とも許可されない

 ファイルサーバで共有リソースを公開する際に適切な設定を行なっているにもかかわらず、ファイルのパーミッションが変更されている場合は、管理者がサーバでローカル作業を行なった際にミスを犯している可能性が高い。

(次ページ、「Sambaのファイルにアクセスできない」」に続く)


 

前へ 1 2 次へ

カテゴリートップへ

この連載の記事