私は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 上でファイルを実行可能にしないようにしてください。