sambaでファイルを開くと更新日時が変更される

https://atmarkit.itmedia.co.jp/bbs/phpBB/viewtopic.php?topic=45614&forum=10

投稿者 投稿内容
だいもん
常連さん
会議室デビュー日: 2006/03/10
投稿数: 23
投稿日時: 2008-07-14 14:03
いつもお世話になっております。

sambaサーバのExcel、Wordファイルを開いただけで、
ファイルの更新日時が更新されてしまうのですが、
設定でそのような動作を回避できますでしょうか?
毎回ではないのですが、時々そういう現象が発生します。
何か考えられる設定等ありましたらご指摘お願いします。

【設定内容】
[global]
coding system = hex
client code page = 932
workgroup = WORKGROUP
netbios name = SERVER
encrypt passwords = Yes
null passwords = Yes
load printers = No
printcap name =
show add printer wizard = No
os level = 65
wins support = Yes
create mask = 0770
directory mask = 0770
print command =
lpq command =
lprm command =
mangle case = Yes
oplocks = No

【バージョン情報】
Samba:samba2.2.11
クライアントOS:Windows2000
Excel、Word:Office2000

rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-07-14 16:11
今の現場で、ちょうど同じ現象にあっているので調べてみました。
結論からいうと、dos filetimes = yes という設定を追加するとよいようです。
(= True と書いてあるサイトもありました。詳しくはドキュメントを参照してください)

引用:

だいもんさんの書き込み (2008-07-14 14:03) より:

sambaサーバのExcel、Wordファイルを開いただけで、
ファイルの更新日時が更新されてしまうのですが、
設定でそのような動作を回避できますでしょうか?
毎回ではないのですが、時々そういう現象が発生します。

以下、ぐぐって調べた結果をもとにした私なりの解釈です。

ローカルPC上にあるExcelやWorkのファイルを開くと、開いたときに更新日時が新しくなり、何も変更せずにファイルを閉じると更新日時が元に戻る、という動きをするようです。
samba上に置いたファイルでファイルの作成者とは別のユーザが同じことをやると、更新日時を元に戻そうとするときに権限の問題で操作できず、新しい日時のままになってしまうという現象のようです。
実際に試してみたところ、自分で置いたファイルを開いた場合は大丈夫でした。

# 原因はわかったけど、うちの現場はずっとこのままなんだろうな…しくしく

※文章を若干修正

[ メッセージ編集済み 編集者: rain 編集日時 2008-07-14 16:14 ]
だいもん
常連さん
会議室デビュー日: 2006/03/10
投稿数: 23
投稿日時: 2008-07-15 13:09
早速の回答ありがとうございます。

お蔭様で、設定を適用し現象が改善されました。

非常に助かりました。ありがとうございました。

 

===================================================-

http://www.samba.gr.jp/project/translation/current/htmldocs/manpages/smb.conf.5.html

dos filetimes (S)
DOS や Windows では、ファイルに書き込み権のあるユーザーが、 ファイルのタイムスタンプを変更することが可能である。POSIXの仕様では、 ファイルの所有者かrootのみがタイムスタンプを変更できる。Sambaの既定値は、DOSの 仕様をエミュレートし、smbdの実効ユーザーが、 ファイルの所有者でなくても、タイムスタンプの変更を可能にする。 Microsoft Office 2000 以降で行なわれた変更に対応するため、Samba 3.0.14 以降では 既定値が「no」から「yes」に変更された。このパラメーターが「yes」になっていない 場合、ファイルが複数のユーザー間で共用されていると、Microsoft Excel はファイルが 他のユーザーによって変更されたという警告のダイアログボックスを表示してしまう。

既定値: dos filetimes = yes

Linux、Netatalk、Samba、NFSを使用したファイルサーバーについて研究・運用しています。

fsをフォローする
参考リンク

コメント