[samba] что нужно, чтобы поднять самбу как контроллер домена?
Вадим Илларионов
master на posylt.org
Вт Май 12 18:28:09 MSD 2009
Playnet wrote:
> Собсно, создание ключей:
> # openssl genrsa -des3 -out ca.key 2048
> # openssl req -new -x509 -days 1825 -utf8 -key ca.key -out ca.cert
> in Common Name (eg, YOUR name) []: ldap.domain.ru
>
> usercert:
> # openssl genrsa -out user.key 1024
> # openssl req -new -key user.key -out user.csr -utf8
> # openssl x509 -req -in user.csr -out user.cert \
> -CA ca.cert -CAkey ca.key -CAcreateserial -days 1095
>
> # vi /usr/local/etc/openldap/slapd.conf
> added:
>
> disallow tls_authc
> ;Почему?
>
> TLSCertificateFile /usr/local/etc/openldap/ssl/user.cert
> TLSCertificateKeyFile /usr/local/etc/openldap/ssl/user.key
> TLSCACertificateFile /usr/local/etc/openldap/ssl/ca.cert
>
>
>
> При старте samba in /var/log/messages:
> Jan 7 19:28:29 sstand slapd[53000]: OTP unavailable because can't
> read/write key database /etc/opiekeys: Permission denied файл на рута, а
> кого ставить?
>
> 3) on ldapsearch in /var/log/messages:
> Jan 7 19:28:30 sstand ldapsearch: GSSAPI Error: Miscellaneous failure
> (see text) (open(/tmp/krb5cc_0): No such file or directory) Зачем лдапу
> вдруг керберос понадобился? Это при компиляции с sasl
Мой инит-скрипт - внимание на ajust(){} :
# egrep -v "^$|^#" slapd
=====================================
WITHOUT_RC_COMPAT=1 # Do not
load RH compatibility interface.
. /etc/init.d/functions # Source function
library.
. cert-sh-functions
SourceIfNotEmpty /etc/sysconfig/network && is_yes "$NETWORKING" || exit
SourceIfNotEmpty /etc/sysconfig/ldap
DAEMON=slapd
RunDir=/var/lib/ldap
RunAs=ldap
DAEMONTEST=/usr/sbin/slaptest
CONFIG=/etc/openldap/$DAEMON.conf
LOCKFILE=/var/lock/subsys/$DAEMON
PIDFILE=$RunDir/var/run/$DAEMON.pid
RETVAL=0
SSLCONFIG=/etc/openldap/$DAEMON-openssl.cnf
SSLCERT=/var/lib/ssl/certs/$DAEMON.cert
SSLKEY=/var/lib/ssl/private/$DAEMON.key
CERT=/etc/openldap/ssl/$DAEMON.pem
check(){
action "Checking $DAEMON configuration" $DAEMONTEST -u || exit
}
adjust(){
[ -s "$CERT" ] || {
ssl_generate "$DAEMON" "$SSLCONFIG" &&
cat "$SSLKEY" "$SSLCERT" > "$CERT" &&
chmod 0640 "$CERT" &&
chgrp $RunAs "$CERT"
action "Adjusting environment for
$DAEMON:" /etc/chroot.d/ldap.all || exit
}
}
start(){
adjust
start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --
$DAEMON -u $RunAs -r $RunDir -h "$SLAPDURLLIST" "$SLAPD_OPTIONS"
RETVAL=$?
return $RETVAL
}
stop(){
stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user
$RunAs $DAEMON
RETVAL=$?
return $RETVAL
}
restart(){
check
stop
sleep 3
start
}
case "$1" in # See how we were called.
start|stop|restart|check) $1 ;;
condstop) [ -e "$LOCKFILE" ] && stop ;;
condrestart) [ -e "$LOCKFILE" ] && restart ;;
status) status --pidfile "$PIDFILE" --expect-user $RunAs $DAEMON;
RETVAL=$? ;;
*) msg_usage "${0##*/} {start|stop|status|check|restart
condstop|condrestart}"
RETVAL=1
esac
exit $RETVAL
=====================================
Именно процедурой ajust() в случае отсутствия создаётся сертификат и
назначаются допуски к нему.
Само собой, $SSLCONFIG следует отрихтовать под себя.
______________________________
С уважением,
Вадим Илларионов.
JID, mailto: master на posylt.org
UIN: 7899517
Телефоны:
дом. +7 39543 67-300
моб. +7 964 103-6567
Подробная информация о списке рассылки Samba