Sambaでエクスポートされたファイルにシステム属性を設定する

Sambaでエクスポートされたファイルにシステム属性を設定する

私はSamba共有フォルダをWindowsクライアントにエクスポートするLinuxサーバーを持っています。Linuxシェルからシステム属性を設定する必要があります。Windowsでは、次のように実行します。

attrib +s folder

Linux サーバーでこれを実行するにはどうすればよいですか?

答え1

システム属性は Windows 固有のものです。Linux には同等のものはありません。

Sambaには、Windowsの属性をLinux上の権限にマッピングする方法があります。ただし、Linux の権限は意味が異なるため、混乱が生じる可能性があります。そのため、システム属性と隠し属性はデフォルトではマップされません。

システム属性と隠し属性を使用できるようにするには、Samba 設定 (/etc/samba/smb.confまたは同様の設定、正確なパスはディストリビューションによって異なります) を編集します。セクションでmap systemおよびオプションをオンにします。map hidden[data]


[data]
    map system = yes
    map hidden = yes

次に、システム属性はグループ実行許可ビット(g+x)にマッピングされ、隠し属性はその他の実行許可ビット( )にマッピングされます。したがって、 Windowsでのo+xに相当するものは、attrib +s some.file

chmod g+x some.file

Linux サーバー上。

これは、Linux ( ) 上でファイルを実行可能にするとchmod a+x some.file、Windows 上でそのファイルが隠しファイルおよびシステムファイルになることを意味することに注意してください。したがって、通常は Linux 上でファイルを実行可能にしないようにしてください。

関連情報