Сразу хочу предупредить что данная статья не идеал и делал я ее чисто под свои задачи, которые были минимальны по своим требованиям!!! Итак, задача была такая сделать доступ к серверу с виндовых машин без авторизации, но доступ что бы был только изнутри сети.
приступаем к установке samba на FreeBSD:
portsnap fetch update (обновим дерево портов)
cd /usr/ports/net/samba36 (я ставил эту версию)
make config (поставьте галочки
SYSLOG и POPT)
make install clean
- Далее на все сообщение нажимайте ок (ну т.е. все оставляем по умолчанию)
- После установки внесите в файл rc.conf след запись
nmbd_enable="YES" и smbd_enable="YES"
- Теперь идем в директорию /usr/local/etc и создаем файл smb.conf и пишем в него такой конфиг
- /usr/local/etc/rc.d/samba start (запускаем сервер самбу)
- На виндовой машине в пуске введите \\ip-сервера и если у Вас открылось окно с папкой Dostup значит все ок , а если нет, то значит что то не доделали или пропустили.
- Но это еще не все, если у Вас Freebsd на которой Вы ставили Samba является шлюзом (а это почти 99%) то у Вас по прямому ip тоже будет видна папка, а это не есть хорошо! Для того что бы из вне samba не была видна, нуждно закрыть ее на фаерволе, а для этого
закройте на нем следующие порты 137-139 и 445. (и обязательно проверьте что бы и вне у Вас было недоступно все!!!)
[global]
dos charset = cp866
unix charset = koi8-r
display charset = koi8-r
workgroup = WORKGROUP
server string = SERVAK
#interfaces = 192.168.1.0/24
interfaces = rl1
create mask = 0777
directory mask = 0777
host allow = 192.168.1.0/24
log file = /var/log/samba36/log.%m
max log size = 50
security = share (этот параметр очень важен т.к. говорит какая будет аутентификация при доступе к папкам, чуть ниже я опишу подробней о каждом типе)
[printers]
browseable = no
[Dostup]
path = /usr/local/user
writable = yes
guest ok = yes
Вот как бы и все! При таких минимальных настройках я установил Самбу на фрюху, дальше больше т.к. задачи будут изменяться и конфиги будут правиться, но для начала сойдет!
А теперь перейдем к Теории:
Samba – это программа позволяющая обращаться к сетевым дискам по протоколу SMB/CIFS из разных операционных систем.
Возможности SAMBA:
- обеспечение доступа к Linux-разделам Windows-клиентам;
- обеспечение доступа к Windows-разделам Linux-клиентам;
- совместное использование принтеров подключенных к Linux-системе Windows-клиентами;
- совместное использование принтеров подключенных к Windows-системе Linux-клиентами;
- средства авторизации и аутентификации.
Одним словом система, которая позволит сделать файл-сервер и принт-сервер.
Типы аутентификации:
Прежде чем мы приступим к настройке, важно будет узнать какие способы аутентификации есть в SAMBA. Это наверно самый главный параметр в ней, который описывает способ получения доступа к ресурсам сервера.
- ADS – samba является членом домена Active Directory. Необходимо поставить Kerberos чтобы использовать этот режим.
- Domain – samba полагается на информацию от Primary или Backup Domain Controller. Поступающие к ней пароли и логины она направляет к контроллеру и ждет пока тот проверит, есть ли такой пользователь в домене или нет.
- Server – samba пытается проверить валидность пользователя направляя его учетные данные на проверку другому Samba-серверу. Если это невозможно о пытается использовать режим доступа User.
- Share – свободный доступ на Samba-сервер. Пароль не запрашивается пока пользователь не попытается попасть в какую либо специфичную область файловой системы на которую стоит ограниченный режим доступа.
- User – используется по умолчанию. Аутентификация происходит на уровне SAMBA-сервера. Нужно создать системную учетную запись а потом связать ее с учетной записью SAMBA.
Ключевые файлы:
/etc/samba/smb.conf - Главный конфигурационный файл и все настройки задаются здесь;
/etc/samba/smbusers - Файл в котором можно залинковать Windows-пользователя на UNIX-пользователя, например чтобы понять при подключение Windows-пользователя кто он будет на SAMBA-сервере. Еще
одно назначение – это линковка многих windows-пользователей на одного UNIX-пользователя, в этом случае все действия в системе будут производится от его лица и с его правами доступа;
/etc/samba/lmhosts - Похож на /etc/hosts только занимается резолвингом NetBIOS имен;
/usr/bin/smbpasswd - Программа создания учетных записей SAMBA.
Популярный ключи:
-a добавляем пользователя (он уже должен быть в
системе);
-e включаем его учетную запись (по умолчанию
отключена);
-x удаляем пользователя из базы данных SAMBA
(системный пользователь остается на месте);
/usr/bin/smbclient SAMBA-клиент, позволяет подключаться к SAMBA-ресурсам из командной строки (после того как подключитесь наберите help для вывода возможных действие, help <command> - более подробное описание команды);
/usr/bin/smbcontrol - Позволяет отсылать команды smbd и nmbd;
/usr/share/doc/samba-3.6 Документация.
Описание конфигурационного файла:
workgroup - Название рабочей группы;
server string - Определяет название сервера, переменная %v содержит версию SAMBA-сервера;
bind interfaces only - В целях безопасности мы включаем режим ограничения обработки запросов SAMBA только определенными сетевыми интерфейсами;
interfaces - Здесь мы указываем разрешенные интерфейсы и сети;
hosts deny - Запрещаем доступ всем хостам;
hosts allow - Разрешаем доступ только из доверенных сетей. Такая политика доступа используется во многих технологиях, мы сначала запрещаем доступ всем а потом разрешаем нужным нам сетям или IP-адресам. Это куда проще, чем запретить доступ всем кому мы не хотим давать доступ (по сути весь Интернет);
log file - Задает расположение log-файла;
max log size - Размер log-файла в килобайтах, после достижения максимального размера произойдет ротация;
security - Способ аутентификации на SAMBA-сервере;
encrypt passwords - Все пароли шифруются;
socket options - Некоторые опции для тюнинга соединений;
local master - Если установлено в "yes" то разрешает SAMBA- серверу попытаться стать мастер браузером в своей сети. Мастер браузер получает анонсы от компьютеров и доменов, высылает browse list на запросы клиентов;
os level - Целое число до 255, чем оно больше тем больше шансов что SAMBA-сервер станет мастер
браузером. По умолчанию SAMBA выигрывает "выборы" мастер браузера у всех ОС Windows кроме Windows NT 4.0/2000 контроллера домена;
preferred master - Значение "yes" дает небольшое преимущество в "выборах" мастер браузера;
dns proxy - Пытаться резолвить NetBIOS имена через DNS или нет? Обратите внимание, что NetBIOS имя ограничено 15 символами, так что DNS имя не может быть более 15 символов;
unix charset, dos charset, display charset - Опции отвечают за нормальное перекодирование имен файлов;
load printers - Загружать ли принтеры указанные в /etc/printcap для отображения в списке ресурсов;
cups options - Здесь можно перечислить специфичные опции CUPS, посмотреть список доступных можно с помощью команды lpoptions -d <printername> -l
printcap name - Расположение printcap-файла;
printing - Используемая система печати;
Здесь можно оставить свои комментарии. Выпуск подготовленплагином wordpress для subscribe.ru