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:

testparm
smbpasswd -w YOUR_ROOT_LDAP_PASS_HERE  
smbldap-populate

smbldap-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

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.