Задача:
Сделать файловую помойку без разграничения по правам и дать возможность всем записывать и удалять
Установку и настройку будем производить на системе:
uname -prs
Решение:
Обновляем дерево портов:
portsnap fetch update
Выбираем последнюю стабильную версию
cd /usr/ports/net/samba36
Собираем конфиг для SAMBA 3.6
make config
Выбираем следующие пункты
[ ] LDAP With LDAP support [ ] ADS With Active Directory support [ ] CUPS With CUPS printing support [ ] WINBIND With WinBIND support [ ] SWAT With SWAT WebGUI [*] ACL_SUPPORT With ACL support [*] AIO_SUPPORT With Asyncronous IO support [*] FAM_SUPPORT With File Alteration Monitor [*] SYSLOG With Syslog support [*] QUOTAS With Disk quota support [*] UTMP With UTMP accounting support [ ] PAM_SMBPASS With PAM authentication vs passdb backends [ ] DNSUPDATE With dynamic DNS update(require ADS) [*] AVAHI With Bonjour service discovery support [*] PTHREADPOOL With pthread pool [ ] EXP_MODULES With experimental modules [*] POPT With system-wide POPT library [ ] IPV6 With IPv6 support [ ] MAX_DEBUG With maximum debugging [ ] SMBTORTURE With smbtorture
Описание параметров:
LDAP ( With LDAP support) — поддержка LDAP
ADS ( With Active Directory support) — поддержка Active Directory (для сети с доменом)
CUPS ( With CUPS printing support) — поддержка сервера печати CUPS (принтсервер).
WINBIND ( With WinBIND support) — необходимо для Active Directory (для сети с доменом)
SWAT ( With SWAT WebGUI) — WebGui, для управления через веб
ACL_SUPPORT ( With ACL support) — поддержка ACL (Access Control List)
AIO_SUPPORT ( With Asyncronous IO support) — поддержка возможности асинхронного ввода-вывода
FAM_SUPPORT ( With File Alteration Monitor) — API для мониторинга за состоянием файла или группы файлов/директорий
SYSLOG ( With Syslog support) — поддержка логирования syslog
QUOTAS ( With Disk quota support) — поддержка дисковых квот.
UTMP ( With UTMP accounting support) — поддержка уникального идентификатора для каждого вновь подключенного пользователя
PAM_SMBPASS ( With PAM authentication vs passdb backends) — поддержка синхронизации системных пользователей и пользователей samba
DNSUPDATE ( With dynamic DNS update(require ADS)) — поддержка динамического обновления DNS. Необходимо для Active Directory (для сети с доменом)
AVAHI ( With Bonjour service discovery support) — технология Apple, представляющая собою протокол автоматического обнаружения сервисов (служб)
PTHREADPOOL ( With pthread pool) — так и не разобрался что это такое
EXP_MODULES ( With experimental modules) — поддержка експериментальных модулей.
POPT ( With system-wide POPT library) — поддержка системной библиотеки анализа командной строки
IPV6 ( With IPv6 support) — поддержка IPv6
MAX_DEBUG ( With maximum debugging) — включение режима максимальной отладки
SMBTORTURE ( With smbtorture) — утилита для стресс-тестаСобираем
Устанавливаем
make install clean
Далее на все сообщения нажимайте «ОК» (оставляем все по умолчанию)
Дождавшись завершения установки, перечитываем пути командой
rehash
Сохраняем копию дефаултного конфига
cp /usr/local/etc/smb.conf /usr/local/etc/smb.conf.default
Редактируем конфиг
ee /usr/local/etc/smb.conf
Пример моего конфига
[global] workgroup = HOME netbios name = SERVER server string = Home server security = SHARE ;interface = ale0 hosts allow = 127. 192.168.0. socket options = SO_RCVBUF=8192 SO_SNDBUF=8192 local master = yes os level = 65 preferred master = yes wins support = yes create mask = 0777 directory mask = 0777 load printers = no dns proxy = no wins proxy = no ldap ssl = no unix extensions = no logfile = /var/log/samba/log.%m max log size = 500 dos charser = cp1251 unix charset = utf8 follow symlinks = yes wide links = yes [media] path = /datastore public = yes browseable = yes writable = yes
Устанавливаем права на конвиг
chmod 700 /usr/local/etc/smb.conf
Добавляем сервис samba в автозагрузку
echo 'samba_enable="YES"' >> /etc/rc.conf
Запускаем
/usr/local/etc/rc.d/samba start
PTHREADPOOL ( With pthread pool) — так и не разобрался что это такое
Наверное:
http://ru.wikipedia.org/wiki/POSIX_Threads