Samba


 * Handbook-Samba

Установка

 * 1) make -C /usr/ports/net/samba3/ install clean

 -               LDAP            "With LDAP support" on \ ADS            "With Active Directory support" off \ =              CUPS            "With CUPS printing support" on \ -               WINBIND         "With WinBIND support" on \ ACL_SUPPORT    "With ACL support" off \ +              AIO_SUPPORT FAM_SUPPORT    "With File Alteration Monitor" off \ +              SYSLOG          "With Syslog support" off \ +               QUOTAS          "With Disk quota support" off \ UTMP           "With UTMP accounting support" on \ MSDFS          "With MSDFS support" on \ PAM_SMBPASS    "With PAM authentication vs passdb backends" off \ CLUSTER        "With experimental cluster support" off \ DNSUPDATE      "With dynamic DNS update" off \ EXP_MODULES    "With experimental modules" off \ + (не знаю)    POPT            "With system-wide POPT library" on \ MAX_DEBUG      "With maximum debugging" off \ SMBTORTURE     "With smbtorture" off 
 * SWAT With SWAT WebGUI - вебгуй для самбы. плохо из соображений безопасности и понятности генерируемых конфигов...
 * Winbind – это демон («служба» в терминах Windows), работающий на клиентах Samba и действующий как прокси для связи между PAM и NSS, работающими на компьютере.
 * PAM_SMBPASS - тоже для этого winbind нужно похоже.
 * ACL_SUPPORT With ACL support Поддержка ACL - обычно включаю - авось пригодится а карман не тяне
 * AIO_SUPPORT With Asyncronous IO support - Новомодная фича для ускорения - работает стабильно, только надо соответсвующий модуль подгрузить или в ядре включить Читаем http://www.mywushublog.com/2009/04/samba-3028a-vs-333-on-freebsd-71/ и http://www.mywushublog.com/2009/12/freebsd-8-0-a-great-nas-server/
 * FAM_SUPPORT http://en.wikipedia.org/wiki/File_alteration_monitor

Из make описание опций (в комменте скрыто) <!--   Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE      do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-debug         Turn on compiler debugging information (default=no) --enable-developer     Turn on developer warnings and debugging (default=no) --enable-krb5developer Turn on developer warnings and debugging, except -Wstrict-prototypes (default=no) --enable-picky-developer Halt compilation on warnings --disable-largefile    omit support for large files --enable-socket-wrapper Turn on socket wrapper library (default=no) --enable-nss-wrapper   Turn on nss wrapper library (default=no) --enable-swat          Build the SWAT tool (default=yes) --enable-cups          Turn on CUPS support (default=auto) --enable-iprint        Turn on iPrint support (default=yes if cups is yes) --enable-static=PKGS   build static libraries default=no --enable-shared=PKGS   build shared libraries default=yes --enable-pie           Turn on pie support if available (default=yes) --enable-relro         Turn on Relocations Read-Only (relro) support if                              available (default=yes) --enable-shared-libs   Use shared libraries internally (default=yes) --enable-external-libtalloc Enable external talloc [default=auto] --enable-external-libtdb Enable external tdb [default=auto] --enable-fam           Turn on FAM support (default=auto) --enable-dnssd         Enable DNS service discovery support (default=no) --enable-avahi         Enable Avahi support (default=auto) --enable-pthreadpool   Enable pthreads pool helper support (default=no) --enable-merged-build  Build Samba 4 as well --enable-gnutls        Turn on gnutls support (default=yes) --enable-netapi        Turn on netapi support (default=auto) --enable-dmalloc       Enable heap debugging [default=no]

Optional Packages: --with-PACKAGE[=ARG]   use PACKAGE [ARG=yes] --without-PACKAGE      do not use PACKAGE (same as --with-PACKAGE=no) --with-fhs             Use FHS-compliant paths (default=no) --with-privatedir=DIR  Where to put smbpasswd ($ac_default_prefix/private) --with-rootsbindir=DIR Which directory to use for root sbin ($ac_default_prefix/sbin) --with-lockdir=DIR     Where to put lock files ($ac_default_prefix/var/locks) --with-statedir=DIR    Where to put persistent state files ($ac_default_prefix/var/locks) --with-cachedir=DIR    Where to put temporary cache files ($ac_default_prefix/var/locks) --with-piddir=DIR      Where to put pid files ($ac_default_prefix/var/locks) --with-ncalrpcdir=DIR  Where to put ncalrpc sockets ($ac_default_prefix/var/ncalrpc) --with-swatdir=DIR     Where to put SWAT files ($ac_default_prefix/swat) --with-configdir=DIR   Where to put configuration files ($libdir) --with-logfilebase=DIR Where to put log files ($VARDIR) --with-modulesdir=DIR  Where to put shared modules ($libdir) --with-pammodulesdir=DIR Which directory to use for PAM modules ($ac_default_prefix/$libdir/security) --with-mandir=DIR      Where to put man pages ($mandir) --with-localedir=DIR   Where to put po files ($ac_default_prefix/share/locale) --with-codepagedir=DIR Where to put codepages ($ac_default_prefix/lib/samba) --with-selftest-prefix=DIR The prefix where make test will be run ($selftest_prefix) --with-selftest-shrdir=DIR The share directory that make test will be run against ($selftest_shrdir) --with-smbtorture4-path=PATH The path to a samba4 smbtorture for make test (none) --with-selftest-custom-conf=PATH An optional custom smb.conf that is included in the server smb.conf during make test(none) --with-cfenc=HEADERDIR Use internal CoreFoundation encoding API for optimization (Mac OS X/Darwin only) --with-profiling-data  Include gathering source code profile information (default=no) --with-readline=DIR    Look for readline include/libs in DIR (default=auto) --with-static-libs=LIBS Comma-separated list of names of (internal) libraries to link statically (instead of                             dynamically) --with-libtalloc       Build the libtalloc shared library (default=yes if                              shared libs supported) --with-libtdb          Build the libtdb shared library (default=yes if                              shared libs supported) --with-libnetapi       Build the libnetapi shared library (default=yes if                              shared libs supported) --with-libsmbclient    Build the libsmbclient shared library (default=yes if                              shared libs supported) --with-libsmbsharemodes Build the libsmbsharemodes shared library (default=yes if                             shared libs supported) --with-libaddns        Build the libaddns shared library (default=no                              (undefined API)) --with-libiconv=BASEDIR Use libiconv in BASEDIR/lib and BASEDIR/include (default=auto) --with-afs             Include AFS clear-text auth support (default=no) --with-fake-kaserver   Include AFS fake-kaserver support (default=no) --with-vfs-afsacl      Include AFS to NT ACL mapping module (default=no) --with-dce-dfs         Include DCE/DFS clear-text auth support (default=no) --with-ldap            LDAP support (default yes) --with-ads             Active Directory support (default auto) --with-krb5=base-dir   Locate Kerberos 5 support (default=/usr) --with-dnsupdate       Enable DNS Updates support (default no) --with-automount       Include automount support (default=no) --with-cifsmount       Include mount.cifs (Linux only) support (default=yes) --with-cifsumount      Include umount.cifs (Linux only) support (default=no) --with-cifsupcall      Include cifs.upcall (Linux only) support (default=yes) --with-pam             Include PAM support (default=auto) --with-pam_smbpass     Build PAM module for authenticating against passdb backends (default=auto) --with-nisplus-home    Include NISPLUS_HOME support (default=no) --with-syslog          Include experimental SYSLOG support (default=no) --with-syslog-facility Use a custom syslog facility (default=none) --with-quotas          Include disk-quota support (default=no) --with-sys-quotas      Include lib/sysquotas.c support (default=auto) --with-utmp            Include utmp accounting (default, if supported by                              OS) --with-ctdb=DIR        Where to find ctdb sources --with-cluster-support Enable cluster extensions (default=auto) --with-acl-support     Include ACL support (default=auto) --with-aio-support     Include asynchronous io support (default=no) --with-sendfile-support Check for sendfile support (default=yes) --with-wbclient        Use external wbclient (optional) --with-winbind         Build winbind (default, if supported by OS) --with-included-popt   use bundled popt library, not from system --with-included-iniparser use bundled iniparser library, not from system --with-static-modules=MODULES Comma-separated list of names of modules to                             statically link in      --with-shared-modules=MODULES Comma-separated list of names of modules to build shared --with-included-popt   use bundled popt library, not from system --with-libiconv=BASEDIR Use libiconv in BASEDIR/lib and BASEDIR/include (default=auto) --with-sqlite3         SQLITE3 backend support (default=no) --with-pthreads        Include pthreads (default=no) --with-setproctitle    Search for setproctitle support (default=no) -->

В конце установки появится полезная информация:
 * Ознакомиться с файлом README.FreeBSD, который находится /usr/ports/net/samba3/files/README.FreeBS
 * Samba password(smbpasswd) директория из '/usr/local/private' перемещена в '/usr/local/etc/samba'

Утилиты из состава пакета smbspool smbtree smbcontrol nmblookup testparm smbget profiles smbstatus pdbedit net smbcacls smbclient swat nmbd eventlogadm rpcclient ntlm_auth smbd smbpasswd smbcquotas

Пользователи
В новых версиях Samba (3.0.23c) в качестве хранилища пользователей по умолчанию используется tdbsam (a tdb-based binary file format). smbpasswd поддерживается, но помечен как устаревший.

Для работы с ней используется утилита pdbedit. Используя которую можно добавлять, удалять, изменить и просматривать список пользователей. Также импортировать учётные записи.

Добавить пользователя
pdbedit -a -u bobik Но если такой пользователь отсутствует в /etc/passwd, добавлять отказывается, выводя сообщение "Cannot locate Unix account for bobik". Поэтому пришлось сначала сказать: pw adduser bobik

Пользователи создаются в файле /usr/local/etc/samba/smbpasswd

Удалить пользователя
dbedit -x -u leksey

Список пользователей
pdbedit -L bobik:1004:User &

Подключение к samba в качестве клиента
В состав пакета входит утилита для клиентского подключения к ресурсам samba. Её можно использовать для диагностики при настройке сервера.

Просмотр текущих подключений: smbstatus

Попытка просмотреть доступные ресурсы: smbclient -L

Браузер сетевого окружение (аналог Сетевого окружения в MS Windows) smbtree

Рабочая станция с MS Windows XP
На вновь созданной директории в корне диска. Правой кнопкой мыши Свойства - Доступ (закладка) - Если вы понимаете потенциальную опасность, но все равно хотите включить общий доступ без помощи мастер, щелкните здесь. После Станет активен флажок [x] Открыть общий доступ к этой папке, взвести его. Имя общего ресурса по умолчанию равно имени директории. Взвести флажок [x] Разрешить изменение файлов по сети.

Вот Вам вдруг понадобилось узнать имена компьютеров в Вашей локалке… Как это сделать в CLI? Ведь тут нет иконки «Сетевое окружение» cd /usr/ports/net-mgmt/nbtscan nbtscan 192.168.1.1-254