Запуск (перезапуск) демона smbd в ОС МСВС.
Проверка наличия установленных пакетов Samba-сервера и Samba-клиента
В ОС МСВС 3.0 компоненты Samba-сервера находятся в файлах на диске с дистрибутивом, полный путь к которому имеет следующий вид: /MCBC/RPMS/samba-2.2.12-1.7vniins14.i586.rpm (для пакета samba), /MCBC/RPMS/samba-client-2.2.12-1.7vniins14.i586.rpm (для пакета samba-client), /MCBC/RPMS/samba-common-2.2.12-1.7vniins14.i586.rpm (для пакета samba-common).
В ОС МСВС 5.0 компоненты Samba-сервера находятся в файлах на диске с дистрибутивом, полный путь к которому имеет следующий вид: /Server/samba-3.5.4-65vniins2.x86_64.rpm (для пакета samba), /Server/samba-client-3.5.4-65vniins2.x86_64.rpm (для пакета samba-client), /Server/samba-common-3.5.4-65vniins2.x86_64.rpm (для пакета samba-common).
Проверка наличия установленных пакетов Samba-сервера и Samba-клиента в ОС МСВС выполняется соответственно по командам:
rpm –q samba– проверка наличия установленного пакета Samba-сервера;
rpm –q samba-client– проверка наличия установленного пакета Samba-клиента;
rpm –q samba-common– проверка наличия установленного пакета общих системных файлов Samba-сервера и Samba-клиента.
Если после ввода команд последовали ответы, представленные на рис. 5.3, значит все пакеты Samba-сервера и Samba-клиента уже установлены.
Рис. 5.3. Проверка наличия установленных пакетов Samba –сервера и Samba-клиента в ОС МСВС.
Если, хотя бы в одном ответе последовало «….. не установлен», значит, этот компонент необходимо установить. Для установки пакетов Samba-сервера и Samba-клиента необходимо вставить в CD-привод CD-диск с дистрибутивом ОС МСВС и ввести последовательно следующие команды:
1. mkdir /mnt/cdrom– создание каталога «cdrom» в каталоге «mnt», в которую в дальнейшем будет монтироваться CD-диск с дистрибутивом ОС МСВС.
2. mount /dev/cdrom /mnt/cdrom– монтирование (подключение) CD-диска к ОС МСВС.
Для ОС МСВС 3.0
3. rpm –ivh /mnt/cdrom/MCBC/RPMS/samba-common-2.2.12-1.7vniins14.i586.rpm – установка пакета общих системных файлов Samba-сервера и Samba-клиента в ОС МСВС.
4. rpm –ivh /mnt/cdrom/MCBC/RPMS/samba-client-2.2.12-1.7vniins14.i586.rpm – установка пакета Samba-клиента в ОС МСВС.
5. rpm –ivh /mnt/cdrom/MCBC/RPMS/samba-2.2.12-1.7vniins14.i586.rpm– установка пакета Samba-сервера в ОС МСВС.
Для ОС МСВС 5.0
3. rpm -ivh /mnt/cdrom/Server/libcap-1.10-26vniins1.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
4. rpm -ivh /mnt/cdrom/Server/libtalloc-2.0.1-1.1.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
5. rpm -ivh /mnt/cdrom/Server/libtdb-1.2.1-2.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
6. rpm -ivh /mnt/cdrom/Server/samba-winbind-clients-3.5.4-65vniins2.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
7. rpm -ivh /mnt/cdrom/Server/samba-common-3.5.4-65vniins2.x86_64.rpm– установка пакета общих системных файлов Samba-сервера и Samba-клиента в ОС МСВС.
8. rpm -ivh /mnt/cdrom/Server/samba-client-3.5.4-65vniins2.x86_64.rpm– установка пакета Samba-клиента в ОС МСВС.
9. rpm -ivh /mnt/cdrom/Server/libdaemon-0.10-5.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
10. rpm -ivh /mnt/cdrom/Server/libxml2-2.6.26-2.1.2.8.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
11. rpm -ivh /mnt/cdrom/Server/libxml2-python-2.6.26-2.1.2.8.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
12. rpm -ivh /mnt/cdrom/Server/dbus-python-0.70-9vniins1.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
13. rpm -ivh /mnt/cdrom/Server/avahi-0.6.16-9vniins2.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
14. rpm -ivh /mnt/cdrom/Server/gamin-0.1.7-8.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
15. rpm -ivh /mnt/cdrom/Server/libjpeg-6b-37.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
16. rpm -ivh /mnt/cdrom/Server/libpng-1.2.10-7.1.3.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
17. rpm -ivh /mnt/cdrom/Server/libtiff-3.8.2-7.5vniins1.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
18. rpm -ivh /mnt/cdrom/Server/gnutls-1.4.1-3.5vniins1.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
19. rpm -ivh /mnt/cdrom/Server/cups-libs-1.3.11-2vniins107.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
20. rpm -ivh /mnt/cdrom/Server/samba-3.5.4-65vniins2.x86_64.rpm– установка файлов библиотек, необходимых для работы Samba-сервера и Samba-клиента в ОС МСВС.
21. rpm -ivh --nodeps /mnt/cdrom/Server/samba2-compat-2.2.12-1.7vniins18mcbc5.x86_64.rpm– установка пакета Samba-сервера в ОС МСВС.
Конфигурирование Samba-сервера
Samba-сервер конфигурируется(управляется) файлом /etc/samba/smb.conf(/etc/smb.conf).
После завершения конфигурирования Samba-сервера необходимо осуществить его запуск командой:
Service smb start
или перезапуск командной:
Service smb restart.
Файл конфигурации разделен на две большие секции:
Global Settings.
Share Definitions.
Все настройки (параметры) в этом файле представлены в виде строк Имя = Значение. Далее будут рассмотрены основные настройки, необходимые для конфигурирования Samba-сервера как файлового сервера.
Global Settings
Секция [Global]
workgroup = mygroup – данная переменная содержит имя рабочей группы (той рабочей группы, в которую необходимо подключить компьютер). Если в локальной сети уже есть компьютеры, находящиеся в какой-либо рабочей группе (например, Home, Workgroup и т.д.), то, при подключении компьютера к данной сети, необходимо будет указать в данной переменной имя уже существующей в локальной сети рабочей группы. Также эта переменная контролирует доменное имя при работе на уровне безопасности security = domain.
server string = Samba Server – эта переменная содержит описание сервера, которое будет видно в сетевом окружении – в данном случае Samba Server.
hosts allow = 192.168.1. 192.168.2. 127. – данная переменная содержит список адресов компьютеров и сетей, которые имеют право подключаться к ресурсам Samba-сервера. Изначально эта строка закомментирована. Для того, чтобы ограничить доступ к ресурсам на компьютере, необходимо удалить символ ; в начале строки и после знака = перечислить через пробел адреса сетей или компьютеров, которые смогут получить доступ к ресурсам на этом компьютере.
В вышеизложенном примере запись выглядит следующим образом: "192.168.1. 192.168.2. 127." Это означает, что к ресурсам на компьютере получат доступ все компьютеры, входящие в перечисленные сети - т.е. 192.168.1.1, 192.168.1.2 ..., 192.168.2.1 и т.д. Возможно ограничить доступ всего лишь несколькими компьютерами, указав явным образом IP-адреса компьютеров, которым будет разрешен доступ, перечислив их через пробел.
guest account = pcguest – данная переменная используется в том случае, если необходимо разрешить гостевой вход на сервер. Это имя пользователя (в данном случае pcguest) будет использоваться для доступа к сервисам, для которых задан параметр guest ok = yes. Независимо от привилегии пользователя гостевой общий ресурс будет доступен для любого клиента. Этот пользователь (в данном случае pcguest) должен существовать в файле паролей (/etc/passwd), однако при подключении не требуется вводить пароль. Изначально эта строка закомментирована.
log file = /var/log/samba/%m.log – данная переменная указывает серверу на то, что необходимо вести файлы журналов отдельно для каждой машины, подключающейся к ресурсам сервера. Кроме того прописан путь, где будут создаваться файлы журналов. Есть конечно альтернативный вариант ведения журналов - можно вести журнал в одном файле для всех - smbd.log - в данном случае это будет лог-файл демона samba, в котором будут отображаться все события сразу.
max log size = 50 – указывает на максимальный размер файла журнала. Чтобы снять ограничения, достаточно указать 0 после символа =. Но на практике не стоит этого делать. Вполне достаточно указать ограничения на размер журнала в размере 50-100.
security = share – данная переменная используется для установки требуемого уровня безопасности. Значение этой переменной влияет на то, как будут себя вести клиенты Samba-сервера и это один из наиболее важных параметров файла smb.conf. Существуют следующие уровни:
- share – при использовании этого значения при каждом доступе к общим ресурсам Samba-сервера будет запрашиваться только имя пользовательского ресурса (например: общим ресурсом на Samba-сервере может быть папка TEST, тогда при доступе к Samba-серверу на уровне безопасности share достаточно будет указать только имя TEST этого ресурса);
- user – в этом случае для аутентификации пользователя при его подключении к Samba-серверу будет использоваться имя пользователя и пароль, которые зарегистрированы на Samba-сервере и хранятся в файлах /etc/passwd и /etc/samba/smbpasswd. Имя запрошенного ресурса не будет послано клиентским компьютером серверу до тех пор, пока сервер успешно не аутентифицирует клиента;
- server – при использовании этого уровня безопасности Samba-сервер попытается определить правильность пары пользователь/пароль, передав её другому серверу SMB, такому как серверу с ОС Windows NT. Если это не получится, будет использован уровень безопасности security = user. Имя запрошенного ресурса не будет послано клиентским компьютером серверу до тех пор, пока сервер успешно не аутентифицирует клиента;
- security = domain – такой уровень безопасности Samba-сервера будет работать только в том случае, если Samba-сервер был введён в домен Windows NT. На этом уровне безопасности Samba-сервер попытается опознать имя пользователя и пароль, передав их первичному или резервному контроллерам домена Windows NT, т.е. сделает тоже самое, что сделал бы сервер Windows NT. Имя запрошенного ресурса не будет послано клиентским компьютером серверу до тех пор, пока сервер успешно не аутентифицирует клиента.
password server = <NT-Server-Name> – данная переменная используется только с совместно с уровнями безопасности security = server или security = domain. Она указывает имя сервера паролей в локальной сети. В оригинальном файле эта строка закомментирована.
interfaces = 192.168.12.2/24 192.168.13.2/24 – данная переменная используется для того, чтобы переопределить список сетевых интерфейсов по умолчанию, которые Samba-сервер будет использовать для просмотра ресурсов сети, регистрации имен и другого NBT (NetBIOS поверх TCP/IP) трафика. По умолчанию Samba-сервер запрашивает ядро для получения списка всех активных интерфейсов и использует какие-либо интерфейсы кроме 127.0.0.1, способные к broadcast (многоадресной) рассылке. В данном примере Samba-сервер будет запущен на двух сетевых интерфейсах с IP адресами 192.168.12.2и192.168.13.2, маской подсети класса С (24 бита, т.е. 255.255.255.0). В оригинальном файле эта строка закомментирована.
password level = 8 и username level = 8 – эти две переменные позволяют задать количество символов в пароле и имени пользователя. В оригинальном файле эти строки закомментированы. Если требуется, чтобы имена пользователей и пароли имели фиксированную длину, то необходимо раскомментировать эти строки и указать необходимые числа.
Share Definitions
Далее будут представлены примеры простейших вариантов для обычных ресурсов - обычный каталог (папка):
#------------------------------------------------------------------------------------------------------------------------------
# имя ресурса, видимое в сети
[homes]
# комментарий, видимый в сети как комментарий к ресурсу
comment = Home Directories
# устанавливает, будет ли общий ресурс отображаться в списке доступных общих ресурсов
# в сетевом окружении и в списке просмотра
browseable = yes
# разрешение на запись всем пользователям
writable = yes
# список пользователей, которым разрешен доступ к сервису (%S используется для подстановки
# имени пользователя зарегистрированного в ОС МСВС)
valid users = %S
# маска прав доступа для создаваемых в этом каталоге новых файлов
create mode = 0664
# маска прав доступа для создаваемых в этом каталоге новых каталогов
directory mode = 0775
#------------------------------------------------------------------------------------------------------------------------------
# имя ресурса, видимое в сети
[netlogon]
# комментарий, видимый в сети как комментарий к ресурсу
comment = Network Logon Service
# путь к каталогу ресурса
path = /usr/local/samba/lib/netlogon
# разрешение на печать на принтере для гостевого захода
guest ok = yes
# запрещение на запись всем пользователям
writable = no
# запрещение соблюдения режимы доступа в момент открытия файлов
share modes = no
#------------------------------------------------------------------------------------------------------------------------------
# имя ресурса, видимое в сети
[public]
# комментарий, видимый в сети как комментарий к ресурсу
comment = Public Stuff
# путь к каталогу ресурса
path = /home/samba
# отметка о доступе на чтение всем авторизованным пользователям (в том
# числе и гостевым, если они определены)
public = yes
# разрешение на запись всем пользователям
writable = yes
# признак того, что это именно файловый ресурс, а не принтер
printable = no
# разрешение на запись всем пользователям, входящим в системную
# группу staff
write list = @staff
#------------------------------------------------------------------------------------------------------------------------------
# имя ресурса, видимое в сети
[fredsdir]
# комментарий, видимый в сети как комментарий к ресурсу
comment = Fred's Service
# путь к каталогу ресурса
path = /usr/somewhere/private
# список пользователей, которым разрешен доступ к сервису
valid users = fred
# для подключения к ресурсу требуется пароль
public = no
# разрешение на запись всем пользователям
writable = yes
# признак того, что это именно файловый ресурс, а не принтер
printable = no