Sphelper — различия между версиями
(→Проверки) |
(→sphelper на другом сервере) |
||
(не показано 8 промежуточных версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | |||
− | |||
sp-helper — это средство для автоматического создания unix-пользователей (как следствие, почтовых ящиков) и samba-пользователей синхронно с созданием пользователей в Школьном портале. Это же касается задания (сброса) и изменения их паролей. | sp-helper — это средство для автоматического создания unix-пользователей (как следствие, почтовых ящиков) и samba-пользователей синхронно с созданием пользователей в Школьном портале. Это же касается задания (сброса) и изменения их паролей. | ||
Строка 43: | Строка 41: | ||
<pre> | <pre> | ||
+ | #!/bin/bash | ||
+ | |||
SPHELPER_SERVICES_LINE='sphelper 7890/tcp' | SPHELPER_SERVICES_LINE='sphelper 7890/tcp' | ||
if ! grep -q "$SPHELPER_SERVICES_LINE" /etc/services; then | if ! grep -q "$SPHELPER_SERVICES_LINE" /etc/services; then | ||
Строка 61: | Строка 61: | ||
# create_dc_users = sp-helper | # create_dc_users = sp-helper | ||
# sp_helper_host = IP_сервера_куда_вы_перенесли_sphelper | # sp_helper_host = IP_сервера_куда_вы_перенесли_sphelper | ||
+ | |||
+ | Пример файла конфигурации для sphelper | ||
+ | <pre> | ||
+ | # SP config for sphelper only | ||
+ | sphelper_smbuser = sphelper | ||
+ | sphelper_smbpass = *** | ||
+ | db_user = SYSDBA | ||
+ | db_pass = *** | ||
+ | </pre> | ||
== Журнал == | == Журнал == | ||
Строка 74: | Строка 83: | ||
<pre> | <pre> | ||
netstat -ntlp|grep 7890 | netstat -ntlp|grep 7890 | ||
+ | # пример результата | ||
# tcp 0 0 0.0.0.0:7890 0.0.0.0:* LISTEN 25855/xinetd | # tcp 0 0 0.0.0.0:7890 0.0.0.0:* LISTEN 25855/xinetd | ||
</pre> | </pre> | ||
Строка 84: | Строка 94: | ||
require "/var/www/cgi-bin/sp/common.pl"; | require "/var/www/cgi-bin/sp/common.pl"; | ||
− | my $user = ' | + | # имя пользователя для проверки (логин в Портале) |
+ | my $user = 'ivanov'; | ||
+ | |||
+ | our (%gconf); | ||
+ | %gconf = read_config('/var/www/cgi-bin/sp/sp.conf'); | ||
+ | |||
my $answer = sphelper_request("<sp_user_info><user>$user</user></sp_user_info>"); | my $answer = sphelper_request("<sp_user_info><user>$user</user></sp_user_info>"); | ||
Строка 91: | Строка 106: | ||
else | else | ||
{ print "FAIL: $answer\n" } | { print "FAIL: $answer\n" } | ||
+ | |||
+ | # пример результата | ||
+ | # OK: user = ivanov, groups = students,class_1a | ||
</pre> | </pre> |
Текущая версия на 14:35, 18 февраля 2015
sp-helper — это средство для автоматического создания unix-пользователей (как следствие, почтовых ящиков) и samba-пользователей синхронно с созданием пользователей в Школьном портале. Это же касается задания (сброса) и изменения их паролей.
# для начала использования этого сервиса нужен samba-пользователь. # есть ли пользователь для sp-helper? узнаём командой: pdbedit -L | grep sp-helper # если нет, создаём # придумайте и запишите страшно длинный пароль # например, с помощью команды pwgen --secure 64 1 # создаём пользователя с паролем smbpasswd -s -a sp-helper # включаем пользователя в группу root: usermod -G root sp-helper # проверка (должно ответить root) id -n -g sp-helper
В файле конфигурации (см. Файл конфигурации) должны быть заданы настройки:
- sphelper_smbuser = sp-helper
- sphelper_smbpass = тот_самый_страшный_пароль
По умолчанию sp-helper устанавливается на сервере вместе с порталом.
sphelper на другом сервере
Можно установить sp-helper на другой сервер, где нет портала.
Для этого нужно скопировать файлы:
/opt/xxi/sphelper.pl /etc/xinetd.d/sphelper
Выполните в bash от пользователя root скрипт:
#!/bin/bash SPHELPER_SERVICES_LINE='sphelper 7890/tcp' if ! grep -q "$SPHELPER_SERVICES_LINE" /etc/services; then echo "$SPHELPER_SERVICES_LINE" >> /etc/services fi chown root.root /opt/xxi/sphelper.pl chmod 750 /opt/xxi/sphelper.pl service xinetd restart
Файл конфигурации портала нужно скопировать на сервер, куда вы ставите sp-helper.
В нём должны быть параметры, равные параметрам на основном сервере:
- db_user
- db_pass
На сервере с порталом необходимо задать настройки:
- create_dc_users = sp-helper
- sp_helper_host = IP_сервера_куда_вы_перенесли_sphelper
Пример файла конфигурации для sphelper
# SP config for sphelper only sphelper_smbuser = sphelper sphelper_smbpass = *** db_user = SYSDBA db_pass = ***
Журнал
/var/log/sphelper.log
Проверки
sphelper слушает порт?
netstat -ntlp|grep 7890 # пример результата # tcp 0 0 0.0.0.0:7890 0.0.0.0:* LISTEN 25855/xinetd
Perl-скрипт для проверки sphelper:
#!/usr/bin/perl use strict; use CGI::Carp; require "/var/www/cgi-bin/sp/common.pl"; # имя пользователя для проверки (логин в Портале) my $user = 'ivanov'; our (%gconf); %gconf = read_config('/var/www/cgi-bin/sp/sp.conf'); my $answer = sphelper_request("<sp_user_info><user>$user</user></sp_user_info>"); if ( $answer =~ m|<groups>(.+)</groups>| ) { print "OK: user = $user, groups = $1\n" } else { print "FAIL: $answer\n" } # пример результата # OK: user = ivanov, groups = students,class_1a