Windows XP でドメインログオンするとメモ帳が起動する

提供:Samba-JP
2009年11月18日 (水) 15:06時点におけるOdagiri (トーク | 投稿記録)による版
ナビゲーションに移動検索に移動
KB番号 J0075
最終更新日 2003/02/11
作成者 たかはしもとのぶ
最終更新者

対象

この文書は、以下のプロダクトに付いて説明したものです。

  • Samba 3.x 系列
  • Samba 2.2 系列
  • Samba 2.0 系列
  • Windows XP Professional/Vista/7/2008
  • Windows 2000 VERSIONS

概要

Windows XP Professional や Windows 2000 から Samba で構築したドメインにログオンすると、メモ帳が起動します。メモ帳内には以下のような文字列が表示されています。

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21787

原因

これは、Samba の仕様上の制限になります。

上記は Desktop.ini という名称で「スタートアップ」フォルダ内に存在するファイルの内容になります。

通常このファイルはシステム属性と隠し属性が付与されています。しかし Samba のデフォルトでは、map hidden や map system パラメータが No となっているため、これらの属性は無視されます。

そのため、移動プロファイルが有効になっており、かつ移動プロファイルの保存先が Samba サーバ上になっている場合は、ファイルが通常のファイルとして扱われてしまい、「スタートアップ」フォルダ内に存在する場合は、自動起動の対象となってしまいます。

対処策

smb.confに以下の設定をすることにより、この問題に対処することが可能です。

  1. map hidden=yes , map system=yes とする
  2. もしくはstore dos attributes = yes とする(map hidden,map systemと両方設定しないこと)
    これにより、Samba の共有上のファイルで隠し属性やシステム属性がサポートされるようになります。 なお、これらのパラメータは、各々UNIX上のファイルのパーミッションのworldの実行権、groupの実行権に対応しますので注意してください。

ただし、map hidden,map systemを指定した場合、すでにクライアント上でキャッシュされている Desktop.ini ファイルについては、上記属性が設定されていないため、手作業で Desktop.ini ファイルに対して

chmod +x Desktop.ini

などを発行して、隠し属性やシステム属性を設定した上で、

touch desktop.ini

などを発行して、ファイルの最終更新日を更新することにより、クライアント上のファイルが更新されるように設定する必要があります。

この技術情報は samba-jp:13947 からの一連のスレッドの議論を元に作成されています。