Linux(Sambaを使用)にWindowsフォルダをマウントし、正しい権限を確認する方法は?

Linux(Sambaを使用)にWindowsフォルダをマウントし、正しい権限を確認する方法は?

Windows 7コンピュータとLinuxコンピュータがあります。 Linuxシステムでは、Windowsシステム上のファイルに正しくアクセスできます。しかし、WindowsシステムでLinuxとCygwinの権限を見てみると、同じではありません。

私が理解しているように、ファイルシステム権限自体はアクセス制御リスト(ACL)によって管理され、接続時にCygwinとSambaはこれらの権限をPOSIXファイルシステム権限(ACLのサブセット)にマッピングします。これは正しいですか?これを行うには、何かを有効にする必要がありますかsamba.conf

# Linux machine (incorrect file permissions)
» ll .gitignore
-rwx------ 1 michael users 57 Oct 28 10:41 .gitignore
# Windows machine (via cygwin, correct file permissions)
$ ll .gitignore
-rw-r--r-- 1 hauserra Domain Users 57 Oct 28 10:41 .gitignore

深刻な問題を引き起こすことなく、LinuxでWindowsボックスのファイルを変更できるように、両方のボックスに同じファイル権限言語を使用させる方法はありますか?

答え1

だから私はsmbを使って答えに非常に近いですが、私のコンピュータに戻ったときに他のコンピュータを認識しませんでした。そのソリューションと私が使用した(私の考えではもっと簡単だと思う)ソリューションを説明し、その長所と短所。

私の最初の解決策は、smbにWindows ACLを認識させることで、権限を正しいposix権限に変換することでした。これにより、ファイルを作成したユーザーは表示されません(参照:この問題)。これは許容できる十分な結果を生成します(ファイル権限は2つのシステム間で正しく転送され、Linux側でファイルを変更しても権限は変更されません。これが私が望む目標です)。再起動するとうまくいったら翌日動作が止まったんですね(ネットワーク問題だったと思います)。ディレクトリを自動的にマウントするには、次のようにしました。

#smb.conf
[global]
...
inherit acls = Yes
map acl inherit = Yes
acl group control = yes

smb.confから

#/etc/fstab
//YourServerName/YourSharedFile /mnt/host cifs cifsacl,user=bar,password=foo,workgroup=WorkGroup,ip=your_ip_address_of_server 0 0

パスワードとユーザー名が少なくとも保護されるように認証ファイルを追加することもできます。

しかし、これが最善の解決策ではなかったので、@barrycarterの意見に従ってsshfsを使用することにしました(とても簡単です)。

設定の詳細な説明ここに位置ただし、主な関連コマンドは次のとおりです。

sshfs USERNAME@HOSTNAME_OR_IP:/PATH LOCAL_MOUNT_POINT SSH_OPTIONS

さて、比較してみましょう。今回のベンチマーク実際にsshfsが実際にSambaよりも速いと提案しているようですが、これについては多くの意見があるようです。確かに設定する方がはるかに簡単です。

関連情報