вторник, 10 февраля 2009 г.

Описание некоторых настроек Samba

Секция [global] - описание общих настроек

workgroup =
Название рабочей группы или домена, в которой участвует сервер.

netbios name =
Как будет откликаться сервер по NetBIOS протоколу. НЕ ДЕЛАЙТЕ ЕГО ТАКИМ ЖЕ, КАК И ИМЯ РАБОЧЕЙ ГРУППЫ. Иначе, если вы установите samba как PDC, Windows при попытке залогинится будет ругаться на неправильный параметр.

server string =
Описание сервера, которое появляется в графе NT Description в сервер-менеджере.задает комментарий который будет выводиться например в Проводнике для этого сервера.

hosts allow =192.168.1. 127.
Список сетей, которым разрешен доступ к серверу.

load printers = no
Нет у меня сейчас принтеров.Строка load printers означает что если у вас на сервере будет устанолен принтер, то он будет виден в сети.

guest account = nobody
имя unix-аккаунта, под которым будет работать гостевой пользователь.

log file = /samba/var/log.%m
имя лог-файла. %m заменяется на имя машины
Опция "log file" определяет месторасположение и имена файлов регистрации Samba. С расширением "%m", у вас будут создаваться независимые файлы регистрации для каждого пользователя или машины, соединяющихся к вашему Samba серверу (например, log.machine1).

max log size = 50
и его максимальный размер

security = user
как будем аунтифицироваться? тип user - каждый сам по себе.означает что аутентификация пользователей на сервере samba будет проходить на основании полученных от клиента имени пользователя и пароля. Существуют и другие значения параметра security (share).

os level = 20
Парметр os level задает с кем Samba ассоциирует себя в сети. Значение 20 это значение по умолчанию, при этом Samba считет себя STAND ALONE сервером. Чем выше значение os level тем выше роль сервера в сети. Если вы делаете контроллер домена на Samba то os level должен быть ну например 65.

encrypt passwords = yes
разрешаем шифрованные пароли.означает что пароли будут передаваться по сети в зашифрованном виде.

local master = yes
samba сразу берет на себя роль мастер-браузера.

preferred master = yes
и сразу же при запуске устраивает перевыборы с наибольшим шансом для себя. Этот параметр очень помогает при отладке.

wins support = yes
запускаем wins сервер.

dns proxy = yes
и заодно будем пытаться отресолвить netbios имена через DNS.Строка dns proxy = no говорит что у меня в сети уже есть dns сервер с которым Samba будет общаться и прокси мне не нужен. Возможно эту строку можно и вообще не писать.


character set = KOI8-R
client code page = 866
Эти две строчки отвечают за нормальныю перекодировку имен файлов.

Опция dos charset = CP866 задает с каким набором символов Samba, будет "разговаривать" с клиентами DOS.

Опция unix charset = KOI8-R задает в какой кодировке Samba, будет хранить файлы на сервере. Samba должна знать как конвертировать текст в кодировку используемую другими клиентами.

time server = True
Это приказывает nmbd анонсировать себя как "сервер точного времени" для Windows клиентов.

smb passwd file = /etc/smbpasswd
Опция "smb passwd file" определяет путь к файлу с шифрованными паролями "smbpasswd". Файл "smbpasswd" это копия файла "/etc/passwd" Linux системы содержащий разрешенные имена и пароли клиентов, которым разрешен доступ к серверу Samba. Samba читает этот файл, когда получает запрос на соединение.

socket options = IPTOS_LOWDELAY TCP_NODELAY
Опция "socket options" определяет параметры, которые вы можете включить в вашу конфигурацию Samba для настройки и улучшения сервера samba на оптимальную производительность. По умолчанию, мы выбрали настройку сервера на локальную сеть и улучшили производительность сервера Samba при пересылке файлов.

name resolve order = lmhosts host bcast
Опция "name resolve order" определяет, в каком порядке используются сервисы имен для резолвинга имени хоста в IP адрес. Параметры, который мы выбрали говорят использовать в первую очередь локальный "lmhosts" файл.

bind interfaces only = True
Опция "bind interfaces only" если установлена в "True", позволяет вам ограничивать интерфейсы на которых будет принимать запросы "smb". Эта возможность улучшающая безопасность системы. Опция "interfaces = eth0 192.168.1.1" дополняет данную опцию.

interfaces = eth0 192.168.1.1
Опция "interfaces" позволяет вам переписать список интерфейсов по умолчанию, на которых Samba будет обрабатывать запросы. По умолчанию, Samba принимает список из всех активных интерфейсов и любые интерфейсы (исключая 127.0.0.1), на которых поддерживается возможность широковещательных запросов. С этой опцией, Samba будет слушать только интерфейс "eth0" с IP адресом 192.168.1.1. Это возможность улучшающая безопасность, и дополняет ранее приведенную опцию "bind interfaces only = True".

hosts deny = ALL
Опция "hosts deny" определяет список хостов, которым запрещен доступ к сервису Samba, если определенные сервисы не имеют собственных списков доступа. Для простоты, мы запрещаем доступ всем хостам по умолчанию, и разрешаем доступ некоторым компьютерам в опции "hosts allow =", приведенной ниже.

hosts allow = 192.168.1.4 127.0.0.1
Опция "hosts allow" определяет, каким хостам разрешен доступ к Samba сервису. По умолчанию, мы пускаем компьютер с IP адресом класса C 192.168.1.4 и наш localhost 127.0.0.1. Заметим, что доступ с localhost должен быть всегда разрешен, иначе вы будете получать сообщения об ошибках.

debug level = 1
Опция "debug level" позволяет вам определить уровень регистрации. Если вы установите уровень отладки больше чем 2, то это приведет к падению производительности. Это связано с тем, что сервер сбрасывает информацию в файл регистрации после каждой операции, которые могут быть очень интенсивными.

create mask = 0644
Опция "create mask" определяет и устанавливает нужные права доступа, связывая таким образом режимы DOS с правами UNIX. С этой опцией установленной в 0644, все файлы копируемые или создаваемые из Windows систем на Unix будут иметь права доступа 0644.

directory mask = 0755
Опция "directory mask" определяет и устанавливает режим, который используется для конвертирования DOS режимов в UNIX режимы, когда создается UNIX каталог. С этой опцией установленной в 0755, все каталоги копируемые или создаваемые из Windows систем на Unix будут иметь права доступа 0755.

level2 oplocks = True
Опция "level2 oplocks", если установлена в "True", увеличит производительность множественного доступа к файлам, которые обычно не записываются (такие как файлы приложений .EXE).

read raw = no
Опция "read raw" контролирует будет или нет сервер осуществлять "необработанное" (raw) чтение SMB запросов, когда пересылает данные клиенту. Заметим, что распределение памяти не использует операцию "read raw". Таким образом, вы можете обнаружить, что распределение памяти более эффективно, если вы отключите "read raw", используя параметр "read raw = no".

write cache size = 262144
Опция "write cache size" позволяет Samba улучшить производительность систем у которых дисковая подсистема является узким местом. Значение этой опции определяется в байтах. Значение этой опции определяется в байтах, следовательно 262,144 представляет 256k кэш на файл.

Перейдем к описанию ресурсов.

path это путь к каталогу ресурса. comment - комментарий, read only = No означает что ресурс не является каталогом только для чтения.

Параметр force group самый интересный. Его присутствие решает проблему описанную в официальном HOWTO когда файлы созданные одним пользователем не могут изменяться другими. Для этого вводится параметр force group и все файлы создаваемые или редактируемые разными пользователями будут иметь группу владельца указанную в парметре force group.

Параметр directory mask задает какие права доступа будут иметь вновь создаваемые директории, а параметр create mask задает тоже самое, но для вновь создаваемых файлов.

[] - имя шары
comment - комментарий к ресурсу;
path - расположение каталога ресурса на сервере;
writable - параметр, разрешающий или запрещающий запись и изменение данных в
ресурсе. Дает возможность пользователям создавать/редактировать/удалять файлы;
guest ok - разрешает или запрещает доступ к сервису "гостям";
create mask - права доступа, назначаемые новым файлам;
directory mask - то же самое, только каталогам;
read only - доступ только для чтения или для чтения и записи;
valid users - пользователи, которым разрешен доступ к ресурсу."пользователи через запятую"

Для использования SWAT'а проверим два конфигурационных файла:
services (/etc/services) и inetd.conf (/etc/inetd.conf).
По умолчанию SWAT запускается с 901-го порта.
Итак, проверяем вышеуказанные конфигурационные файлы:

>/etc/service
swat 901/tcp # в данном случае SWAT-service
# используется через inetd

Если эта строка присутствует в /etc/service, тогда все ОК. Если строки нет, тогда добавьте ее в конец данного файла. Данная строка говорит нам о том, что SWAT запускается на 901-м порту.
Теперь в файл inetd.conf (/etc/inetd.conf) добавляем следующую строку:
swat stream tcp nowait.400 root /usr/sbin/swat swat
Либо просто проверяем, чтоб она там была...

Securing SWAT

Для усиления безопасной работы посредством SWAT'а не помешает изменить строку выше на (использование TCP wrappers):
swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/swat

Теперь переходим в файл /etc/hosts.deny и просматриваем его. Он должен иметь запись:
ALL: ALL
Добавим в /etc/hosts.allow следующие строки:
swat: 127.0.0.1 192.168.0.
Это позволит нашим пользователям обращаться к SWAT.

Запуск SWAT

Сначала перезапустим inetd:
# killall -HUP inetd
Теперь в браузере (какой вам больше нравится, мне, например, Lynx) набираем:
http://127.0.0.1:901
http://localhost:901
или
http://свой IP:901
Если все правильно настроено, то вы увидите форму, в которой нужно будет ввести имя пользователя (username) и пароль (password). Здесь введите имя пользователя "root" и соответственно пароль суперпользователя (root'a).

Создаем указанные директории
$ sudo mkdir -p /home/samba/{netlogon,docs,distrib,buh}

Создаем SAMBA пользователя root
$ sudo smbpasswd -a root
Задаем пароль, в целях безопасности желательно его указывать отличным от локального root.

Разрешаем етого пользователя.
$ sudo smbpasswd -e root

проверим правильность написания файла smb.conf
$ testparm
Если все нормально - ошибок быть не должно


Подскажите, как с помощью только swat добавлять пользователей.
Записал в add user script: user.sh
#!/bin/sh
/sbin/useradd %u
smbpasswd -a %u
smbpasswd -e %u
При добавлении swat выдает нет локального пользователя в /etc/passwd.

Комментариев нет:

Отправить комментарий