LINUX.ORG.RU
ФорумAdmin

Gentoo samba совместное использование файлов

 ,


0

1

уже недели 2 неспешно гуглю, читаю маны и пробую, но дедлайн уже почти наступил потому задаю уже тут возможно нубский, но сильно интересующий меня вопрос. Находил подобные темы. их решения мне не помогли

С вступлением закончил теперь к сути: Собрана почти свежая гента, собрана самба 3.6.9. шары, юзвери настроены, тома примонтированы, крон делает нужные бекапы и чистит мусор. Конфиг без нареканий принимается tesparm'ом в логах smbd пусто Но не работают блокировками.

Пример:

На данный момент я могу зайти на шару, создать документ( пускай будет обычный текстовый) открыть блокнотом внести изменения, открыть с другой другой машины этот же документ и он тоже открывается для записи. В итоге кто последний жмакнул на сохранить такой документ и остается. Ну и такие приятности что пока открыты эти документы с 3й машины можно вообще этот документ удалить или удалить папку в которой находится этот документ вместе с ним самим. В сети есть куча вариантов конфигов с включением выключение разных типов блокировок. Но ни курение конфигов ни чтение мана по самбе результата увы не дает. Вообще у меня начинает появляться подозрения что возможно я собрал самбу или вообще ядро с неправильными флагами.

мой мейк конфиг

CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
MAKEOPTS="-j3"
USE="mmx sse sse2 sse3 ssse3 -kerberos fam ldap -winbind swat -ads acl fam pam atm bzip2 afs nptl zlib nfs ntfs nls multilib samba -kde -radeon -X -ipv6 -gnome -cups"


Ответ на: комментарий от fbiagent
[global]
        netbios name = TESTSAMBA
        security = user
        username map = /etc/samba/smbusers
        server string = Gentoo 12.1 smb %v
        socket options = TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384
        workgroup = TEST
        interfaces = 192.168.1.15/24
        os level = 0
        template shell = bin/bash
        preferred master = no
        domain master = no
        local master = no
        max log size = 50
        encrypt passwords = yes
        dns proxy = no
        log file = /var/log/samba/log.%m
        max log size = 10000
        panic action = /usr/share/samba/panic-action %d
        map acl inherit = yes

        load printers = no
        show add printer wizard = no
        printcap name = /dev/null
        disable spoolss = yes

        #strict locking = yes
        #oplock contention limit = 2
        #oplocks = true
        #level2 oplocks = true
        kernel oplocks = true
        
Tango
() автор топика
Ответ на: комментарий от fbiagent

по крайней мере заработало то, что уже не могу удалить папку если файл открыт на другом криенте, но сам файл можно удалить и переименовать и главное открыть для записи с 2х разных клиентов

Tango
() автор топика
Ответ на: комментарий от fbiagent

всеравно косяк. Мануалку прочитал всю. В ней описаны примерно половина параметров блокировок. Пока сделал костыль read list но это не вариант для полноценной файлопомойки.

Tango
() автор топика
Ответ на: комментарий от Tango

даже с самыи жесткими блокировками

 locking = yes
 oplocks = no
 strict locking = yes
 share modes = no

не совсем ясно еще положение вещей по поводу fam самба собиралась с этим флагом но самого демона среди собранных пакетов нет. оно вообще влияет или ядро само должно правильно выдавать блокировки?

Tango
() автор топика
12 ноября 2013 г.

получилось решить проблему ? та же ситуация - иногда при обращении к одному файлу с разных пользователей он не блокируется и все разы открывается на запись. а потом начинается ад из разных версий.

laborant
()
14 июня 2014 г.
Ответ на: комментарий от laborant

в общем помогает вот такое вот. блокировки перенесены в локальные настройки шары.

[Buhgalteria]
        comment = Бухгалтерия
        path = /mnt/Share/Buhgalteria
        valid users = @"MYDOMAIN+buhgalteria"
        admin users = @"MYDOMAIN+администраторы домена"
        browseable = yes
        guest ok = no
        read only = no
        directory mask = 0775
        create mask = 0664
        inherit acls = yes
        inherit permissions = yes
        map acl inherit = yes
ах да немаловажынй факт. тестилось все изначально на примонтированных ntfs разделах. В полной мере на ntfs все так и на заработало. А вот на ext3 результат достигнут.

Tango
() автор топика
Ответ на: комментарий от Tango
[global]
        netbios name = FILESERVER
        server string = Fileserver Gentoo 3.10.17 - smb %v
        socket options = TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384
        winbind gid = 10000-30000
        winbind separator = +
        winbind refresh tickets = yes
        #winbind use default domain = yes
        winbind use default domain = no
	winbind enum groups = yes
        winbind enum users = yes
	#winbind offline logon = yes	

        encrypt passwords = yes        
	template shell = /bin/bash
        
	os level = 0
	preferred master = no
        domain master = no
        local master = no
	allow trusted domains = yes
        
	dns proxy = no
	
	workgroup = MYDOMAIN	
        realm = MYDOMAIN.LOCAL
        security = ADS
        

	#логи для дебага
        #log level = 10	
	log file = /var/log/samba/log.%m
        max log size = 100
        panic action = /usr/share/samba/panic-action %d

	#inherit acls = yes
	#inherit owner = yes
	#inherit permissions = yes	
	#map acl inherit = yes
	acl compatibility = auto

	dos charset = cp866
	unix charset = utf-8
	display charset = utf-8
	
	load printers = no
        show add printer wizard = no
        disable spoolss = yes
	printcap name = /dev/null
	
	
	blocking locks = no
	locking = yes
	#kernel oplocks = yes
        #oplocks = no
        #level2 oplocks = yes
        #posix locking = yes
        #strict locking = no
	
	client ntlmv2 auth = yes
 	client use spnego principal = no
	send spnego principal = no
 	max protocol = smb2
	
	auth methods = sam winbind	

	#корзина
	vfs objects = recycle
	# куда бедет перемещаться удаляемые файлы
	recycle:repository = /mnt/Share/temporary/
	# сохранять структуру каталогов
	recycle:keeptree = yes
	# при дублировании имен файлов делать разные версии
	recycle:versions = yes
	# исключить из перемещения в корзину файлы, подходящие под шаблоны
	recycle:exclude = *.tmp | *.TMP | ~$* | ~WRL*
 	# исключить из перемещения в корзину директории
	#recycle:excludedir = /mnt/Share/temp
	# размер корзины в байтах
	recycle:maxsize = 1504805760
	recycle:touch = yes
	# мои дописки
	recycle:directory_mode = 0770
	recycle:touch_mtime = Yes

Tango
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.