Comments 54
Пользовался вашим менеджером по работе, когда нужно было выполнить кое-какие работы на сайте клиента, размещённом у вас, интерфейс и возможности приятно порадовали. Жму руку за смелый ход.
Спасибо, в планах выложить еще несколько проектов в OpenSource. Но не хватает времени и сил для приведения их в адекватный вид (чтобы ими могли пользоваться не только мы). В любом случае будем стараться. Хотим в течении нескольких лет прийти к тому, что бы выложить панель в OpenSource — но это очень долгосрочные планы.
Отличный продукт и очень удобный файл менеджер! Но я бы назвал это не файловым менеджером, это скорее что-то типа персонального файлового хранилища.
Не хотите продавать место, которое можно смонтировать к маку как дропбокс?
Не хотите продавать место, которое можно смонтировать к маку как дропбокс?
Мы думали сделать подобное в рамках виртуального хостинга. Можно и с fm интегрировать.
и как всегда с дизайном у бегета всё отлично!
Молодцы, я с вами уже 5 лет!
Молодцы, я с вами уже 5 лет!
Не выдержали хабраэффекта? Ай-ай, не солидно как для хостера :-)
Как на счёт безопасности?
Возможен ли такой сценарий:
При открытом Sprut.io
На стороннем сайте запускается скрипт, и выполняется запрос к вашему сайту
https://demo.sprut.io:9443/actions/files/list
Со всеми вытекающими последствиями, от получения списка файлов, до их содержимого.
Возможен ли такой сценарий:
При открытом Sprut.io
На стороннем сайте запускается скрипт, и выполняется запрос к вашему сайту
https://demo.sprut.io:9443/actions/files/list
Со всеми вытекающими последствиями, от получения списка файлов, до их содержимого.
Прикольно. Прельстил визуальный редактор, через mc не удобно большие конфиги править. Но на мой взгляд спрут слишком тяжел чтоб пользовать его как альтернативу mc.
в чем рисовали картинки для статьи :)
А английского интерфейса нет что ли?
Файловый менеджер переведен на 3 языка — русский, английский, немецкий (файлы перевода можно посмотреть тут https://github.com/LTD-Beget/sprutio-frontend/tree/f05982acb03409a84146edec996ad4f50e3d1087/i18n)
В интерфейс переключение языков не выносили, так как у нас оно соответствует языку в панели управления. На текущий момент можно поменять язык в файле конфигурации https://github.com/LTD-Beget/sprutio/blob/master/app/config/settings.py
Переключение языков нужно добавить в интерфейс.
В интерфейс переключение языков не выносили, так как у нас оно соответствует языку в панели управления. На текущий момент можно поменять язык в файле конфигурации https://github.com/LTD-Beget/sprutio/blob/master/app/config/settings.py
Переключение языков нужно добавить в интерфейс.
Без докера совсем нельзя?
Распаковка архивов штука такая… Вы от зип-бомб защиту сделали? Я вам ничего там не сломал сейчас?..
Плохая дырка в безопасности. Отписал пока в личку автору. Или к кому обращаться?
$ curl 'https://demo.sprut.io:9443/actions/files/list' -H 'Pragma: no-cache' -H 'Origin: demo.sprut.io:9443' -H 'Accept-Encoding: gzip, deflate' -H 'Accept: */*' -H 'Cache-Control: no-cache' -H 'X-Requested-With: XMLHttpRequest' -H 'Cookie: token=«2|1:0|10:1456523400|5:token|80:Rk06OnNlc3Npb246OmRlbW8xOTQ2MzgyNjo6NjdiZTAwMDAxYTdmM2YyYzY3Yjg5ZDFkM2VjMDAyZmQ=|5827658124228853f86b759f1e3b59768ada60a9621b50c8db4ee79b7e45eb11»; locale=«2|1:0|10:1456523400|6:locale|8:cnVfUlU=|c0f1da4bc4737680364be88cd51aa4f03edd6c39c091468de13c313719c01e27»' -H 'Connection: keep-alive' --data-binary '{«session»:{«host»:«localhost»,«type»:«home»},«path»:"../etc/"}' --compressed
{«error»: false, «traceback»: null, «message»: null, «data»: {«is_share_write»:
Если пользователь имеет права на чтение директорий или файлов — эти же директории или файлы можно прочитать из файлового менеджера. Пользователь должен иметь доступ к /etc (так же как и к /etc/passwd). В Sprut.IO надо в принципе убрать понятие домашнего FTP или добавить настройку которая позволяет/запрещает выход из домашней директории. Основное ограничение все таки это права пользователя в системе — остальное для удобства пользователя. В принципе это эквивалентно тому как если Вы зайдете по SSH на сервер.
Да, это я по привычке начал рассматривать сервис, как «публичный для многих». А это же менеджер только для своего сервера, где «все свои». Ок. Хотя, возможно, об этом стоит упомянуть, мало ли кто-то захочет сделать на его базе публичную «файловую помойку».
Я не очень понимаю о чем Вы говорите — на хостинге пользователи тоже могут смотреть /etc зайдя по SSH. На /etc стоят права 755 и это нормально для Linux (это права по умолчанию). А вот на homedir уже стоит 700 и зайти к нему в директорию Вы не сможете (если сам пользователь не поставит другие права).
Если Вы хотите, что бы пользователи не делали листинг файлов — ставьте права 711 на /etc. Но при 700 перестанет работать резолвер, определение логина, переменные окружения, профайлы и куча всего.
Если Вы хотите, что бы пользователи не делали листинг файлов — ставьте права 711 на /etc. Но при 700 перестанет работать резолвер, определение логина, переменные окружения, профайлы и куча всего.
на хостинге пользователи тоже могут смотреть /etc зайдя по SSH
Файловый менеджер всё-таки уместнее сравнивать с SFTP, а он умеет chroot. Кстати, SSH тоже умеет, правда через создание jail. Мне кажется, полноценный chroot в Вашу схему будет внедрить не сложно.
Смотрите. Вот вы заустили демо. Там свободная регистрация юзера.
Если эти учетные записи также подразумевают доступ по ssh — тогда вопросов нет.
Но если посмотреть на ваш /etc/passwd :), то увидим, что у демо юзеров шелл выключен:
.../home/sprutio/fe/demo91784096:/bin/false\ndemo18227033:x:1433:1433::/home/sprutio/1f/demo18227033:/bin/false\n…
Значит доступ по ssh таки закрыт, и подразумевается доступ через вебку.
Штатные средства вебки не позволяют гулять по всей ФС и смотреть всё, до чего хватит прав доступа, верно? Однако, подменяя запросы, это можно легко делать: читать настройки в /etc, смотреть файлы в /tmp, где они часто доступны всем, прикинуть узнать версии ПО. Опять же, очень часто неподготовленные юзеры выставляют права доступа 777, чтобы «все работало». Не все знают тонкости работы даже базовых прав доступа в linux. Например, вы предложили выставить права 711. Однако, отсутствие Exec на каталоге запрещает только полный листинг, при том, что наличия R достаточно для того, чтобы получить список файлов/каталогов, хотя и без метаданных (прав доступа, размера, владельцев). Однако дальнейшим перебором можно нащупать объекты уже с 777.
Кратко, суть такая: подмена запросов к вебке открывает возможности (выход из home), которых нет в базовой функциональности.
Если это ваш сервер — ок, если вы открываете доступ через эту вебку кому-то другому — это, мне кажется, далеко не ОК.
Если эти учетные записи также подразумевают доступ по ssh — тогда вопросов нет.
Но если посмотреть на ваш /etc/passwd :), то увидим, что у демо юзеров шелл выключен:
.../home/sprutio/fe/demo91784096:/bin/false\ndemo18227033:x:1433:1433::/home/sprutio/1f/demo18227033:/bin/false\n…
Значит доступ по ssh таки закрыт, и подразумевается доступ через вебку.
Штатные средства вебки не позволяют гулять по всей ФС и смотреть всё, до чего хватит прав доступа, верно? Однако, подменяя запросы, это можно легко делать: читать настройки в /etc, смотреть файлы в /tmp, где они часто доступны всем, прикинуть узнать версии ПО. Опять же, очень часто неподготовленные юзеры выставляют права доступа 777, чтобы «все работало». Не все знают тонкости работы даже базовых прав доступа в linux. Например, вы предложили выставить права 711. Однако, отсутствие Exec на каталоге запрещает только полный листинг, при том, что наличия R достаточно для того, чтобы получить список файлов/каталогов, хотя и без метаданных (прав доступа, размера, владельцев). Однако дальнейшим перебором можно нащупать объекты уже с 777.
Кратко, суть такая: подмена запросов к вебке открывает возможности (выход из home), которых нет в базовой функциональности.
Если это ваш сервер — ок, если вы открываете доступ через эту вебку кому-то другому — это, мне кажется, далеко не ОК.
В чем то Вы конечно правы. В любом случае как я уже писал Выше "надо добавить настройку которая позволяет/запрещает выход из домашней директории."
Штатные средства вебки не позволяют гулять по всей ФС и смотреть всё, до чего хватит прав доступа, верно?
на самом деле сейчас позволяют, текущая демка эквивалентна ssh доступу, только без выполнения shell команд
просто на некоторые папки запрещен листинг и без подмены запросов туда не попасть.
безусловно для безопасной многопользовательской работы необходимо понимать тонкости работы базовых прав доступа и грамотно настроить сервер. Тут вы совершенно правы.
думаю в ближайшее время мы реализуем возможность ограничивать учетные записи только домашней директорией.
также хотел заметить, одна из TODO — это добавить web терминал, который будет работать с правами пользователя. Но, в любом случае, будем рады, если присоединитесь к разработке и поможете нам сделать Sprut.IO лучше.
Демо опять не работает:
https://demo.sprut.io:9443/actions/files/list
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
https://demo.sprut.io:9443/actions/files/list
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
О том, как он разрабатывался и почему нас не устроили существующие аналоги
Почему-то толком ничего про аналоги в статье как раз не увидел — кроме упоминания NetFTP и Cloud Commander — ответа на вопрос зачем делать еще один — нет.
В 2010 году мы не смогли найти двухпанельный web файловый менеджер, который нас так или иначе устраивал. Я не исключаю, возможно плохо искали. Единственно, что понравилось — это запуск web консоли и mc внутри, но это не совсем то, что нам было нужно. Перечислять аналоги NetFTP не вижу особого смысла.
Хочешь устроить бесплатное нагрузочное тестирование и тестирование безопасности? Вбрось ссылку на Хабру!
Почему кнопка обновления на лого РКН похожа, кстати?
Почему кнопка обновления на лого РКН похожа, кстати?
На текущий момент около 1500 тестовых аккаунтов (за 2 дня). На хостинге в день до 1000 человек в FM заходят. По тестированию и безопасности сильно помогли, хорошая обратная связь. Спасибо !
Не обращал на это внимание, но не думаю что РКН будет возражать =)
Почему кнопка обновления на лого РКН похожа, кстати?
Не обращал на это внимание, но не думаю что РКН будет возражать =)
- Подразумевается ли возможность работы нескольких пользователей над одними файлами — папками? Или пока это все-таки обертка над ssh+mc для веб?
- Будет ли возможность сохранять историю изменения файла и кто это сделал? Слепками. Понятно, что это вносит увеличение расхода диска, но бывает удобно откатить, если кто-то что кривыми руками сделал. Ну и настраивать глубину этих слепков (это уже вторичные детали).
Добрый день, коллеги.
напишу сюда новости по Sprut.IO:
Почти реализовали доступ по webdav и ssh терминал
напишу сюда новости по Sprut.IO:
- наш файловый менеджер установил хостинг провайдер netangels.ru (https://www.netangels.ru/company/news/2016/fm/)
- netangels.ru предоставил нам свои улучшения и на базе их мы добавили поддержку SFTP/SSH доступа
- продумана и реализована система простой установки на любой хостинг — доступ к аккаунтам осуществляется через SSH/FTP
- о нас написали статью в журнале LinuxFormat, с разрешения журнала публикую скрин статьи
Почти реализовали доступ по webdav и ssh терминал
UFO just landed and posted this here
Сам менеджер работает идеально. Но отсутсвие обновлений в проекте вызывает настороженность...
Sign up to leave a comment.
Web файловый менеджер Sprut.IO в OpenSource