* [devel] I: control для cgi-bin скриптов.
@ 2008-08-27 6:57 Aleksey Avdeev
2008-08-27 7:04 ` Slava Semushin
2008-08-28 20:20 ` [devel] [Sysadmins] " Michael Shigorin
0 siblings, 2 replies; 9+ messages in thread
From: Aleksey Avdeev @ 2008-08-27 6:57 UTC (permalink / raw)
To: ALT Linux Team development discussions; +Cc: ALT Linux sysadmin discuss
[-- Attachment #1: Type: text/plain, Size: 1318 bytes --]
Здравствуйте, уважаемые.
Я собираюсь делать управление cgi-bin скриптами через control (иначе
-- слабо представляю как плавный переезд в бранчах сделать).
Состояния, которые будет поддерживать каждый /var/ww/cgi-bin/<имя>
(по крайней мере из тех, что идут с apache*):
file_root_noexec
file_root_exec
file_webmaster_noexec
file_webmaster_exec
symlink_root_noexec
symlink_root_exec
symlink_webmaster_noexec
symlink_webmaster_exec
Где части имени состояния говорят о том, что /var/ww/cgi-bin/<имя>:
file_* -- файл;
symlink_* -- сммлинк на некий /usr/share/<прилажение>/**/<имя>;
*_root_* -- принадлежит root;
*_webmaster_* -- принадлежит группе %webserver_webmaster;
*_noexec -- не исполняемый;
*_exec -- исполняемый;
Для облегчения процесса пакет webserver-cgi-bin-control будет
содержать подключаемый /etc/control.d/webserver-cgi-bin-functions (см.
<http://git.altlinux.org/people/solo/packages/?p=webserver-cgi-bin-control.git;a=commit;h=37bf249b532bfbb33d0d6fa892831bc7b0a501d1>)
с реализацией переключения данных состояний. (Исходные данные задаются в
виде переменных.)
PS: Будет весьма хорошо, если кто нибудь из знающих английский сообщения
отредактирует: translate.google.ru хорошо, но...
PPS: Кроспост.
--
С уважением. Алексей.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 552 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] I: control для cgi-bin скриптов.
2008-08-27 6:57 [devel] I: control для cgi-bin скриптов Aleksey Avdeev
@ 2008-08-27 7:04 ` Slava Semushin
2008-08-27 7:09 ` Aleksey Avdeev
2008-08-28 20:20 ` [devel] [Sysadmins] " Michael Shigorin
1 sibling, 1 reply; 9+ messages in thread
From: Slava Semushin @ 2008-08-27 7:04 UTC (permalink / raw)
To: ALT Linux Team development discussions
27 августа 2008 г. 13:57 пользователь Aleksey Avdeev <solo /
solin.spb.ru> написал:
[...]
><http://git.altlinux.org/people/solo/packages/?p=webserver-cgi-bin-control.git;a=commit;h=37bf249b532bfbb33d0d6fa892831bc7b0a501d1>)
> с реализацией переключения данных состояний. (Исходные данные задаются в
> виде переменных.)
У вас 5 раз используется конструкция cmd || exec 1, похоже что опечатка?
--
+ Slava Semushin | slava.semushin @ gmail.com
+ ALT Linux Team | php-coder @ altlinux.ru
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] [Sysadmins] I: control для cgi-bin скриптов.
2008-08-27 6:57 [devel] I: control для cgi-bin скриптов Aleksey Avdeev
2008-08-27 7:04 ` Slava Semushin
@ 2008-08-28 20:20 ` Michael Shigorin
2008-08-28 21:44 ` Aleksey Avdeev
1 sibling, 1 reply; 9+ messages in thread
From: Michael Shigorin @ 2008-08-28 20:20 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Wed, Aug 27, 2008 at 10:57:05AM +0400, Aleksey Avdeev wrote:
> file_root_noexec
> symlink_root_noexec
Есть ли смысл их различать?
См. тж. ls -L и chown -h:
pad:~> touch 1
pad:~> ln -s 1 2
pad:~> l 1 2
-rw-r--r-- 1 mike mike 0 Aug 28 23:19 1
lrwxrwxrwx 1 mike mike 1 Aug 28 23:19 2 -> 1
pad:~> sudo chown -h root:root 2
pad:~> l 1 2
-rw-r--r-- 1 mike mike 0 Aug 28 23:19 1
lrwxrwxrwx 1 root root 1 Aug 28 23:19 2 -> 1
pad:~> sudo chown -h root:root 1
pad:~> l 1 2
-rw-r--r-- 1 root root 0 Aug 28 23:19 1
lrwxrwxrwx 1 root root 1 Aug 28 23:19 2 -> 1
pad:~> ls -lL 2
-rw-r--r-- 1 root root 0 Aug 28 23:19 2
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] [Sysadmins] I: control для cgi-bin скриптов.
2008-08-28 20:20 ` [devel] [Sysadmins] " Michael Shigorin
@ 2008-08-28 21:44 ` Aleksey Avdeev
2008-08-28 22:10 ` Michael Shigorin
0 siblings, 1 reply; 9+ messages in thread
From: Aleksey Avdeev @ 2008-08-28 21:44 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 972 bytes --]
Michael Shigorin пишет:
> On Wed, Aug 27, 2008 at 10:57:05AM +0400, Aleksey Avdeev wrote:
>> file_root_noexec
>> symlink_root_noexec
>
> Есть ли смысл их различать?
Основной смысл в различии file_* и symlink_*:
1) гарантировать не замещение файла симлинком при обновлении (боле того:
при смене состояний в рамках file_* сам /var/www/cgi-bin/<файл> не
меняется);
2) обеспечить чтобы файл лежащий в /usr/share/<name>/ всегда был root:root
3) реализовать замену файла симлинком (при file_* -> symlink_*) и
симлинка копией оригинала (при symlink_* -> file_*)
Это мне позволит:
1. Сохранить оригинальный /var/www/cgi-bin/<файл> при обновлении.
2. Обеспечить корректное обновление файлов в /usr/share/<name>/,
одновременно запретив их редактирование webmaster`у (если это нужно, то
после перехода в file_webmaster_* файл /var/www/cgi-bin/ в его полном
распоряжении: система его менять не будет).
--
С уважением. Алексей.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 552 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] [Sysadmins] I: control для cgi-bin скриптов.
2008-08-28 21:44 ` Aleksey Avdeev
@ 2008-08-28 22:10 ` Michael Shigorin
2008-08-28 23:07 ` Aleksey Avdeev
0 siblings, 1 reply; 9+ messages in thread
From: Michael Shigorin @ 2008-08-28 22:10 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Fri, Aug 29, 2008 at 01:44:53AM +0400, Aleksey Avdeev wrote:
> >>file_root_noexec
> >>symlink_root_noexec
> >Есть ли смысл их различать?
> Основной смысл в различии file_* и symlink_*:
Для control?
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] [Sysadmins] I: control для cgi-bin скриптов.
2008-08-28 22:10 ` Michael Shigorin
@ 2008-08-28 23:07 ` Aleksey Avdeev
2008-08-29 10:38 ` Michael Shigorin
0 siblings, 1 reply; 9+ messages in thread
From: Aleksey Avdeev @ 2008-08-28 23:07 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 405 bytes --]
Michael Shigorin пишет:
> On Fri, Aug 29, 2008 at 01:44:53AM +0400, Aleksey Avdeev wrote:
>>>> file_root_noexec
>>>> symlink_root_noexec
>>> Есть ли смысл их различать?
>> Основной смысл в различии file_* и symlink_*:
>
> Для control?
Да. Т. к. /var/www/cgi-bin/<файл> может быть как файлом, так и
симлинком. И управляется это -- именно через control.
--
С уважением. Алексей.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 552 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] [Sysadmins] I: control для cgi-bin скриптов.
2008-08-28 23:07 ` Aleksey Avdeev
@ 2008-08-29 10:38 ` Michael Shigorin
2008-08-29 21:48 ` Aleksey Avdeev
0 siblings, 1 reply; 9+ messages in thread
From: Michael Shigorin @ 2008-08-29 10:38 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Fri, Aug 29, 2008 at 03:07:18AM +0400, Aleksey Avdeev wrote:
> >>>>file_root_noexec
> >>>>symlink_root_noexec
> >>>Есть ли смысл их различать?
> >>Основной смысл в различии file_* и symlink_*:
> >Для control?
> Да. Т. к. /var/www/cgi-bin/<файл> может быть как файлом, так и
> симлинком. И управляется это -- именно через control.
Можешь пояснить, как ты скриптом взаимопревращаешь файлы
и симлинки, или лучше смотреть в git и думать?
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] [Sysadmins] I: control для cgi-bin скриптов.
2008-08-29 10:38 ` Michael Shigorin
@ 2008-08-29 21:48 ` Aleksey Avdeev
0 siblings, 0 replies; 9+ messages in thread
From: Aleksey Avdeev @ 2008-08-29 21:48 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1245 bytes --]
Michael Shigorin пишет:
> On Fri, Aug 29, 2008 at 03:07:18AM +0400, Aleksey Avdeev wrote:
>
>>>>>>file_root_noexec
>>>>>>symlink_root_noexec
>>>>>
>>>>>Есть ли смысл их различать?
>>>>
>>>>Основной смысл в различии file_* и symlink_*:
>>>
>>>Для control?
>>
>>Да. Т. к. /var/www/cgi-bin/<файл> может быть как файлом, так и
>>симлинком. И управляется это -- именно через control.
>
>
> Можешь пояснить, как ты скриптом взаимопревращаешь файлы
> и симлинки, или лучше смотреть в git и думать?
Лучше смотреть в git и думать: Там довольно развесистое дерево if`ов
получилось...
Если в краце, то:
1. Смотрю, что нам надо получить в результате операции (case по имени
требуемого состояния);
2. Проверяю совпадает ли тип файла с нужным (if [ -L <файл> ])
3. Если совпадает:
3.а) и это симлинк
3.а.1) проверяю указывает ли симлинк на эталон;
3.а.2) если нет -- перехожу к 4.б
3.б) перехожу к 5.
4. Если не совпадает, то:
4.а) нужен файл вместо симлинка:
4.а.1) убиваю симлинк;
4.а.2) cp -a <эталон> <файл>
4.б) нужен симлинк вместо файла (или правильный симлинк вместо текущего):
4.б.1) ln -sf <эталон> <симлинк>
5. Выполняю остальные действия
--
С уважением. Алексей.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 556 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-08-29 21:48 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-08-27 6:57 [devel] I: control для cgi-bin скриптов Aleksey Avdeev
2008-08-27 7:04 ` Slava Semushin
2008-08-27 7:09 ` Aleksey Avdeev
2008-08-28 20:20 ` [devel] [Sysadmins] " Michael Shigorin
2008-08-28 21:44 ` Aleksey Avdeev
2008-08-28 22:10 ` Michael Shigorin
2008-08-28 23:07 ` Aleksey Avdeev
2008-08-29 10:38 ` Michael Shigorin
2008-08-29 21:48 ` Aleksey Avdeev
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git