• Как найти и настроить права bash?

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    На исполняемый файл будет указывать симлинк /proc/<pid>/exe
    Все открытые процессом в данный момент файлы можно получить командой lsof -p <pid> /
    Еще можно посмотреть слинкованные библиотеки командой ldd /путь/к/исполняемому/файлу, но это далеко не всегда вам поможет.

    Но если вы скажете, что именно хотите сделать, можно будет ответить точнее.
    Ответ написан
    6 комментариев
  • Какие есть программы для ограничения рабочего стола?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    То, что вы описали, называется kiosk mode и в Windows 10+ он есть
    Ответ написан
    Комментировать
  • Как избавиться от ошибки сертификата?

    @d-stream
    Готовые решения - не подаю, но...
    В приведённом варианте openssl создаёт самоподписанный сертификат. На что и будут регулярные жалобы.
    Прямой вариант - выпустить нормальный сертификат например на letsencrypt с цепочкой удостоверяющих центров и т.п.
    Ну или как минимум имитировать подобное создав свой псевдоудостоверяющий центр:
    ca сертификат и им подписать серт для гитлаба, но тогда придётся ca прописывать всем клиентам как trusted ca
    Ответ написан
    2 комментария
  • Как настроить Nginx чтобы он DNS обращение перебрасывал на другой DNS?

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    DNS тут ни при чём, nginx это веб-сервер.

    Если я правильно вас понял, вам нужно стандартное обратное проксирование сайта, описанное примерно в любой инструкции, например.
    Ответ написан
  • Почему 300 проксей проверяются так долго?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебе нужно проанализировать статистику по негативным ответам проверки прокси.
    Если большая часть ответов - это socket timeout - то сделай таймаут не 5 секунд а 0.5 секунды.
    Ответ написан
    Комментировать
  • Как подключить автодополнение в командах в bash?

    @Komandir_Bublik
    Посмотри установлен ли bash completion?

    bashrc

    # enable programmable completion features (you don't need to enable
    # this, if it's already enabled in /etc/bash.bashrc and /etc/profile
    # sources /etc/bash.bashrc).
    if ! shopt -oq posix; then
      if [ -f /usr/share/bash-completion/bash_completion ]; then
        . /usr/share/bash-completion/bash_completion
      elif [ -f /etc/bash_completion ]; then
        . /etc/bash_completion
      fi
    fi
    Ответ написан
    3 комментария
  • Почему браузеры и curl дают разные результаты?

    ValdikSS
    @ValdikSS
    На сайте используется TLS Fingerprint (вероятно, JA3) как один из индикаторов сессии в системе перед веб-сервером, вероятно, это анти-DDoS.
    Так как браузер и curl используют разные SSL-библиотеки и передают разные наборы шифров, сервер предлагает вам пройти challenge.
    Ответ написан
    5 комментариев
  • Как узнать, что веб-адрес официальный?

    Adamos
    @Adamos
    "Какой-то сертификат" и у фишингового сайта будет.
    Если начать копать, внезапно окажется, что сам термин "официальный сайт" довольно размыт. У крупных IT-корпораций, например, число совершенно официальных сайтов может исчисляться десятками. А локальная мелочь может иметь только страничку во ВКонтакте...

    Задачу проще решать от противного - выделять не официальные сайты, а фишинговые.
    Собственно, Гугль это давно делает и предлагает список таковых в своем API.
    Ответ написан
    Комментировать
  • Как проверить результат пернаправляения пакетов?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Смотрите в логах прокси сервера, там каждый обработанный запрос отображается откуда/куда/сколько/что...
    Ваши запросы на 80-ый порт тоже должны отображаться, так и удостоверитесь.

    Смотреть трафик tcpdump-ом - тоже рабочий вариант.

    В логах web-сервера обращения будут не с IP1, а с проксишного IP2, смекаешь?
    Ответ написан
    Комментировать
  • Как сделать автоматическое создание пользователей с уникальными ключами на AWS S3?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Предполагаю что как-то так.
    1. Погуглить AWS S3 access to one folder
    2. Наткнуться на ответ в KB AWS https://repost.aws/knowledge-center/s3-folder-user...
    3. Реализовать изменение политик любым удобным иструментом - cli, powershell, terraform etc
    Ответ написан
    1 комментарий
  • Как оптимальнее всего организовать хранение тяжёлых данных и чтобы потом максимально быстро доставать оттуда данные для отчётов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я знаю два сильных пути оптимизации в БД.

    1) Минимизация IOps. Тоесть уменшить число дисковых чтений. Для таблиц это достигается через
    partitions by date. Вычисляешь экспериментально оптимальный размер partition (например 1 неделя).
    И твои запросы по диапазону должны попадать в 1-2 partitions. Это исключает full-table-scan.
    Ну и индекс попробуй построить по предикатам фильтров.

    2) Материализация ответов. Для данных которые уже не будут изменяться ты строишь где-то такую
    табличку (матрицу по сути) где хранишь уже заранее расчитанные данные. Эта технология по разному
    может называться. Materialized View. OLAP cubes. Витрины данных. Но суть одна.

    start_date    end_date     result 
    01-02-2023    03-02-2023   { "1":"65", "2":"45" }


    И индекс по двум датам.
    Ответ написан
    Комментировать
  • Как скопировать rsa ключ на другой линукс сервер?

    @SunTechnik
    Есть два направления решения:
    1. Перенести опции запуска в файл настроек ( ~/.ssh/config)
    https://www.digitalocean.com/community/tutorials/h...

    Тогда не потребуется вводить эти ключи и сработает ssh-copy-id

    2. Ssh-copy-id всего лишь скрипт, который добавляет ключ в файл ~/.ssh/authorized_keys
    Содержимое можно перенести или через scp или вообще через буфер обмена. Файл текстовый, ключ не особо длинный....
    То-есть руками выполнить необходимые действия.

    Критичны права на каталог ~/.ssh и сам файл. ~/.ssh/authorized_keys.
    Права записи должны быть только у владельца.
    Проще ставить 700 на каталог и 600 файл.
    Ответ написан
    Комментировать
  • Как сделать автоматический деплой веб-сервиса на поддомен?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Если нормально сформулировать вопрос, то речь идет о банальном деплое
    И автору бы сначала поучиться разворачивать свое единственное приложение, а потом уже начинать мечтать про междупланетный шахматный центр на тыщу инстансов.

    При том что задача в общем случае решается элементарно. Добавлением еще одной секции в плейбук того же Ansible. Что даст автору ту самую заветную "одну кнопку". А точнее две - развернуть новый инстанс и обновить все существующие.

    А если еще внимательнее посмотреть на проблему, то возникает закономерный вопрос - а зачем автору вообще миллион виртуальных хостов, если речь идет о банальных поддоменах? Которые прекрасно реализуются в рамках единственного виртуального хоста. То есть можно либо добавить поддержку субдомена в текущее приложение, либо, на худой конец, сделать multi-tenant приложение, где у каждого поддомена будет своя БД.
    При этом вся кнопка будет заключаться в добавлении имени субдомена в базу данных
    Ответ написан
    3 комментария
  • Как правильно реализовать перезапуск python скриптов с nohup?

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    Запускайте эти скрипты как systemd service - это несложно, надёжно, и именно так решается эта задача.
    Ответ написан
    1 комментарий
  • Верификация Upwork несовершеннолетнему?

    opium
    @opium
    Просто люблю качественно работать
    Во первых нет
    Во вторых русском запретили работать если ты в РФ
    В третьих логично обходить через взрослых, то есть родителей
    Ответ написан
    Комментировать
  • Оптимизируется ли UPDATE, если значения полей на самом деле не меняются?

    Melkij
    @Melkij
    PostgreSQL DBA
    В postgresql создаётся физически новая версия строки при update (с обновлением всех индексов либо hot update если применимо) даже если ни одно поле не меняет своё действительное значение. Есть встроенный триггер suppress_redundant_updates_trigger, который можно повесить на таблицу, тогда ничего действительно не меняющий в данных update будет пропускаться.

    Если меняется хотя бы одно значение - оптимизации не подлежит, должна быть записана новая версия строки в таблицу (чтобы MVCC обеспечить). Если возможно, оптимизация HOT update исключит сопутствующее обновление индексов.
    Ответ написан
    9 комментариев
  • Как изменить dns через commandline Linux?

    @SunTechnik
    Вы бы написали, что именно хотите сделать.

    Текущие настройки DNS берутся из файла: /etc/resolv.conf
    ( Сделать копию текущего, создать новый файл с требуемым содержимым, хоть командами echo).

    Для DNS нет понятия основного интерфейса. Настройки едины для системы.
    Но, если используется NetworkManager, то при рестарте системы он перезапишет resolv.conf своими настройками.
    Для измениея настроек NetworkManager - используйте nmcli

    man nmcli - в помощь.

    + Возможен вариант использования локального кэшируещего DNS. Тогда в /etc/resolv.conf nameserver=127.0.0.1
    Там тогда отдельно надо разбираться.

    То-есть для конкретной системы сменить DNS- задача легкая. В универсальном виде - обрастает множеством условий...
    Ответ написан
    3 комментария
  • Что быстрее SQL или Javascript?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    В общем, чтобы не издеваться над девушкой, объясним на пальцах.

    Во-первых, заголовок у вопроса чудовищно некорректный. Это все равно что спросить, "что быстрее - пылесос или стиральная машина?"
    Во-вторых, ответ на вопрос "производить ли обработку данных в БД или же запросить все данные в клиентское приложение и обрабатывать там" совершенно очевиден: обработку данных следует производить в общем случае только в БД. Она для этого и придумана. Чтобы обрабатывать значительные объемы данных.

    Да, js тоже "может" обрабатывать большие объемы данных.
    Но чтобы значительный объем данных обработать, его сначала надо передать, полностью забив канал между сайтом и базой
    Чтобы значительный объем данных обработать, его надо сначала проиндексировать. Причем делать это каждый раз, а не использовать уже имеющийся набор индексов
    Чтобы значительный объем данных обработать, надо иметь значительный объем памяти или упасть из-за её недостатка
    Чтобы значительный объем данных обработать в многопоточном режиме (а сайт как раз является многопоточной системой), все вышеперечисленное надо умножить на количество посетителей сайта - при каждом запросе перегонять весь массив данных, выделять память, индексировать, считать. Если же вы оставляете все данные в памяти приложения, то их тогда надо как-то синхронизировать с БД. То есть вы себе собираете кучу проблем на пустом месте.

    Несомненно, из любого правила есть исключения. И бывают ситуации, когда приходится считать в приложении.
    Но на вопрос в общем виде ответ будет совершенно однозначный. Не "может так, может сяк", а только в БД.
    Ответ написан
    9 комментариев
  • Есть ли инструменты для ротации логов кроме logrotate?

    @q2digger
    никого не трогаю, починяю примус
    >> перешерстил 1000 манов по logrotate и так и не понял почему он в конец ротированного файла добавляет числа не соответствующие дате...
    серьезно? man logrotate
    dateext
                  Archive  old  versions of log files adding a date extension like YYYYMMDD instead of simply adding a number. The extension may be configured using the dateformat and dateyesterday options.
    Ответ написан
    2 комментария
  • Как из контейнера docker получить ip и порт, на котором хостится этот контейнер на хостинге?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Правильный вариант - не завязываться ни на какие айпишники, особенно локальные. Нужен домен, да - но есть и бесплатные варианты, если покупать не хочется.
    Ответ написан
    Комментировать