У меня есть сценарий Perl, работающий на старом сервере Debian 6 (пока я не перейду на новый сервер), который открывает редактируемую панель в файле .shtml, принимает только Креольский разметка, вводимая одним пользователем, и запись в два редактируемых пользователем файла .shtml и создание резервной копии каждого при сохранении отредактированного файла .shtml. Разрешения файла .shtml: 606
или -rw----rw-
.
После редактирования неопытный пользователь должен ввести пароль для запуска скрипта, и (в том маловероятном случае, когда он когда-либо это сделает) теги «скрипта» появятся в виде обычного текста.
До переключения серверов они работали под suEXEC
(которые я не настраивал и не хочу использовать), но теперь им нужно изменить разрешения для запуска.
Два редактируемых файла .shtml - это SSI с блоком virtualHost, установленным на IncludesNoExec
.
У пользователя нет файла .htaccess public_html
каталог, единственный другой пользователь делает только простые изменения HTML и не имеет никаких других знаний, я управляю скриптами в cgi-bin
выше public_html
папка, а все файлы в каталоге пользователя имеют имя владельца / группы.
606
/-rw----rw-
?Я подумал об изменении порта сервера с 22 на что-то намного более высокое, что я сделал на другом сервере, но для пары сайтов, работающих на этом старом, у меня пока нет доступа к их настройкам DNS или удаленного входа, поэтому это еще не вариант. Как и многие люди, я на самом деле не администратор сервера, но мне нужно поддерживать вещи, так как мой напарник умер.
Наиболее важные вопросы:
Судя по вашему описанию, приложение представляет собой HTML-форму, а ваша программа - CGI-скрипт. Таким образом, этот сценарий запускается пользователем демона сервера HTTP, когда пользователь нажимает кнопку «Отправить».
В случае взлома этого или другого сценария CGI вы не хотите, чтобы ваш сценарий изменялся. Таким образом, сценарий должен быть доступен для чтения + выполнения только пользователем-демону HTTP, а владельцем файла должен быть другой пользователь, чтобы пользователь-демон не мог изменить разрешение.
Файлы .shtml должны быть доступны для чтения и записи демону, а также не должны принадлежать демону. Сценарий никогда не должен удалять их, а просто переписывать их содержимое.
Каталоги, в которых хранятся скрипт и файлы .shtml, не должны быть доступны для записи или принадлежать пользователю демона HTTP.