В данной заметке описывается процесс как подключить Linux-сервер (CentOS 6.7) к существующему Windows-домену под управлением Microsoft Windows 2008-R2 и сделать из него файловый сервер на базе Samba (Version 3.6.23-20.el6) c разграничением прав доступа доменных пользователей.
Условия, при которых выполнялись шаги, описанные в заметке:
- В качестве аппаратной платформы используется виртуальная машина VMware (version 11) на гипервизоре VMware ESXi, 6.0.0, 2494585.
- Контроллер домена на базе Microsoft Windows Server 2008 R2
Домен: filial.work.corp (Краткое название домена WORK-FILIAL)
Контроллер домена: dc301.filial.work.corp (IP 10.58.96.4) - Цель - получить файловый сервер с именем fserver1.filial.work.corp (IP 10.58.96.24)
- Устанавливаем CentOS-minimal. (Я устанавливал, имеющийся на тот момент, CentOS 6.5 (i386), обновленный впоследствии на втором шаге до версии 6.7)P.S. В веб-консоле VMware мышь не работает, все делаем с клавиатуры – перемещение между кнопками – «TAB», подтвердить выбор – «Пробел»)При установке были заданы следующие параметры:
- Язык Русский
- Раскладка клавиатура – Английская (США)
- Стандартные накопители
- Имя узла задаем полностью fserver1.filial.work.corp
- Настраиваем сеть:
IP:10.58.96.24
Маска:255.255.255.0
Шлюз: 10.58.96.1
Серверы DNS: 10.58.96.4
Домены поиска: FILIAL.WORK.CORP
Ставим галку "Подключаться автоматически" - Часовой пояс должен быть Европа/Москва
- Задаём пароль ROOT
- Всё пространство
- Сохранить изменения на диск
- Установка пакетов
- Перезагрузка
- Подключаемся к серверу по SSH (Я использовал PuTTY)
- Обновим все необходимы модули в системе на актуальные версии::
yum update -y - Перезагружаем сервер (команда reboot). После перезагрузки снова подключаемся по SSH.
- Для удобства установим MC
yum install mc -y - Если используется виртуальная машина, то ставим VmWare Tools, если нет – переходим к шагу 8.
Подготовка к установке пакета VmWare Tools- 1 вариант (для 32 битного CentOSa ): yum -y install http://packages.vmware.com/tools/esx/6.0/repos/vmware-tools-repo-RHEL6-9.10.0-1.el6.i686.rpm
- 2 Вариант: Скачиваем rpm-пакет (для ESXi6: http://packages.vmware.com/tools/esx/6.0/repos/vmware-tools-repo-RHEL6-9.10.0-1.el6.x86_64.rpm - для 64 битного CentOSa, vmware-tools-repo-RHEL6-9.10.0-1.el6.i686.rpm – для 32 битной)
Другие версии - http://packages.vmware.com/tools/esx/index.html
Устанавливаем пакет:
yum install vmware-tools-repo-RHEL6-9.10.0-1.el6.i686.rpm -y
- Устанавливаем VmWare Tools:
yum install vmware-tools-esx-nox -y
Проверяем, что VmWare tools установлен и запущен:
initctl list | grep vmware-tools
Вывод:vmware-tools start/running
Чтобы узнать версию vmware-tools, выполните :vmware-toolbox-cmd -v - Устанавливаем пакеты Samba:
yum install samba samba-client samba-common –y - Добавляем Samba в автозагрузку:
chkconfig smb on
chkconfig nmb on - Отключаем SELinux.
Редактируем файл /etc/selinux/config. Находим строку SELINUX, меняем значение с enforcing на disabled:
SELINUX=disabled - Чтобы ресурсы Samba были доступны по сети, необходимо добавить правила в iptables. Вводим по очереди следующие строки:
iptables -I INPUT 4 -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
iptables -I INPUT 5 -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
iptables -I INPUT 6 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
service iptables save
service iptables restart - В корне создаем каталог data (его мы и будем для начала расшаривать):
mkdir /data
chmod -R 0777 /data - Предварительная настройка Samba:
- Переместим файл /etc/samba/smb.conf в папку /home.
- Создадим новый файл smb.conf
- Внесём в него следующие строки:
[global] workgroup = WORKGROUP security = share map to guest = bad user [data] path = /data browsable =yes writable = yes guest ok = yes read only = no
- Проверим конфигурацию Samba командой testparm
Должны получить следующее:
Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[data]" WARNING: The security=share option is deprecated Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions
На предупреждения о «security = share» и «rlimit_max» внимание не обращаем. - Перезапустим Samba
service smb restart
service nmb restart - Пробуем подключиться
- Для правильной работы в домене требуется настроить автоматическую синхронизацию времени с доменом:
a) yum install ntp -y
b) В файл /etc/ntp.conf добавляем информацию о сервере времени:
server filial.work.corp
(перед остальными серверами типа server X.servet.pool.ntp.org поставим знак "#")
c) После чего перезапустим демон ntpd:
service ntpd start
d) Добавляем сервис в автозагрузку
chkconfig ntpd on
e) Проверяем как работает синхронизация командой:
ntpq -p
Должны увидеть примерно такое:remote refid st t when poll reach delay offset jitter ============================================================================== *dc301.filial.wo 10.58.96.4 4 u 129 128 377 0.324 -3.265 10.328
- Устанавливаем пакет krb5-workstation и добавляем сервис winbind в автозагрузку:
yum install krb5-workstation -y
chkconfig winbind on - Добавляем в начало файла /etc/hosts строку
127.0.0.1 fserver1.filial.work.corp fserver1 - Устанавливаем лимит одновременно открытых файлов:
В конец файла (перед #End of file) /etc/security/limits.conf вписываем строку
* - nofile 16384 - Перезагружаем сервер (команда reboot). После перезагрузки снова подключаемся по SSH.
- Добавление Winbind в качестве источника пользователей и групп.
В файле /etc/nsswitch.conf внесём следующие изменения (отмечены жирным):
passwd: compat winbind
group: compat winbind
hosts: files dns winbind - Настройка Samba.
Для работы в домене, необходимо прописать правильные настройки в файле /etc/samba/smb.conf.
Ниже – рабочий пример части файла конфигурации (Обратите внимание на то, что название и короткое наименование домена вводятся ПРОПИСНЫМИ БУКВАМИ):workgroup = WORK-FILIAL realm = FILIAL.WORK.CORP security = ADS auth methods = winbind allow trusted domains = no domain master = no local master = no preferred master = no os level = 0 domain logons = no # Отключаем принтеры load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes smb ports = 139 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 idmap config * : range = 10000-20000 idmap config * : backend = tdb winbind enum groups = yes winbind enum users = yes winbind use default domain = yes #Автоматическое обновление билета Kerberos winbind refresh tickets = yes #Возможность авторизации доменных пользователей когда домен недоступен (включить после тестирования) #winbind offline logon = yes
- Проверим конфигурацию Samba командой testparm. Должны получить следующее:
Load smb config files from /etc/samba/smb.conf Processing section "[data]" Loaded services file OK. Server role: ROLE_DOMAIN_MEMBER Press enter to see a dump of your service definitions
- Введем сервер в домен. Для этого введите команду:
net ads join -U administrator -D FILIAL.WORK.CORP,где administrator - пользователь домена с правами ввода компьютеров в домен, название домена вводятся ПРОПИСНЫМИ БУКВАМИ.
И в случае успеха вы увидите что-то похожее на:
Using short domain name – WORK-FILIAL Joined 'FSERVER1' to dns domain 'filial.work.corp'
Так же можно набрать команду:
net ads testjoin
Если все хорошо, можно увидеть:
Wbinfo Join is OK - Перезагружаем сервер (команда reboot). После перезагрузки снова подключаемся по SSH.
- После перезагрузки проверим, что Winbind установил доверительные отношения с доменом командой:
wbinfo -t
Если всё нормально, то увидим:
checking the trust secret for domain DCN via RPC calls succeededКроме того, можно посмотреть кол-во пользователей и групп, должно быть больше 0:
wbinfo –u |wc –l
wbinfo –g |wc –l - В файл /etc/samba/smb.conf добавляем строки:
[data] path = /data valid users = @WORK-FILIAL\Администраторы домена write list = WORK-FILIAL\MainAdmin read only = yes browseable = yes create mask = 0666 directory mask = 0777
Пояснения:
valid users - пользователи и/или группы, которым разрешен доступ в каталог
write list - пользователи и/или группы, которым разрешена запись в каталог
В строках, где значение параметра начинается с @ означит, что это правило применяется не к одному пользователю, а к группе. Т.е. в примере доступ в каталог data разрешён только пользователям, входящим в группу "Администраторы домена", а вносить изменения (создавать, удалять, изменять данные) в каталоге может только пользователь "MainAdmin". Если нужно дать права нескольким пользователям или группам, то их нужно указать через запятую:
write list = WORK-FILIAL\MainAdmin, WORK-FILIAL\backupAdmin
create mask = 0666 - задаёт маску прав создаваемых пользователями файлов
directory mask = 0777 - задаёт права на создание каталогов и подкаталогов
У расшариваемого каталога, в нашем случае /data, у "прочих" пользователей должны быть права rwx.
Чтобы установить требуемые права на паку (в нашем случае /data), можно воспользоваться командой:
chmod 0777 /data
- После внесения изменений в настройки Samba, перезапустим службу
service smb restart - ...
Комментариев нет:
Отправить комментарий