共有フォルダの運用パラメーター
ファイル属性に関するパラメーターの利用
Windowsのファイルには、「読み取り専用」「隠しファイル」「アーカイブ」「システムファイル」の4つのファイル属性があります。しかしLinuxのext3上のファイルなどではこの属性は利用していません。
よって、Windowsクライアントでdesktop.iniなど、隠しファイルを表示しない設定を利用していたとしても、Samba共有に置いたフォルダの中では、このファイル属性が有効とならず、隠しファイルが見えてしまうことなどがあります
Linux上で動作するSambaで、この属性を利用するには、以下2つのパラメーターを設定します。
store dos attributes = yes
ea support = yes
「ea support」とはOS/2で利用されていたExtended Attributesの略で、ファイル属性の拡張をサポートするかどうかを判定します。このExtended Attributesは、CentOS 5.2のext3では利用可能ですが、Linux kernelにパッチが適用されている必要があります。利用する場合には、使用中のLinuxでExtended Attributesがサポートされているか確認する必要があります。
force create modeとcreate modeの違い
Solaris 10上のZFSの場合など[ea support]が利用できない場合でも、「map system」「map hidden」「map archive」「map read only」パラメーターを設定することにより、ファイル属性を利用できます。
この場合、ファイルパーミッションがファイル属性にマップされますので、Windowsクライアントからファイル属性を変更すると、Linuxファイルシステム上でパーミッションが変化します。Windows以外のOSとSambaサーバー上のファイルを共有する場合は、その点を考慮する必要があります。
ファイル属性マップを有効にするために、以下のようにパラメーターを設定します。
map archive = yes(デフォルトyes)
yesの場合は、アーカイブ属性がオーナーユーザーの実行ビットにマップされます。この場合create maskに100が含まれている必要があります。
map hidden = yes(デフォルトno)
yesの場合は、隠し属性がotherの実行ビットにマップされます。この場合create maskに001が含まれている必要があります。
map system = yes(デフォルトno)
yesの場合は、システムファイル属性がオーナーグループの実行ビットにマップされます。この場合create maskに010が含まれている必要があります。
map read only = yes(デフォルトyes)
yesに設定し、ファイルオーナーの書き込みビットが無い状態ならば、読み取り専用ファイルとマップされます。ただし、store dos attribuites = yesの場合は、このパラメーターは無効となります。
create mask = 0755(デフォルト0744)
ファイルが作成される場合に、適用可能なパーミッション制限値を設定します。デフォルトの値では、グループとotherの実行ビットが削除される設定ですので、最低でも0711または0755としなければすべてのファイル属性がマップできません。
なお、ここで1つ注意点です。上で紹介した「store dos attributes」と「map~」関連パラメーターは同時に利用できません。「store dos attributes」が利用できない場合にのみ「map~」パラメーターを利用してください。