Bug 19108 - unwary chrooted file
Summary: unwary chrooted file
Status: CLOSED WONTFIX
Alias: None
Product: Branch 4.1
Classification: Distributions
Component: openldap-servers (show other bugs)
Version: unspecified
Hardware: all Linux
: P2 normal
Assignee: Nobody's working on this, feel free to take it
QA Contact: qa-4.1@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-09 13:55 MSK by Michael Shigorin
Modified: 2014-11-05 20:42 MSK (History)
2 users (show)

See Also:


Attachments
trivial bugfix/cleanup (1.13 KB, patch)
2009-03-09 13:57 MSK, Michael Shigorin
no flags Details | Diff
a bit more elaborate one (1.34 KB, patch)
2009-03-09 14:00 MSK, Michael Shigorin
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Shigorin 2009-03-09 13:55:43 MSK
После обновления (мож раньше не замечал, вообще-то дома LDAP не используется) вылезло:

Mar  9 12:11:58 home ldap.all: install:
Mar  9 12:11:58 home ldap.all: missing file operand
Mar  9 12:11:58 home ldap.all: Try `install --help' for more information.
Mar  9 12:11:58 home slapd: Adjusting environment for slapd: failed

Проблемы в ldap.conf:

+ grep ldap /etc/group
+ grep ldap /etc/passwd
+ awk '/^directory/ {sub(/\//,"",$2);print $2}' /etc/openldap/slapd-access.conf /etc/openldap/slapd.conf
+ xargs install -d -o ldap -g ldap -m 0700
install: missing file operand
Try `install --help' for more information.
++ awk '/^directory/ {sub(/\//,"",$2);print $2}' /etc/openldap/slapd-access.conf /etc/openldap/slapd.conf
+ awk '/^directory/ {sub(/\//,"",$2);print $2}' /etc/openldap/slapd-access.conf /etc/openldap/slapd.conf
+ sed 's|ldap/bases|ldap/dblogs|'
+ xargs install -d -o ldap -g ldap -m 0700
install: missing file operand
Try `install --help' for more information.
+ copy_resolv_conf

awk '/^directory/ {sub(/\//,"",$2);print $2}' /etc/openldap/*slapd*.conf
возвращает пустой результат.

Два патча (первый делает xargs -r, второй чуточку оптимизирует двойной проход и заодно чинит эту же проблему) сейчас приложу.
Comment 1 Michael Shigorin 2009-03-09 13:57:10 MSK
Created attachment 3357 [details]
trivial bugfix/cleanup
Comment 2 Michael Shigorin 2009-03-09 14:00:35 MSK
Created attachment 3358 [details]
a bit more elaborate one

PS: я проверил, что эти исправления чинят работу в случае отсутствия ^directory, надо бы на всякий проверить при наличии ;-)
Comment 3 barabashka 2009-03-10 03:46:20 MSK
(В ответ на комментарий №2)
> Created an attachment (id=3358) [details]
> a bit more elaborate one
> 
> PS: я проверил, что эти исправления чинят работу в случае отсутствия
> ^directory, надо бы на всякий проверить при наличии ;-)

Это политический момент. Как я понимаю, у нас должен быть хотя бы одно дерево и следовательно хотя бы один directory. По этой причине ldap.all и работает таким образом. 

Как системный администратор, я за то чтобы у нас всегда существовало хотя бы одно дерево и при отсутствии последнего выдавалось соответствующее сообщение.
Comment 4 barabashka 2009-03-10 03:47:18 MSK
В смысле ругань была вразумительной, а не то что сейчас.
Comment 5 Dmitry Lebkov 2009-03-10 05:24:14 MSK
(В ответ на комментарий №3)
> (В ответ на комментарий №2)
> > Created an attachment (id=3358) [details] [details]
> > a bit more elaborate one
> > 
> > PS: я проверил, что эти исправления чинят работу в случае отсутствия
> > ^directory, надо бы на всякий проверить при наличии ;-)

Миш, спасибо за -- направил мысли в нужную сторону. ;)

> Это политический момент. Как я понимаю, у нас должен быть хотя бы одно
> дерево и следовательно хотя бы один directory. По этой причине ldap.all
> и работает таким образом. 

Не совсем так. directory настраивается только для бэкендов, работающих с
локальным хранилищами данных (типа BDB/HDB, LDIF и т.п.). Другими словами,
отсутствие данного параметра в конфигах - опционально и не должно приводить
к невозможности запуска LDAP-сервера.

> Как системный администратор, я за то чтобы у нас всегда существовало хотя бы
> одно дерево и при отсутствии последнего выдавалось соответствующее сообщение.

Дерево может существовать и без directory. ;) Подробности смотреть в
slapd-(bdb|dnssrv|hdb|ldap|...) -- полный список есть в man slapd.con,
в секции 'SEE ALSO'.
Comment 6 barabashka 2009-03-10 12:14:39 MSK
[skip]
> 
> Миш, спасибо за -- направил мысли в нужную сторону. ;)
> 
> > Это политический момент. Как я понимаю, у нас должен быть хотя бы одно
> > дерево и следовательно хотя бы один directory. По этой причине ldap.all
> > и работает таким образом. 
> 
> Не совсем так. directory настраивается только для бэкендов, работающих с
> локальным хранилищами данных (типа BDB/HDB, LDIF и т.п.). Другими словами,
> отсутствие данного параметра в конфигах - опционально и не должно приводить
> к невозможности запуска LDAP-сервера.
> 
> > Как системный администратор, я за то чтобы у нас всегда существовало хотя бы
> > одно дерево и при отсутствии последнего выдавалось соответствующее сообщение.
> 
> Дерево может существовать и без directory. ;) Подробности смотреть в
> slapd-(bdb|dnssrv|hdb|ldap|...) -- полный список есть в man slapd.con,
> в секции 'SEE ALSO'.


Не, баб яга не против directory, баб яга за 'хотя бы одно дерево' и за адекватную ругань.
Comment 7 Michael Shigorin 2009-03-10 20:31:20 MSK
(In reply to comment #5)
> Миш, спасибо за -- направил мысли в нужную сторону. ;)
Тебе спасибо :-)
Comment 8 Michael Shigorin 2014-11-05 20:42:19 MSK
В 4.1/branch исправления не будут вноситься уже технически (заглушена очередь на сборку), поэтому прошу ошибки, актуальные для sisyphus/p7/t7, перевесить на текущие ветки или сизиф.