Сообщество - GNU/Linux

GNU/Linux

1 151 пост 15 631 подписчик

Популярные теги в сообществе:

227

Разработчик Rust-фреймворка actix-web удалил репозиторий из-за травли

Разработчик Rust-фреймворка actix-web удалил репозиторий из-за травли Rust, Github, Reddit

Автор написанного на языке Rust web-фреймворка actix-web удалил репозиторий после того, как на него обрушилась критика за "неправильное использование" языка Rust. Фреймворк actix-web, пакет с которым был загружен более 800 тысяч раз, позволяет встраивать в приложения на языке Rust функциональность http-сервера и клиента, при разработке ориентирован на достижение максимальной производительности и лидирует во многих тестах web-фреймворков.


Незадолго до инцидента в issues на GitHub было сообщено о выявлении неопределённого поведения (Undefined Behaviour) в коде сервера actix-web, возникающего в блоке, выполняемом в режиме unsafe (допускает выполнение небезопасных действий с указателями). Автор actix-web не стал убирать блок unsafe, но переделал вызов этого блока, чтобы неопределённое поведение не возникало. Предложения убрать unsafe автор отклонил, ссылаясь на возможную потерю производительности и заявив, что он не использует unsafe без необходимости и уверен в безопасности работающих в данном режиме блоков.


Участник команды RustSec, который выявил неопределённое поведение, не согласился и предположил, что применение многих unsafe-блоков в actix-web неоправданно. После этого он опубликовал статью о недопустимости использования unsafe, в которой, среди прочего было упомянуто, что применяемый в actix-web приём работы с указателями (несколько изменяемых указателей на одни и те же данные) потенциально может стать причиной возникновения уязвимостей use-after-free и не соответствует парадигме разработки на Rust.


После обсуждения статьи на Reddit, в issues на GitHub набежали тролли и автор actix-web был подвергнут шквалу критики и оскорблений за неправильное использование Rust. Автор не выдержал психологического давления, удалил репозиторий и написал, что завязал с Open Source.

К посту есть уточнение: #comment_159413468

Показать полностью
17

Критические уязвимости в WordPress-плагинах, имеющих более 400 тысяч установок

Критические уязвимости в WordPress-плагинах, имеющих более 400 тысяч установок Wordpress, Уязвимость

В трех популярных плагинах для системы управления web-контентом WordPress, насчитывающих более 400 тысяч установок, выявлены критические уязвимости:


Уязвимость в плагине InfiniteWP Client, имеющем более 300 тысяч активных установок, позволяет подключиться без прохождения аутентификации в качестве администратора сайта. Так как плагин предназначен для унификации управления несколькими сайтами на сервере, атакующий может получить контроль сразу за всеми сайтами, обслуживаемыми с использованием InfiniteWP Client. Для атаки достаточно знать логин пользователя, имеющего права администратора, после чего через отправку специально оформленного POST-запроса (указав параметр "add_site" или "readd_site") можно войти в интерфейс управления с правами данного пользователя. Уязвимость вызвана ошибкой в реализации функции автоматического входа. Проблема устранена в выпуске InfiniteWP Client 1.9.4.5.


Две уязвимости в плагине WP Database Reset, который используется примерно на 80 тысячах сайтов. Первая уязвимость позволяет без прохождения аутентификации сбросить в начальное состояние содержимое любых таблиц в БД (привести к состоянию свежей установки WordPress, удалив связанные с сайтом данные). Проблема вызвана отсутствием проверки на наличие полномочий при выполнении функции сброса.


Вторая уязвимость в WP Database Reset требует наличия аутентифицированного доступа (достаточно наличия учётной записи с минимальными правами подписчика) и позволяет получить привилегии администратора сайта (можно добиться удаления всех пользователей из таблицы wp_users, после чего текущий оставшийся пользователь будет обрабатываться как администратор). Проблемы устранены в выпуске 3.15.


Уязвимость в плагине WP Time Capsule, имеющем более 20 тысяч установок, позволяет подключиться с правами администратора без прохождения аутентификации. Для осуществления атаки достаточно добавить в POST-запрос строку IWP_JSON_PREFIX, при наличии которой без каких-либо проверок вызывается функция wptc_login_as_admin. Проблема устранена в выпуске 1.21.16.

Показать полностью
191

Системный администратор Linux. Вопросы

Собеседования подходят к завершению, кандидаты согласованы, офферы разосланы. А это значит, что настало время выполнить обещания и выложить вопросы к кандидатам.


Если кто пропустил, вот начало: Системный администратор Linux и продолжение: Продолжение поста «Системный администратор Linux»


В комментариях к предыдущим постам было высказано много мнений по поводу тематики и самих вопросов. Была и критика, и занудство, и здравые мысли. От себя могу сказать, что это не универсальный список вопросов для собеседования. Это то, с чем у нас приходится сталкиваться чаще всего, что надо понимать и без чего рост компетенций будет заметно усложнён. Часть вопросов просто для понимания кругозора кандидата.

Системный администратор Linux. Вопросы Linux, Windows, Сисадмин, Отдел кадров, Пригорело, Собеседование, Длиннопост

Так же и у нас: лучше долго выбирать наиболее подходящих под специфику и быстро догнать до нужного уровня, чем взять и обучить с нуля пусть даже очень грамотного новичка или не профильного специалиста.


Вопросы будут в порядке сложности. На многие вопросы я постараюсь давать два ответа. Первый - краткий и достаточный для того, что бы его зачесть. Второй ответ - более правильный или более развёрнутый, дающий кандидату преимущество перед остальными. Некоторые вопросы/ответы будут в форме диалога.


Готовы? Ну тогда поехали!


В: Как посмотреть версию ядра?

О: uname -a

В+: А если только версию?


О+: uname -r


В: Как узнать какие модули ядра загружены?

О: lsmod

В+: Как загрузить и выгрузить модуль?

О+: Загрузить командой modprobe, выгрузить ей же, но с ключом --remove, если модуль не используется.


В: Есть сервер с двумя интерфейсами. Один интерфейс смотрит в интернет, другой в локалку. На обоих адреса прописаны статикой. Как пользователей из локалки выпустить в интернет через этот сервер?

О: Маршрут по умолчанию должен быть назначен на интерфейс с интернетом, нужно поднять NAT через iptables и SNAT/DNAT или MASQUERADE, надо включить forward пакетов.

В+: Как именно это сделать?

О+: Для примера шлюз будет на RHEL-based дистрибутиве. В других дистрибутивах есть созвучные или аналогичные опции. В настройках интерфейса с локалкой надо прописать defroute=no, на интерфейсе с интернетом defroute=yes. Либо можно указать маршрут в файле route-название_интерфейса, который располагается рядом с файлом настроек интерфейса. Настройка NAT будет зависеть от того, фиксирован ли список клиентов в локалке или нет. Если фиксирован - настройка через SNAT, если не фиксирован - MASQUERADE. Так же, если к клиенту будут обращения из внешней сети, придётся использовать DNAT. Включить forward пакетов можно временно командой echo 1 > /proc/sys/net/ipv4/ip_forward или постоянно, прописав net.ipv4.ip_forward = 1 в файл /etc/sysctl.conf и загрузить их из файла командой sysctl -p.

О++: Можно ещё поднять прокси и выпустить через него. Например squid. При этом либо явно указав этот прокси у клиентов, либо прозрачно, через iptables и POSTROUTING.


[Дословный синтаксис команд не нужен. Главное, что кандидат понимает что именно и как он будет делать. Если кандидат расскажет ещё что такое этот ip_forward - это будет дополнительным плюсом.]


В: Есть сервер с двумя интерфейсами, к каждому из которых подключён отдельный интернет провайдер. Например первый 100 мегабит, второй 50. Можно ли как-то получить суммарный внешний канал в 150 мегабит?

О: Штатно - нельзя. Но можно поставить пакет iproute2, который позволяет сделать два маршрута по умолчанию, каждый из которых будет иметь свой вес. Например вес первого интерфейса сделать вес 2, а второго - 1. Тогда трафик будет пытаться направляться в соотношении 2 к 1 относительно интерфейсов. В идеальных условиях это даст суммарные 150 мегабит. В реальных - будет зависимость и «тяжелых» сессий, которые будут привязываться к одному конкретному интерфейсу.


В: Как посмотреть какой DNS использует система? У нас настроен DHCP и «в лоб» в настройках на клиенте ничего нет. Файл /etc/resolv.conf много где считается устаревшим и там может быть пусто.

О: Попробовать отрезольвить любой адрес. Например командами nslookup, host или dig. Они показывают какой DNS сервер был использован.

В+: А если у нас какая нибудь Ubuntu, которая из коробки за собой тянет dnsmasq? В таком случае эти команды будут говорить, что DNS сервером является 127.0.1.1 или 127.0.0.53. Как быть?

О+: Если есть dnsmasq, значит у него есть конфиги и логи, в которых можно посмотреть что он использует. В крайнем случае можно использовать tcpdump и посмотреть какие есть исходящие подключения на 53 порт.


В: Как посмотреть таблицу маршрутизации на любой системе?

О: Это можно сделать командами route -n или ip r

В+: А на любой системе одной и той же командой?

О+: Команда netstat -rn работает везде, на Linux, Windows, MacOS, Solaris. Даже на Android. В некоторых системах это единственный вариант посмотреть маршруты.


В: Есть LVM. На одной VG есть 2 LV. Один смонтирован в корень системы, другой в /home. При создании разделов ошиблись и создали корень слишком маленький, а home слишком большой. Можно ли как-то перекинуть место из одного раздела в другой? Оба раздела содержат данные, которые нельзя удалять. В разделе home есть достаточно свободного места. Систему нельзя перезагружать.

О: Уменьшить можно, если файловая система позволяет уменьшать свой размер. Например ext4 позволяет это сделать, а xfs - нет. Увеличивать разделы можно «на горячую». Для уменьшения надо размонтировать /home, уменьшить файловую систему, уменьшить LV с этим разделом, смонтировать /home, увеличить LV раздела с корнем, увеличить файловую систему. Командой lvextend с ключом -r последние два действия можно совместить.

В+: А есть там xfs?

О+: Тогда придётся использовать временный диск. Скопировать на него данные из /home, пересоздать раздел меньшего размера, скопировать данные обратно. Можно командами pvs или vgs посмотреть свободное место на LVM. Возможно не всё пространство было размечено и его можно будет использовать вместо временного диска.


В: Как определить тип файловой системы, в которую отформатирован LV раздел в LVM? Команда fdisk -l показывает, что код раздела 83 или 8E, т.е. раздел Linux или LVM раздел.

О: Если раздел смонтирован можно командами df -T, mount или findmnt

В+: А если не смонтирован?

О+: Команда lsblk с ключом -f показывает тип файловой системы и метки, например для oracleasm дисков.


В: Как получить сводку о всём железе?

О: Командами группы ls. Например lspci, lsusb и т.д. Либо cat /proc/cpuinfo, cat /proc/meminfo и т.д.

В+: А более развёрнуто? Например с серийными номерами памяти и количеством плашек памяти?

О+: Можно через smbios командой dmidecode. Либо через ipmitool подключиться к менеджменту, если он есть, и через его shell достать данные.


В: Как обновить все пакеты, кроме одного? Например кроме ядра.

О: В RHEL-based командой yum update --exclude kernel*. В других дистрибутивах должен быть похожий ключ, который можно посмотреть в man’е к пакетному менеджеру.

В+: А если постоянно исключить из обновления?

О+: Можно использовать yum versionlock kernel*. В других дистрибутивах так же можно поискать в man’е по словам lock, hold или freeze.


Для начала, думаю, достаточно. Продолжение будет в следующих постах. Постараюсь сильно с ними не затягивать.

Показать полностью 1
46

Облако Mail.ru в Linux Mint 19.3 - решение проблемы

Доброго времени суток дорогие пользователи!

Это не первый мой пост (предыдущие были неудачные), но первый пост как обычного, непрофессионального пользователя. Не буду растекаться мысью по древу, пишу для таких же пользователей которые перешли с Windows на Линукс, в частности для тех у кого установлен LM19.3 (хотя всё подойдёт и на остальные дистрибутивы).


И так, Майлрушники не толерантно и неполиткорректно посчитали лишним поддерживать облачный сервис для линуксоидов. Но у многих уже были облачка большого халявного объёма, да и фоточки там всякие лежали, короче увы и ах.

Для Виндовса поддерживается бесплатное О-драйв или как там ещё. Остальным предлагают мучеться с webdav, причём за деньги. Пост о том как побороть несправедливость и вернуть своё себе.


В посте выжимка, если что-то пойдёт не так, в конце поста ссылки на две оригинальные статьи.


1. Качаем нужный архив

https://github.com/yar229/WebDavMailRuCloud/releases/download/1.10.5.7/WebDAVCloudMailRu-1.10.5.7-dotNetCore22.zip

2. В Домашней папке, создаём папку с названием CloudMR, переносим в неё архив.

3. По архиву кликаем правой кнопкой мыши, выбираем "Распаковать сюда"

Облако Mail.ru в Linux Mint 19.3 - решение проблемы Облако Mail, Webdav, Длиннопост

4. Теперь установим необходимые библиотеки:

Нажимаем комбинацию Ctrl+Alt+T, и в терминале последовательно выполняем команды нажатием клавиши Enter

sudo apt install wget

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-...

sudo dpkg -i packages-microsoft-prod.deb

sudo add-apt-repository universe

sudo apt-get install apt-transport-https

sudo apt-get update

sudo apt-get install dotnet-sdk-2.2

По окончании, закрываем терминал.


5. По распакованной папке WebDAVCloudMailRu-1.10.5.7-dotNetCore22 кликаем правой кнопкой мыши и выбираем "Открыть в терминале"
Облако Mail.ru в Linux Mint 19.3 - решение проблемы Облако Mail, Webdav, Длиннопост

6. Подключаемся к порту 8888 командой

dotnet wdmrc.dll -p 8888

и жмём Enter

7. Для того чтобы команда работала при каждой загрузке, необходимо добавить её в список приложений, загружаемых автоматически.

Облако Mail.ru в Linux Mint 19.3 - решение проблемы Облако Mail, Webdav, Длиннопост

Находим утилиту Startup Applications и запускаем её. В ней добавляем команду пользователя

Облако Mail.ru в Linux Mint 19.3 - решение проблемы Облако Mail, Webdav, Длиннопост

dotnet /path-to/wdmrc.dll -p 8888 где заменяем path-to на ваш путь к wdmrc.dll файлу. Именно этот файл отвечает за облако. В нашем распакованном архиве кликаем правой кнопкой мыши по этому файлу и в контекстном меню выбираем "Свойства" и копируем путь к файлу. После этого перезагружаем Минт и переходим к следующему шагу.

8. Подключение к облаку по протоколу WebDAV из файлового менеджера.

В файловом менеджере жмём ctrl+L и в строку вписываем dav://127.0.0.1:8888 жмём Enter

Облако Mail.ru в Linux Mint 19.3 - решение проблемы Облако Mail, Webdav, Длиннопост

система запросит логин и пароль к облаку, вводим (чтобы не набирать это снова и снова, необходимо выбрать пункт сохранения логина и пароля навсегда)


login: yourlogin@mail.ru password: yourpassword


и результат - вы в своём облаке.

Чтобы иметь постоянный доступ к облаку в файловом менеджере жмём Закладки

Облако Mail.ru в Linux Mint 19.3 - решение проблемы Облако Mail, Webdav, Длиннопост

Выбираем "Добавить в закладки"

Облако Mail.ru в Linux Mint 19.3 - решение проблемы Облако Mail, Webdav, Длиннопост

В закладках можно по нажатию правой кнопки мыши переименовать в Облако Mail.ru.

На этом всё, позже выложу краткий пост как сделать трей Минте как Виндовсе. Ну почти как там.


Пруфы:

1. https://gist.github.com/starlinq/4ef2ef4d348c1b81913a2a201f7ff09e

2. https://github.com/yar229/WebDavMailRuCloud/releases/

Показать полностью 7
16

Mozilla тестирует систему голосового управления Firefox Voice

Mozilla тестирует систему голосового управления Firefox Voice Mozilla, Firefox, The voice

Компания Mozilla начала тестирование дополнения Firefox Voice с реализацией экспериментальной системы голосовой навигации, позволяющей использовать речевые команды для выполнения типовых действий в браузере. В настоящее время поддерживается обработка команд только на английском языке. Для активации требуется нажать на индикатор в адресной строке и выдать голосовую команду (в фоне микрофон отключён).


От типовых систем голосового управления предложенное дополнение отличает тем, что оно сосредоточено не на замене мыши и клавиатуры при манипуляциях с интерфейсом, а позиционируется как вспомогательный инструмент для обработки вопросов на естественном языке, выполняющий роль голосового помощника. Например, пользователь может передавать такие команды, как "какая сейчас погода", "найди вкладку с Gmail", "отключи звук", "сохрани как PDF", "увеличь масштаб", "открой сайт mozilla".


После установки дополнения, пользователю предлагается предоставить право сбора и анализа голосовых шаблонов, с их передачей на серверы Mozilla для увеличения точности работы сервиса (данные собирают анонимно, и не передаются третьим лицам). При этом отправка телеметрии с голосовыми данными опциональна и от неё можно отказаться.


По данным издания soeren-hentzschel.at обработка команд производится с задействованием службы распознавания речи Google (Google Cloud Speech Service), но в коде дополнения определены серверы Mozilla (настройки могут быть переопределены при сборке). В файле, определяющем политику конфиденциальности, упомянута возможность отправки голосовых данных как в Mozilla, так и в Google Cloud Speech.

Показать полностью

Wine Linux USB

Подскажите пожалуйста кто знает, я в этой теме полный ноль. Мне нужно запустить на линуксе win программу, предлагают сделать это через wine. Начитался что с usb подключениями через wine всё очень плохо, а мне надо подключить принтер этикеток. Стоит ли пробовать или это гиблая затея изначально?

97

Valve устранила в Steam ошибку, влияющую на подсчёт пользователей Linux

Valve устранила в Steam ошибку, влияющую на подсчёт пользователей Linux Steam, Valve, Linux

В очередном бета-выпуске клиента Steam исправлена ошибка, из-за которой Linux-сборка программы аварийно завершала своё выполнение при подготовке данных об используемом окружении пользователя, на основе которых подсчитывается статистика Steam Hardware & Software Survey. Предполагается, что устранённая проблема была одной из причин низкой доли Linux в отчётах Steam, так как попытка отправки данных от Linux-пользователей завершались крахом приложения. В декабрьском отчёте Steam доля Linux составляла всего 0.67%.


Дополнение: Проблема фиксируется пользователями Arch Linux и Gentoo с начала года, но похожие сообщения о крахах периодически всплывают c 2017 года и также затрагивали Fedora и Slackware.

Отличная работа, все прочитано!