Centos 6 samba настройка

Обновлено: 03.07.2024

Доброго времени суток, друзья. Сегодня я начинаю серию статей о создании сервера в компании. Это практическое руководство, которое затронет все аспекты создания сервера начиная от установки системы вплоть до запуска. Начнем.

Итак, нам понадобятся:

  • компьютер
  • операционная система
  • голова и руки
  • файл-сервер SAMBA
  • VPN PPTP
  • Почтовый сервер
  • VoIP
  • Терминальный сервер

Вернемся к нашему проекту. Нам нужно установить систему. Уверен, что с процессом установки вы знакомы и мы не будем описывать здесь пошагово все. Единственное вам нужно решить вопрос с разметкой, если вы собираетесь (а мы собираемся) установить файл-сервер Samba и вы имеете в наличии 2 жестких диска, создать RAID-массив и также решите, в каком виде вы хотите получить операционную систему — минимальную консоль или с GUI. В общем, это вы решите сами.

Ну что ж, систему мы установили, перейдем непосредственно к задачам. И первый у нас на очереди «файл-сервер».

SAMBA

В моей системе после установки уже были установлены все необходимые пакеты SAMBA, в противном случае пакеты необходимо установить.

После того, как пакеты установились SAMBA не будет стартовать при старте системы, поэтому необходимо добавить процесс автозагрузки.

Теперь, когда мы выполнили все начальные действия, можно приступить непосредственно к настройке нашего файлового сервера. Делается это в конфигурационном файле SAMBA smb.conf. Сперва создадим копию оригинального конфигуратора на случай «форс-мажор».

Теперь приступим к настройке сервера. Я буду использовать редактор Midnight Commander, но вы можете делать это в любом удобном для вас.

Удаляем все, что имеется в данном файле и приступаем к внесению своих конфигураций. Здесь все зависит от директорий и доступов, которые вы желаете иметь на своем сервере. Вот примерный конфигуратор.

Итак, мы настроили конфигурацию нашего сервера и теперь нам необходимо создать пользователей. Сперва добавим пользователя в систему. Мы не хотим, чтобы этот пользователь мог выполнять вход на наш сервер, поэтому отключим ему shell и не будем создавать пароль и каталог. Но сперва создадим группы, в которые будем.

Группы созданы. Теперь создадим пользователей.

Пользователи созданы. Теперь можно добавить созданных пользователей в SAMBA.

Добавим пользователям пароли для SAMBA. Не забываем, что в системе уже должны быть созданы соответствующие конфигурации папки и настроены права. Все, на этом создание файл-сервера закончено и в другой ОС уже все должно работать. Но в CentOS есть нюанс, который не позволит пользователям использовать сервер — это Firewall ОС. Пользователи могут видеть общие каталоги, но не могут в них войти. Есть два варианта выхода из данной ситуации — отключение Firewall’а ОС или его настройка. Нас, естественно, интересует второй вариант, так как это сервер и, хоть это и Linux, у него должна быть защита. Итак, для корректной работы файл-сервера необходимо дать разрешение Firewall’у использовать ресурсы сети.

Данное действие позволит SELinux разрешать пользователям использовать ресурсы SAMBA, но только до первой перезагрузки или обновления. Поэтому мы сделаем разрешения постоянными.

Если вы вдруг столкнулись с ошибкой «semanage: команда не найдена», установите следующее.

Вот и все. На этом настройка файл-сервера закончена. Если вы все сделали правильно, сервер прослужит надежно и долго.

Рассмотрим самый простой вариант установки SAMBA сервера на CentOS 6.5 и расшарим папку в сеть,а так же создадим папку защищенную логином и паролем. Иногда, я бы даже сказал часто нужно быстро завести самбу и расшарить работникам файлы, так как большинство из низ сидит на Winodws то вариант с NFS или WinSCP не подходит, так как они даже не знают что это такое. Конечно в идеале, если вы делает серьезный SAMBA сервер, с разделением на группы, пользователей то это руководство вам не подойдет, но для самых простых случаем всегда удобно иметь под рукой реальную инструкцию.
Установка SAMBA серверва на CentOS 6.5

Начальные данные.
Операционная система: CentOS 6.5
Имя хоста: backup
Адрес хоста: 10.2.50.75

Проверьте нет ли у вас уже установленных пактов в системе:

rpm -qa | grep samba
samba-winbind-3.6.9-168.el6_5.x86_64
samba-winbind-clients-3.6.9-168.el6_5.x86_64
samba-3.6.9-168.el6_5.x86_64
samba-common-3.6.9-168.el6_5.x86_64
samba-client-3.6.9-168.el6_5.x86_64

yum list installed | grep samba
samba.x86_64 3.6.9-168.el6_5 @updates
samba-client.x86_64 3.6.9-168.el6_5 @updates
samba-common.x86_64 3.6.9-168.el6_5 @updates
samba-winbind.x86_64 3.6.9-168.el6_5 @updates
samba-winbind-clients.x86_64

В моем случае есть, в вашем не должно быть. Теперь ставим пакеты:

yum install samba samba-client samba-common -y

Добавляем в автозагрузку:

chkconfig smb on
chkconfig nmb on

Если у вас работает IPtables:

Создаем папку которую будем расшаривать:

mkdir /mnt/public/
chmod -R 0777 /mnt/public/

Копируем конфиг файл в сторону:

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
rm /etc/samba/smb.conf
vi /etc/samba/smb.conf

Туда записываем все что мы хотим расшарить:

[global]
workgroup = WORKGROUP
security = share
map to guest = bad user

[Public]
path = /mnt/public
browsable =yes
writable = yes
guest ok = yes
read only = no

[Operations]
path = /mnt/operations
browsable =yes
writable = yes
guest ok = yes
read only = no

Теперь перезапускаем сервис:

service smb restart
service nmb restart

Открываем Run:
step_1

И любуемся своей папкой расшаренной в сеть:
Step_2

Если вы надумали создать папку защищенную логином и паролем, и не доступную другим, нам необходимо сделать следующее, создать пользователя и группу, задать им пароль и исправифть конфиг:

useradd smbuser
groupadd smbgrp
usermod -a -G smbgrp smbuser
smbpasswd -a smbuser

Создаем папку и задаем ией права:

mkdir /mnt/secret
chown -R arbab:smbgrp secure/
chmod -R 0770 secure/

Правим конфиг файл:

[Secret]
path = /mnt/secret
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes

service smb restart
service nmb restart

Выглядить это будет так:
test-samba-sharing

Для тех кто хочет настраивать самбу через графический интерфейс:

yum install xinetd samba-swat -y

service swat
port = 901
socket_type = stream
wait = no
only_from = 127.0.0.1 10.2.50.75/24
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = no
>


В данной короткой записке написано, как установить Samba 4 на операционную систему CentOS 6.7 x32. Этот пакет поможет организовать аналог доменного контроллера Windows 2003 на Linux системе.

Из записки вы узнаете, как настроить первичный контроллер домена PDC (primary domain controller). Плюс будет описано как сделать вторичный доменный контроллер BDC (Backup domain controler).

Samba 4 как доменный контроллер

1. Настройка сетевого адаптера и имения хоста (сервера)

2. Отключаем SELINUX и iptables

3. Уставка зависимостей

4. Загрузка и установка Samba 4 из исходников

5. Создание нового домена

6. Настройка DNS

7. Настройка Kerberos

8. Установка и настройка NTP

9. Выставляем права на каталоги Samba

10. Редактируем скрипты запуска Samba и NTP

Имя хост машины - company-pdc

ip-адрес сервера - 192.168.0.10

1. Настройка сетевого адаптера и имени хоста сервера

2. Отключаем SELINUX и iptables

3. Уставка зависимостей

4. Загрузка и установка Samba 4 из исходников

5. Создание нового домена

6. Настройка DNS

7. Настройка Kerberos

8. Установка и настройка NTP

9. Выставляем права на каталоги Samba

10. Редактируем скрипты запуска Samba и NTP

Стартуем демон Samba, ntp и named:

Ставим автозагрузку службы Samba, ntp и named:

Проверка ответственных демонов:

Samba 4 как резервный доменный контроллер

Здесь все тоже самое что и выше.

1. Настройка сетевого адаптера и имения хоста (сервера)

2. Отключаем SELINUX и iptables

3. Уставка зависимостей

4. Загрузка и установка Samba 4 из исходников

5. Создание нового домена

6. Настройка DNS

7. Настройка Kerberos

8. Установка и настройка NTP

9. Выставляем права на каталоги Samba

10. Редактируем скрипты запуска Samba и NTP

ip-адрес главного контролера - 192.168.0.10

ip-адрес резервного контроллера -192.168.0.11

В моем случае главный контроллер на Windows 2003, вторичный на CentOS 6.

1. Настройка сетевого адаптера и имени хоста (сервера)

2. Отключаем SELINUX и iptables

3. Уставка зависимостей

4. Настройка DNS

Удалить include "/usr/local/samba/private/named.conf";

5. Загрузка и установка Samba 4 из исходников

6. Установка и настройка NTP

7. Выставляем права на каталоги Samba

8. Редактируем скрипты запуска Samba и NTP

Запускаем Samba, ntp и named:

Ставим в автозагрузку нужные демоны:

9. Настройка Kerberos

Проверка соединения с главным контроллером:

10. Добавляем резервный контроллер BDC к существующему PDC

11. Проверка требуемых DNS записей нового хоста BDC

Добавить DNS сервер первичного DC:

Если нет записи, добавляем с помощью команды:

12. Репликация

13. Проверка

Для проверки создайте любую учетную запись на первичном контроллере, после отключите его.

Попытайтесь зайти в клиентский компьютер используя резервный контроллер домена, все должно работать!

Иногда нужно очень быстро на сервере настроить файловую шару и открыть на нее доступ. При этом нет необходимости городить какие-то сложные конфигурации, права доступа или что-то еще. Нужен просто оперативный доступ к информации без лишних вопросов.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Мне, к примеру, недавно подобное понадобилось, чтобы открыть доступ к резервным копиям, которые хранились на сервере. Самому разбираться и искать информацию не хотелось, нужно было быстро дать человеку доступ на чтение, чтобы он сам нашел все, что ему нужно.

Я не буду специально оперировать версиями операционных систем. У самбы конфиги одинаковые почти везде, где мне приходилось с ними работать, тем более в самых простых конфигурациях.

Итак, устанавливаем самбу любым подходящим способом для вашей операционной системы. Конфигурации справедливы для 3-й версии самбы. Дальше решаем, что нам нужно:

  • доступ по пользователю и паролю,
  • доступ по ip адресу,
  • доступ всем подряд без ограничений.

В зависимости от этого настройки будут немного разные.

Для доступа по паролю рисуем такой конфиг:

Перезапускаем самбу. Дальше добавляем пользователя в систему примерно так:

Импортируем этого пользователя в самбу и задаем пароль:

И пробуем зайти на шару по адресу:

Чтоб организовать доступ в зависимости от ip адреса, делаем такие настройки в smb.conf:

В данном случае полный доступ будет у адреса 192.168.0.171. Чтобы добавить всю подсеть, то указать нужно следующее:

Комбинировать можно разные подсети и адреса, разделяя их пробелами. Для того, чтобы отключить доступ каким-то отдельным адресам из разрешенной подсети, можно сделать вот так:

Доступ будет разрешен всей подсети 192.168.0.0/24, кроме адреса 192.168.0.15.

Делаем перезапуск самбы и проверяем.

Если у вас установлена samba 4, то эта конфигурация не заработает и вы получите ошибку:

Чтобы доступ по ip нормально заработал, вам необходимо внести следующие изменения в приведенный выше конфиг:

Остальные параметры оставляете те же. После этого доступ по ip будет работать и на 4-й версии самбы.

Если доступ будет предоставлен всем без ограничений, то простейшая конфигурация самбы будет такой:

Не забываем сделать права для всех на папку:

Перезапускаем самбу и пробуем зайти. Должно пустить без лишних вопросов.

Вот так буквально за 5 минут можно организовать простейший файловый сервер с помощью samba. А часто сложнее и не надо. Для какой-нибудь файловой помойки подойдет самый последний вариант.

Читайте также: