ほとんどのファイルをSamba共有のUbuntu 14.04ボックスに保存し、Windows 7クライアントマシンからアクセスします。私はこれをすべてUbuntu 11.10で動作させていましたが、14.04への移行時に何らかの理由でこれを壊しました。グレイホール(Sambaを介したjbodストレージプーリング)を介してサーバー内に追加の間接層がありますが、これはSambaのプラグインに過ぎず、権限は変更しません。
問題:
「Windowsは\\ server\Software\Internet\WinApps\Multimedia\SetupProg.exeにアクセスできません。\\ server\Software\Internet\WinApps\Multimedia\SetupProg.exeにアクセスする権限がありません。」
Windowsは、EXEで次のアクセス許可を確認します。
Everyone: Read
root (Unix User\root): Read & Execute, Read, Write, Special
sambashare (Unix Group\sambashare): Read, Write
私は、グループ「sambashare」を、Samba共有を介してアクセスするすべてのユーザーの共通グループとして使用します。ここに見られるように粘着性があるビットを設定します:
drwsrwsr-x 31 root sambashare 12288 Apr 25 20:11 ../
したがって、私は一貫してowner = root、group = sambashareを取得します。問題ありません。
サーバー側から見ると:
$ ls -l /mnt/lsi11/shares/Software/Internet/WinApps/Multimedia
lrwxrwxrwx 1 root sambashare 69 Apr 25 16:14 SetupProg.exe -> /mnt/lsi4/gh/Software/Internet/WinApps/Multimedia/SetupProg.exe
$ ls -l /mnt/lsi4/gh/Software/Internet/WinApps/Multimedia
-rwxrw-r-- 1 root sambashare 11800240 Apr 25 15:23 SetupProg.exe
グループ実行ビットが設定されていません。
私が持っている共有のsmb.confを見る(@Terranceのアイテムを含む):
[Global]
wide links = yes
unix extensions = no
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
wins support = yes
dns proxy = no
name resolve order = lmhosts Host wins bcast
log file = /var/log/samba/log.%m
max log size = 5000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
encrypt passwords = true
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = no
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
printing = bsd
printcap name = /dev/null
usershare allow guests = yes
follow symlinks = yes
ntlm auth = no
lanman auth = no
client ntlmv2 auth = yes
usershare owner only = no
[Software]
comment = Software files
browsable = yes
path = /mnt/lsi11/shares/Software
read only = no
valid users = user1 user2
guest ok = no
inherit owner = yes
inherit permissions = yes
dfree command = /usr/bin/greyhole-dfree
vfs objects = greyhole
Linuxから実行ビットを手動で設定し、既存のファイルを修正できます。どこに突っ込むか提案があれば役に立つでしょう。
[global]
の/etc/samba/smb.conf
セクションに、次の行を追加します。
[global] usershare owner only = false unix extensions = no follow symlinks = yes wide links = yes ntlm auth = no lanman auth = no client ntlmv2 auth = yes
また、/etc/fstab
ファイルでNTFSパーティションがマウントされる方法を確認します。 NTFSマウントの最後にdefault 0 0
を追加する必要がありました。これにより、ファイルにアクセスできるすべてのアクセス許可が開かれました。私のマウントの例を示します。
UUID = 0A485DBF485DAA69/media/500GB ntfs default 0 0 UUID = 6AAA4323AA42EB61/media/SGUSB ntfs default 0 0
これがお役に立てば幸いです。
EDIT:これがまだ開いていたことを完全に忘れてしまい、何かを見逃しました。結局のところ、これはバグであり、次の行で修正できます。
回避策: -/etc/samba/local.conf [global] acl allow execute always = True -
情報はバグレポートにあります here 。