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. Выполняю остальные действия -- С уважением. Алексей.