Skip to content

Document Header

openSUSE

openSUSE published on Комментариев к записи openSUSE нет


# zypper install libacl-devel python-selinux autoconf make
python-devel gdb sqlite3-devel libgnutls-devel binutils
policycoreutils-python setools-libs selinux-policy
setools-libs popt-devel libpcap-devel keyutils-devel
libidn-devel libxml2-devel libacl-devel libsepol-devel
libattr-devel zlib-devel cyrus-sasl-devel gcc
krb5-client openldap2-devel libopenssl-devel
bind-utils bind-lib

Gentoo

Gentoo published on 1 комментарий к записи Gentoo

Обратите внимание, что следующие разделы предполагают, по крайней мере, некоторое понимание системы packages Gentoo.

Python

Gentoo использует python-3 как основной python интерпритатор, но в данное время Samba использует python-2 (2.4.2 или выше) Следующие команды установят и настроят python-2 как основной интерпритатор.

# emerge --ask --noreplace '<dev-lang/python-3'
# eselect python set python2.7
# python-updater

Kerberos

В Gentoo, вы можете выбрать один из 2-ух реализаций kerberos, app-crypt/mit-krb5 или app-crypt/heimdal. К сожалению, в настоящее время нельзя установить обе реализации. На данный момент, разработчики Samba рекомендуют использовать app-crypt/heimdal. Для этого сначала нужно удалить app-crypt/mit-krb5 (если установлен), затем установить app-crypt/heimdal и пересобрать некоторые пакеты, которые используют старую реализацию Kerberos.

# emerge --unmerge --ask app-crypt/mit-krb5
# emerge --ask app-crypt/heimdal
# revdep-rebuild -- -ask

Bind

Для использования автоматического управления зонами, net-dns/bind и net-dns/bind-tools должны быть установлены с флагом berkdb, dlz и gssapi. Для постоянного использования, добавьте следующее в /etc/package.use:

net-dns/bind berkdb dlz gssapi
net-dns/bind-tools gssapi

Затем установите net-dns/bind:

# emerge --ask  net-dns/bind net-dns/bind-tools

Примечание: Если у вас возникнут проблемы с samba’s gssapi для обновления bind, попробуйте использовать альтернативную реализацию app-crypt/mit-krb5.

Поставляемые библиотеки с Samba 4 (tdb/ldb/tevent) (те, что будут установлены из исходников samba 4, при отсутствии актуальных версий в системе)

Некоторые библиотеки необходимые для установки samba, могут быть отмечены как нестабильные, для этого нужно добавить следующее в ваш /etc/package.keywords:

~sys-libs/tevent-0.9.17
~sys-libs/tdb-1.2.10
~sys-libs/ldb-1.1.12
~sys-libs/talloc-2.0.7

Кроме того, Samba 4 требует sys-libs/tdb и sys-libs/talloc. Собираться они должны с флагом python. Для постоянного использования флага, добавьте следующее в /etc/package.use:

sys-libs/tdb python
sys-libs/talloc python

Примечание: в новых дистрибутивах gentoo, вышеперечисленные файлы хранятся в /etc/portage/, то есть /etc/portage/package.keywords и /etc/portage/package.use. Для обеспечения обратной совместимости могут быть созданы символические ссылки в /etc.

Установка пакетов:

# emerge --ask '=sys-libs/talloc-2.0.7' '=sys-libs/tdb-1.2.10' '=sys-libs/tevent-0.9.17' '=sys-libs/ldb-1.1.12'

Отметим, что ebuilds для требуемой версии вышеперечисленных пакетов может не быть в дереве портов. В этом случае проверьте Gentoo’s Bugzilla для обновления ebuilds.

Прочие зависимости:

Ниже перечислены  несколько прочих пакетов для успешной установки Samba 4:

# emerge --ask net-libs/gnutls sys-apps/acl dev-libs/cyrus-sasl dev-python/subunit dev-python/dnspython net-dns/libidn

Поддержка файловых систем

Поддержка файловых систем published on Комментариев к записи Поддержка файловых систем нет

Для использования дополнительных возможностей Samba 4 нужно, чтобы файловая система поддерживала оба «user» и «system» xattr пространства имен.

Файловые системы ext3/ext4

Если вы используете ext3 или ext4 в качестве файловой системы нужно включить опции «user_xattr»,»acl» и «barrier=1» в ваш /etc/fstab. Например:
/dev/hda3               /home                   ext3    user_xattr,acl,barrier=1     1 1

Если неправильно изменить строки в fstab, то система может перестать загружаться. Пожалуйста, будьте осторожны при изменении вашего Fstab.

user_xattr – расширенные атрибуты файлов.

Параметр barrier=1 гарантирует, что tdb транзакции будут защищены при неожиданном отключении электропитания. Включите эту опцию для того чтобы не допустить повреждения базы данных AD в файле sam.ldb

Так же нужно компилировать ядро с XATTR, SECURITY, и POSIX_ACL опциями для вашей фаловой системы. Для ext3 (поменяйте 3 на 4 для ext4) нужно:
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT3_FS_POSIX_ACL=y

Файловая система без поддержки xattr

Если ваша файловая система не поддерживает расширенных атрибутов xattr, то вы можете имитировать его, добавив следующую строку в файл smb.conf:
posix:eadb = /usr/local/samba/eadb.tdb

Это поместит все дополнительные атрибуты (NT ACLs, DOS EAs, streams etc), в tdb. Это не эффективно, и не очень хорошо масштабируется, но по крайней мере это предоставляем вам возможность, при отсутствии современных файловых систем.

Тестирование файловой системы:

Для тестирования файловой системы, должен быть установлен пакет ‘attr’ и запущено 4 команды от root:
# touch test.txt
# setfattr -n user.test -v test test.txt
# setfattr -n security.test -v test2 test.txt
# getfattr -d test.txt
# getfattr -n security.test -d test.txt

Вы должны увидеть такой результат:
# file: test.txt
user.test=»test»
# file: test.txt
security.test=»test2″

Если на каком-то этапе выдаст ошибку «Operation not supported» значит ядро сконфигурировано неверно, или ваша файловая система не смонтирована с верными опциями.

Если на каком-то этапе выдаст ошибку «Operation not permitted» это означает, что команды выполнялись не от root.

При использовании posix:eadb тестирование файловой системы не требуется.