- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева

Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую,
кто-нибудь делал на CentOS-7 и Fastpanel (хотя это не важно скорее всего), каким-либо более удобным способом ограничение для фтп-аккаунта на папки?
То есть, на данный момент заходя на ftp-аккаунт мы видим:
Папка-1
Папка-2
Папка-3
и файлы в корне сайта.
И хотим скрыть Папка-2 для данного ftp-аккаунта.
Или же хотим скрыть какой-то определённый файл в корне сайта для данного фтп-аккаунта, так можно?
Fastpanel насколько вижу, не позволяет создать фтп-аккаунт с набором для него разрешённых папок.
Никакая панелька не всемогуща. Всегда найдется хитрая задача, которую нигде предусмотреть бы не додумались.
В конкретно этом случае я бы первым делом узнал какой именно ftp сервер используется. Если proftpd, то все просто.
Во-первых открываем его конфиг(и) и ищем есть ли allowoverride on, если нет - добавляем. Правда не знаю может ли эта панелька перезаписать позже конфиг.
В нужной папке создаете файл .ftpaccess с такого плана содержимым:
hidefiles (dir1|index.htm)$
<limit all>
ignorehidden on
</limit>
Т.е. вроде понятно - перечисляете какие файлы/папки спрятать. Или наоборот: hidefiles !(dir1|index.htm)$ - спрятать все, кроме dir1 и index.htm
Спрятать не от всех, а только определенного пользователя: hidefiles (dir1|index.htm)$ user nesokolov (или опять же через user !sokolov спрятать от всех кроме такого-то юзера)
(справка)
Ниже limit all нужно т.к. без него допустим папку dir1 по фтп видно не будет, но если знать что она там есть, то можно написать cd dir1 и невозмутимо попасть в нее 😏
Однако... надо смотреть не вырванно из контекста, а какие конкретно задачи вы преследуете. Дать кому-то чужому доступ на фтп?
Меня периодически клиенты спрашивают о подобном и объясняю, что (хотя конечно кто знает как там у вас все настроено) это не имеет никакого смысла.
Если вы пускаете кого-то на часть сайта или на один сайт аккаунта, не желая пускать на остальные сайты - знающий человек все равно скорей всего сможет влезть куда захочет.
К примеру он закинет php или cgi скрипт свой, которым вместо ftp сервера, через web сможет открыть все куда есть доступ у этого пользователя.
Т.е. в вашем случае вы типа спрятали файлы и папки какие-то, но что помешает php скриптом получить к ним доступ?
Не исключаю что из-за этого и нет такого функционала в панели вашей, т.к. смысла нет.
Однако... надо смотреть не вырванно из контекста, а какие конкретно задачи вы преследуете. Дать кому-то чужому доступ на фтп?
Евгений, благодарю за подробный ответ!
Задача, да - дать кому-то чужому доступ на фтп, но при этом для безопасности ограничить доступ к одному php файлу, но при этом чтобы php файл был доступен по http и исполнялся, т.к. он задействован в движке сайта.
с Вашим вариантом разбираюсь, установлен да, proftpd.
Пока я пришёл к решению, не знаю правильное ли:
1) заходим через root по SSH
2) меняем Владельца php-файла на root через chown (т.к. файл был создан через фтп-аккаунт)
3) убираем на этом php-файле права Чтения, Запись и Исполнение для Группы и для Остальных.
Тогда он перестаёт открываться по FTP (как и хотелось)
Получается:
-rwx------
Но исполняется по http (как и требовалось)
Вроде бы работает, это корректное решение?
Если в будущем нужно подредактировать данный файл, то меняем обратно права на запись через ssh.
Либо редактируем данный файл через root по ssh (не совсем конечно удобно php код так править)
UPDATE:
Нет не работает способ.
По http файл - access denied (видимо раньше работал, т.к. читался из кэша).
Причём выставление прав на Исполнение на Группу или Остальным - не помогает.
А на чтение не можем выставить права, т.к. тогда он будет открываться для просмотра по FTP.
Суть так и не улавливаете.
Если ваш web-сервер читает/исполняет и тот секретный файл и другой, который кто-то чужой по фтп закинет - все, это конец :)
Что его остановит сделать <?echo file_get_contents('secret.php');?>
Суть же в том что вы пытаетесь разграничить доступ в одной среде (ftp) - да, это можно сделать через .ftpaccess (выше расписано).
Но в другой середе у вас apache (или что там) имеет доступ (и должен иметь, раз говорите он должен по http открываться) ко всему. И как вы себе представляете?
Если уж совсем пофантазировать, то можно сделать что-угодно. Например:
1) Делаем владельцем папки сайта и всех его файлов user1, на папки 770, на файлы 660 права.
2) Секретный ваш secret.php делаем владельцем user2 и тоже 660.
3) Запускаем 2шт - apache1 от имени user1 и apache2 от user2
4) Nginx проксирует запросы этого сайта к backend apache1 - и соответственно сайт открывается нормально весь, кроме secret.php - к нему у user1 доступа нет и пишет 403 firbidden.
5) Делаем в конфиге nginx исключение типа location /secret.php... который проксироваться будет уже к apache2.
6) Ну и по фтп заходит user1 и имеет доступ ко всем файлам/папкам сайта, короме конечно же secret.php
7) Даже если он закинет php shell или просто свой любой скрипт и попытается открыть secret.php - доступа у него не будет т.к. владельцем его является user2, а 660 - последняя 0 означает что для всех остальных доступа нет. Но при этом сайт и файл этот по http будут полноценно работать.
И теперь спрашивается стоит ли оно этой всей мороки?
И хотим скрыть Папка-2 для данного ftp-аккаунта.
Можно открыть для данного ftp-аккаунта конкретную папку - это обычная функциональность.
Или же хотим скрыть какой-то определённый файл в корне сайта для данного фтп-аккаунта
А так нельзя.
Приветствую,
кто-нибудь делал на CentOS-7 и Fastpanel (хотя это не важно скорее всего), каким-либо более удобным способом ограничение для фтп-аккаунта на папки?
То есть, на данный момент заходя на ftp-аккаунт мы видим:
Папка-1
Папка-2
Папка-3
и файлы в корне сайта.
И хотим скрыть Папка-2 для данного ftp-аккаунта.
Или же хотим скрыть какой-то определённый файл в корне сайта для данного фтп-аккаунта, так можно?
Fastpanel насколько вижу, не позволяет создать фтп-аккаунт с набором для него разрешённых папок.
Добрый день.
Можно сделать так:
Создать файл, к примеру, /etc/proftpd/conf.d/deny.conf со следующим содержимым:
После этого не забудьте перезапустить proftpd.