Samba настройка · 4 min read · Dec 12, 2025
CentOS 5.x Samba Domain Controller With LDAP Backend - Page 2
Настройка удаленного администрирования ldap каталога
Отредактируйте /etc/php.ini и убедитесь, что memory_limit установлен как минимум на 32 МБ:
memory_limit = 32MПоследний раз, когда я проверял, версия phpldapadmin, доступная через yum, была сломана, поэтому мы получим последнюю и извлечем ее: Перейдите на http://sourceforge.net/project/showfiles.php?group_id=61828&package_id=177751 и загрузите последнюю версию. В моем случае это привело к следующим командам, ваш пакет может быть новее:
mkdir /var/www/html/samba && cd /var/www/html/samba
wget http://softlayer.dl.sourceforge.net/sourceforge/phpldapadmin/phpldapadmin-1.1.0.7.tar.gz
tar zxf phpldapadmin-1.1.0.7.tar.gz
ln -s phpldapadmin-1.1.0.7 pla
cp pla/config/config.php.example pla/config/config.phpТеперь отредактируйте ./pla/config/config.php и раскомментируйте следующую строку:
$config->custom->jpeg['tmpdir'] = "/tmp";Сделать новое программное обеспечение доступным
service httpd restart
chkconfig httpd onОтредактируйте /etc/sysconfig/iptables и скопируйте и измените строку о ssh (–dport 22 -j ACCEPT), а сразу после нее добавьте (предполагая, что ваша установка CentOS создала файл iptables по умолчанию):
#Разрешить Https://
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
#Разрешить samba:
-A RH-Firewall-1-INPUT -m multiport -p udp --dport 137,138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m multiport -p tcp --dport 139,445 -j ACCEPT
Теперь откройте ваш веб-браузер и перейдите по адресу https://192.168.0.5/samba/pla/ и войдите с именем пользователя cn=root,dc=DOMAINNAME и вашим паролем. Вы должны иметь возможность осмотреться и увидеть немного мусора.
Интеграция ldap и Samba
mv /etc/samba/smb.conf /etc/samba/smb.conf.dist
cp /usr/share/doc/smbldap-tools-0.9.5/smb.conf /etc/samba/smb.confОтредактируйте /etc/samba/smb.conf по своему усмотрению, часть ldap по умолчанию должна быть в порядке.
В разделе [global] вам нужно будет добавить эти три настройки, которых нет по умолчанию:
ldap ssl = off
nt acl support = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 SO_KEEPALIVE
cp /usr/share/doc/smbldap-tools-0.9.5/smbldap.conf /etc/smbldap-tools/smbldap.conf
net getlocalsidОбратите внимание, что net getlocalsid будет выдавать ошибки до конца, потому что вы еще не полностью настроили samba, но он выдаст sid, который вам нужен для следующего шага.
Отредактируйте /etc/smbldap-tools/smbldap.conf и вставьте sid, domain и т.д., по всему файлу до конца.
Отредактируйте /etc/smbldap-tools/smbldap_bind.conf и измените обе применимые строки, заменив “secret” на ваш пароль.
chmod 644 /etc/smbldap-tools/smbldap.conf
chmod 600 /etc/smbldap-tools/smbldap_bind.conf
authconfig-tuiПроверьте, что вывод authconfig-tui содержит:
[ ] Локальной авторизации достаточноТеперь протестируйте вашу конфигурацию samba:
testparmsmbpasswd -w YOUR_ROOT_LDAP_PASS_HERE
smbldap-populatesmbldap-populate запросит пароль, введите его.
Запустите установку LDAP Samba
/etc/init.d/smb start
chkconfig smb onДобавьте пользователей/группы, свяжите между unix и ldap:
useradd user1
smbldap-useradd -a -G 'Domain Users' -m -s /bin/bash -d /home/user2 -F "" -P user1Получите представление о UNIX группах, которых еще нет, которые LDAP предполагает:
net groupmap listВывод будет чем-то вроде:
Domain Admins (S-1-5-21-990788473-1556064292-4137819756-512) -> domain_admins
Domain Users (S-1-5-21-990788473-1556064292-4137819756-513) -> domain_users
Domain Guests (S-1-5-21-990788473-1556064292-4137819756-514) -> 514
Domain Computers (S-1-5-21-990788473-1556064292-4137819756-515) -> 515
Administrators (S-1-5-32-544) -> 544
Account Operators (S-1-5-32-548) -> 548
Print Operators (S-1-5-32-550) -> 550
Backup Operators (S-1-5-32-551) -> 551
Replicators (S-1-5-32-552) -> 552
Добавьте соответствующие группы в unix, используя предложенные GID:
groupadd -g 514 samba_domain_guests
groupadd -g 515 samba_domain_computers
groupadd -g 544 samba_administrator
groupadd -g 548 samba_account_operators
groupadd -g 550 samba_print_operators
groupadd -g 551 samba_backup_operators
groupadd -g 552 samba_replicatorsЕсли вы хотите добавить не встроенную группу в LDAP/Samba, скажем, для контроля, какие пользователи могут записывать/читать файлы на общем ресурсе, и чтобы это определялось группами:
smbldap-groupadd -a "Люди в нашем офисе"Затем снова получите вывод от net groupmap list и свяжите вновь созданную группу # так же, как в прошлый раз, добавив группу в систему unix:
groupadd -g 1001 samba_people_in_our_officeДобавьте пользователей в группы LDAP через веб-интерфейс, затем свяжите в unix:
usermod -a -G UNIX_GROUP_NAME UNIX_USERNAMEТакже добавьте учетные записи компьютеров в unix, используя группу “samba_domain_computers” из вышеуказанного, и где ваши разрешенные имена компьютеров заканчиваются на “$”:
useradd -M -g 515 -s /bin/false officecomp1$Наконец, но не обязательно, вы можете отключить ненужные службы, которые CentOS запускает по умолчанию. Я определил, что я, конкретно, не нуждаюсь ни в одном из следующих. Вы можете быть другим, поэтому посмотрите их перед тем, как отключить:
chkconfig ntpd off
chkconfig bluetooth off
chkconfig xinetd off
chkconfig smartd off
chkconfig yum-updatesd off
chkconfig rpcidmapd off
chkconfig rpcgssd off
chkconfig restorecond off
chkconfig portmap off
chkconfig pcscd off
chkconfig nfslock off
chkconfig mcstrans off
chkconfig mdmonitor off
chkconfig irqbalance off
chkconfig kudzu off
chkconfig ip6tables off
chkconfig hidd off
chkconfig gpm off
chkconfig haldaemon off
chkconfig autofs off
chkconfig avahi-daemon off
service ntpd stop
service bluetooth stop
service xinetd stop
service smartd stop
service yum-updatesd stop
service rpcidmapd stop
service rpcgssd stop
service restorecond stop
service portmap stop
service pcscd stop
service nfslock stop
service mcstrans stop
service mdmonitor stop
service irqbalance stop
service kudzu stop
service ip6tables stop
service hidd stop
service gpm stop
service haldaemon stop
service autofs stop
service avahi-daemon stop(Необязательно) Обновите Samba, чтобы компьютеры с Windows 7 могли присоединиться к домену
Убедитесь, что ldap ssl = off установлен в /etc/samba/smb.conf, так как это не требовалось для правильной работы версии Samba дистрибутива CentOS, но будет необходимо после обновления (3.0.x против 3.3.x, который поддерживает Windows 7).
Мы получим новые RPM пакеты samba, собранные для CentOS от Sernet:
cd /etc/yum.repos.d/
wget http://ftp.sernet.de/pub/samba/3.3/centos/5/sernet-samba.repo
yum updateВаши пакеты samba будут обновлены из репозитория Sernet.
После обновления наша служба CentOS для samba исчезла; давайте добавим ее снова:
chkconfig --add smb
chkconfig smb onТеперь добавьте компьютер с Windows 7 в Unix (предполагая, что имя группы ваших доменных компьютеров - “samba_domain_computers”):
useradd -M -g `cat /etc/group|grep samba_domain_computers|cut -d: -f3` -s /bin/false win7-computername$
usermod -a -G samba_domain_computers win7-computername$Теперь присоедините ваш ПК с Windows 7 к домену, используя этот официальный мини-гид Samba:
http://wiki.samba.org/index.php/Windows7
Get new posts in your inbox
No spam. Unsubscribe anytime.