Я использую сервер CentOS с Samba. К локальной сети подключен один ПК с Windows 7, остальные - Mac и Linux. На компьютерах Mac этой проблемы нет, но на ПК с Windows, когда пользователь пытается переместить файл в том же общем ресурсе из одной папки в другую, он не «перемещает» их. Он делает копию файла в место назначения и не удаляет исходный файл.
Это происходит не все время, но, похоже, это происходит чаще, когда файл создается на одном из компьютеров Mac (на всех работает El Capitan). Проблема не возникает, когда пользователь ПК перемещает созданный им файл.
Что я могу попробовать решить эту проблему?
Может быть, это проблема с файлом smb.conf? Как его настроить так, чтобы все пользователи файлового сервера имели доступ для чтения и записи ко всем файлам в общей папке?
Меня очень озадачивает то, что это не происходит постоянно, даже если у файлов один и тот же владелец / группа и права доступа.
Что мне нужно сделать в Windows 7, чтобы убедиться, что клиент в данный момент работает?
Выпуск CentOS 6.7 (финальная) Samba версии 3.6.23-24.el6_7
Общий ресурс имеет разрешения 0755 и принадлежит группе smbuser и smbuser.
Папка в общей папке имеет разрешение 0775, тот же владелец / группа, что и выше.
Фактический файл имеет разрешение 0644 и принадлежит корню группы. Однако в файле smb.conf все принудительно рутируется (я считаю):
[global]
workgroup = workgroup
netbios name = SERVER
browseable = no
available = no
wins support = yes
local master = yes
[SERVER]
comment = File Server
browseable = yes
valid users = smbuser,nobody,edward
force user = root
writeable = yes
path = /home/share
available = yes
Каждый (на Mac) имеет доступ через пользователя smbuser с одним и тем же паролем.
ПК с Windows 7, в котором я не совсем уверен, так как я так давно не устанавливал его, я думал, что он тоже использует smbuser. Но теперь я не могу найти, где эта информация находится на ПК, чтобы проверить это, или стереть ее и повторно ввести. Но если все будут «force user = root», разве это не значит, что все они будут действовать как «root»?
Я провел тест, в котором компьютер создал папку и файл в общей папке, и они принадлежат пользователю root и той же группе.
Если у меня нет этой настройки, пожалуйста, дайте мне знать. Нам нужно, чтобы все рабочие станции могли читать / писать одни и те же файлы. Нет причин, по которым он принадлежит конкретному пользователю.
Пара способов устранить проблемы с поведением Samba, которое вы описываете.
strace
для отслеживания системных вызовов от пользователя smbd
обработать. Глава 14 руководства разработчика Samba описывает Отслеживание системных вызовов sambasmbstatus
покажет текущие соединения samba и oplocks.