Я сохраняю большинство своих файлов на поле Ubuntu 14.04 в долях Samba и получаю доступ к ним от клиентских машин Windows 7. Я имел эту всю работу с Ubuntu 11.10 и так или иначе повредил это при перемещении в 14,04. Существует дополнительный слой косвенности в сервере через greyhole (объединение системы хранения JBOD через Samba), но это - только плагин к 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
кроме того, проверьте способ, которым разделы NTFS смонтированы в /etc/fstab
файл. Я должен был добавить default 0 0
до конца моего NTFS, монтируется, тот способ, которым он открыл все полномочия для файлов, чтобы быть доступным. Я поместил пример того, как мое монтирование.
UUID=0A485DBF485DAA69 /media/500GB ntfs default 0 0 UUID=6AAA4323AA42EB61 /media/SGUSB ntfs default 0 0
, Надо надеяться, это помогает.
РЕДАКТИРОВАНИЕ: я полностью забыл, что этот был все еще открыт, и я пропустил что-то. Как оказалось, это - ошибка и может быть исправлено следующими строками:
Workaround: -- /etc/samba/local.conf [global] acl allow execute always = True --
информация может быть найдена в отчете об ошибках здесь .