У меня есть следующий конфиг для Samba:

[global]
  workgroup = WORKGROUP
  netbios name = z
  log level = 0 vfs:0
  syslog = 0
  max log size = 0
  load printers = No
  printcap name = /dev/null
  disable spoolss = Yes
  preload = share
  default service = share
  guest ok = Yes
  security = user
  map to guest = Bad User
  guest account = ibm86

И следующая доля:

[data]
  force group = ibm86
  path = /data
  writeable = yes
  guest ok = yes
  browseable = yes

Я пытаюсь поделиться каталогом /data в моей сети, чтобы они были доступны для записи всем.

Теперь я могу прочитать все файлы на диске, но не могу нигде написать. Из Windows я получаю "Вам нужно разрешение для выполнения этого действия".

Как сопоставленный пользователь, я могу читать / писать в этот каталог без каких-либо проблем:

[ibm86@z ~]$ stat /data
  File: ‘/data’
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 900h/2304d      Inode: 2           Links: 7
Access: (0755/drwxr-xr-x)  Uid: ( 1000/   ibm86)   Gid: ( 1000/   ibm86)
Access: 2015-04-03 05:09:28.631608867 +0300
Modify: 2015-04-03 05:03:58.843604604 +0300
Change: 2015-04-03 05:09:22.783608792 +0300
 Birth: -

[ibm86@z ~]$ cd /data
[ibm86@z /data]$ touch a
[ibm86@z /data]$ ls -l a
-rw-rw-r-- 1 ibm86 ibm86 0 Apr  3 05:23 a

Итак, что дает? Что я делаю неправильно? Раньше это прекрасно работало с security = share но после обновления Ubuntu с Samba 2.x это не сработало вообще. Я в настоящее время на Version 4.1.6-Ubuntu .

1 ответ1

0

вам также нужно добавить force user = someusername . Как и в текущей конфигурации, права доступа к файлу unix не позволяют одному пользователю изменять файл других пользователей. Если вы хотите, чтобы разные пользователи могли записывать все файлы в общем ресурсе, вам нужно назначить как пользователя, так и группу, чтобы все файлы в общем ресурсе принадлежали одному и тому же пользователю, у которого затем будет разрешение на запись. Я обычно так и делаю (имя пользователя и группы будет зависеть от вашего дистрибутива, но обычно это один из никого / noone / nogroup / nouser):

force user = nobody
force group = nogroup

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .