Михаил Флёнов - Linux глазами хакера
□ username map = файл — указание на файл, где хранится список пользователей Samba-сервера для Windows 9x-клиентов (о нем подробнее мы поговорим в разд. 6.3).
6.1.3. Сеть
В этом разделе нам предстоит рассмотреть директивы настройки сетевого протокола:
□ include = файл — позволяет подключить конфигурационный файл smb.conf с другого компьютера. Имя файла задается в формате путь.%m. В данном случае путь — это полное имя файла на удаленной машине, а %m — это NetBIOS-имя компьютера. Например: /etc/samba/smb.conf.robert;
□ socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 — задает параметры протокола и размер входного и выходного буфера.
В данном случае:
• TCP_NODELAY — позволяет быстрее передавать данные (без задержек);
• SO_RCVBUF — размер принимающего буфера;
• SO_SNDBUF — размер передающего буфера;
□ interfaces = интерфейсы — если у вас установлено две сетевые карты, которые направлены на разные сети, то с помощью этой директивы можно позволить работать с Samba пользователям из обеих сетей.
6.1.4. Как домен
Если проанализировать все параметры, которые мы будем рассматривать в этом разделе, то станет очевидно, что Samba способна заменить Windows- сервер, и рабочие станции на базе Windows не заметят неудобств:
□ local master = yes — позволяет сделать ваш Samba-сервер основным браузером сети;
□ domain master = yes — позволяет сделать Samba-сервер главным браузером домена. Не устанавливайте значение yes, если в вашей сети есть Windows NT контроллер домена;
□ domain logons = yes— если включить эту опцию, то Samba сможет работать как сервер для входа в систему компьютеров с ОС Windows 95. При загрузке компьютера с Windows можно будет вводить пароли из Samba;
□ logon script = файл — если директива domain logons включена, то в этой команде можно указать файлы bat-сценариев, которые будут выполняться на компьютере клиента при входе в систему. Сценарий может задаваться в виде %m.bat (заменяется именем компьютера) или %U.bat (подменяется на имя пользователя);
□ logon path = путь — определяет место хранения пользовательских профилей. Для использования этой директивы необходимо убрать комментарии с секции [Profiles], которую можно найти в файле конфигурации по умолчанию.
6.1.5. Поддержка WINS
WINS (Windows Internet Naming Service, служба имен Интернета для Windows) — это сервис для сопоставления имен компьютеров и IP-адресов. База данных WINS чем-то напоминает DNS (Domain Name Service), только в ней хранятся NetBIOS-имена компьютеров, a DNS использует доменные имена.
Для настройки работы через WINS используются следующие директивы:
□ wins support = yes — разрешить использование WlNS-сервера;
□ wins server = w.x.y.z — адрес WINS-сервера;
□ DNS Proxy = yes — если эта опция разрешена, то не распознанные NetBIOS-имена можно попытаться определить через DNS-сервер.
6.1.6. Отображение файлов
В Linux и Windows используются разные правила именования файлов. Например, в Linux названия чувствительны к регистру, а в Windows — нет. Это значит, что файлы DATA.TXT и data.txt в Windows будут восприняты, как один и тот же файл. Для решения этой проблемы есть несколько команд:
□ case sensitive = no — позволяет не принимать во внимание чувствительность к регистру;
□ default case = lower — отображать все файлы в нижнем регистре;
□ preserve case = no и short preserve case = no — эти директивы позволяют сохранять информацию с учетом регистра.
Если у вас в сети работают пользователи Windows-систем, то рекомендуется оставить указанные выше значения. Для однородной Linux-сети можно разрешить сохранять регистр.
6.2. Описание объектов
После того как вы определили основные параметры Samba-сервера, можно описывать объекты, к которым может получать доступ пользователь. Эти делается в отдельных разделах, которые идут после секции [Global], которую мы рассмотрели в разд. 6.1.
6.2.1. Пора домой
Конечно же, любой пользователь захочет работать со своей директорией. Для этого он должен иметь учетную запись в Linux, с которой и будет связан его каталог. Обращение к такой директории будет выглядеть как //сервер/имя, где сервер — это имя сервера или его IP-адрес, а имя — это имя пользователя, домашнюю директорию которого необходимо увидеть.
Для того чтобы разрешить пользователям работать с собственными директориями, нужно описать раздел [homes]. Рассмотрим пример такой секции:
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775
В данной секции вы можете видеть следующие директивы:
□ comment — текстовый комментарий, который не влияет на работу;
□ browseable = no — режим отображения ресурса в списке просмотра. Если указать yes, то в сетевом окружении будут видны папки пользователей;
□ writable = yes — предикат записи в домашнюю директорию. При значении no создание и изменение файлов станет невозможным;
□ create mode = 0750 — права доступа для создаваемых файлов. В данном случае владелец файла имеет полные права, пользователи группы могут читать и выполнять его, а остальные — бесправны. Иногда следует понизить значение параметра до 740, чтобы пользователи группы могли хотя бы читать;
□ directory mode = 0775 — права доступа для создаваемых каталогов. В данном случае у пользователей группы тоже слишком высокие права, и я бы понизил их до 755. чтобы запретить создавать в новой директории файлы. Остальные могут только просматривать каталог, но и по может оказаться лишним, и для большей безопасности лучшим решением будет значение 750;
□ valid users = пользователи — указывается список пользователей, которым разрешен доступ к домашним директориям. Значения разделяются пробелом. Но умолчанию доступ имеют все, но в реальных условиях это необходимо только некоторым. Поэтому я рекомендую в явном виде прописать имена тех пользователей, которые нуждаются в работе со своим домашним каталогом.
6.2.2. Доменный вход
Если вы настроили сервер Linux так, чтобы пользователи Windows могли входить в систему через smb, используя его как домен, то необходимо убрать комментарии с секции [netlogon]:
; [netlogon]
; comment = Network Logon Service
; path = /usr/local/samba/lib/netlogon
; guest ok = yes
; writable = no
В этой секции так же присутствует комментарий и директива writable. Пользователи не должны иметь право записи в эту директорию, потому что здесь хранятся их сценарии, которые выполняются при входе в систему. Файлы из этого каталога должен изменять только администратор.
Помимо этого, есть еще две команды:
□ path = путь — полный путь к директории netlogon;
□ guest ok = yes — такую же директиву мы рассматривали в разд. 6.1. В данном случае она позволяет гостевой вход. Помимо этого, нужно убрать комментарии в секции [Profiles], которая выглядит следующим образом:
; [Profiles]
; path = /usr/local/samba/profiles
; browseable = no
; guest ok = yes
В этой директории хранятся профили пользователей, и она не должна быть видна в сетевом окружении Windows, поэтому директива browseable = no запрещает отображение.
6.2.3. Распечатка
Для того чтобы пользователям стали доступны принтеры, подключенные к Linux-серверу, нужно настроить следующую секцию:
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
Обратите внимание, что по умолчанию секция открыта, и зарегистрированные пользователи уже имеют доступ к принтерам. Если вы хотите, чтобы "гости" смогли использовать принтер, то добавьте строку public = yes. Я не рекомендую этого делать, потому что это предоставит пользователям лишнюю возможность для подшучивания. Например, в моей сети был случай, когда сотрудник рассылал через принтер разные картинки на все компьютеры. Вроде безобидно, а работу тормозит, и идет бесполезный расход картриджа.
6.2.4. Общий доступ
Чаще всего, на сервере необходима директория, через которую любой пользователь сможет обмениваться файлами с другими участниками сети. Для настройки такой папки используется секция [tmp]:
;[tmp]
; comment = Temporary file space
; path = /tmp
; read only = no
; public = yes
По умолчанию секция закрыта, и для разрешения доступа к ней необходимо убрать комментарии. Обратите внимание на путь к открытому каталогу. Это /tmp — каталог для хранения временных файлов пользователей. С помощью директив read only (значение no) и public (значение yes) мы указываем серверу Samba, что директория открытая, и в нее могут записывать и читать файлы все пользователи.
Откройте для себя мир чтения на siteknig.com - месте, где каждая книга оживает прямо в браузере. Здесь вас уже ждёт произведение Михаил Флёнов - Linux глазами хакера, относящееся к жанру Программное обеспечение. Никаких регистраций, никаких преград - только вы и история, доступная в полном формате. Наш литературный портал создан для тех, кто любит комфорт: хотите читать с телефона - пожалуйста; предпочитаете ноутбук - идеально! Все книги открываются моментально и представлены полностью, без сокращений и скрытых страниц. Каталог жанров поможет вам быстро найти что-то по настроению: увлекательный роман, динамичное фэнтези, глубокую классику или лёгкое чтение перед сном. Мы ежедневно расширяем библиотеку, добавляя новые произведения, чтобы вам всегда было что открыть "на потом". Сегодня на siteknig.com доступно более 200000 книг - и каждая готова стать вашей новой любимой. Просто выбирайте, открывайте и наслаждайтесь чтением там, где вам удобно.

