• Как запускать команды без пароля sudo в Linux

    В различных ситуациях может понадобится выполнение sudo без ввода пароля. Рассмотрим как это сделать на Linux на нескольких примерах.

     

    Для удобства рекомендую хранить файл настроек для каждого пользователя системы (если их много, то будет проще управлять) отдельно в /etc/sudoers.d.

     

     

    К примеру для пользователя jakonda, разрешим выполнять абсолютно все команды без sudo пароля:

    echo "jakonda ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers.d/jakonda

    Пояснение по синтаксису:

    jakonda Задаём имя пользователя, к которому нужно применить данное правило (в данном случае это jakonda).
    Первое ALL Означает, что правило будет применяться ко всем хостам.
    Второе ALL Означает, что указанный пользователь может запускать команды в сессии любого пользователя.
    Третье ALL Означает, что указанный пользователь может запускать команды в любой группе.
    Последнее ALL Указывает, что эти правила нужно применять ко всем командам.

     

     

    Если необходимо разрешить выполнять только определенные команды, к примеру chown, chmod:

    jakonda ALL=(ALL) NOPASSWD:/usr/bin/chmod,/usr/bin/chown
    ИНФОРМАЦИЯ. Важно указывать полный путь к исполняемому файлу. Узнать расположение файла можно используя — which <имя команды>.

     

     

    Можно разрешить пользователю перезапускать какую либо службу (к примеру apache):

    jakonda ALL=(ALL) NOPASSWD:/usr/bin/systemctl restart apache2

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
    Загрузка...
  • Установка OpenSSL GOST Engine на Debian 11 Bullseye

    Ранее я уже описывал как добавить поддержку шифрования по ГОСТ Р 34.10-2012 в OpenSSL на Debian 9, недавно возвращался к этому вопросу но уже на системе Debian 11, поэтому решил актуализировать под Debian 11.

     

    # Все ниже действия будут производится от root.

     

    Устанавливаем необходимые пакеты:

    apt-get install g++ gcc make git libssl-dev

     

    Поддержу GOST-Engine будем реализовывать для OpenSSL 1.1.1p.

     

    Выполняем сборку OpenSSL 1.1.1p, выполняем команды (скачиваем, распаковываем, собираем билд, устанавливаем, настраиваем):

    wget https://www.openssl.org/source/openssl-1.1.1p.tar.gz
    tar -zxvf openssl-1.1.1p.tar.gz
    cd openssl-1.1.1p
    
    ./config --prefix=/usr/ssl --openssldir=/usr/ssl
    make all
    make install
    
    cd .. && rm /usr/bin/openssl
    ln -s /usr/ssl/bin/openssl /usr/bin/openssl
    echo "/usr/ssl/lib" >> /etc/ld.so.conf.d/ssl.conf
    ldconfig
    

     

    Проверяем версию OpenSSL, должно быть так:

    openssl version -v
    OpenSSL 1.1.1p  21 Jun 2022

     

    # Для сборки GOST Engine нужна версия CMake 3.0 и выше.

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (1 голос(ов), в среднем: 1,00 из 5)
    Загрузка...
  • Установка phpMyAdmin из исходников в Debian 9 Stretch

    Разберем как установить phpMyAdmin последней версии из исходников в Debian 9 Stretch. Так же рассмотрим как обезопасить доступ к нему.

     

    Устанавливаем необходимые пакеты:

    apt-get install php php-common php-cli libapache2-mod-php php-gd php-mbstring php-zip php-xml php-curl php-bz2 php-mysql php-common php-tcpdf php-gettext mariadb-server -y

     

    Скачиваем последнюю версию phpMyAdmin, распаковываем скачанный архив и перемещаем его в пользовательский каталог:

    wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
    
    unzip phpMyAdmin-latest-all-languages.zip
    rm phpMyAdmin-latest-all-languages.zip
    mv phpMyAdmin-*-all-languages/ /usr/share/phpmyadmin

     

    Создадим каталог в котором phpMyAdmin будет хранить свои временные файлы и назначаем права доступа к нему для веб-сервера (www-data):

    mkdir -p /var/lib/phpmyadmin/tmp
    chown -R www-data:www-data /var/lib/phpmyadmin

     

    Создаем базу данных и таблицы конфигурации для phpMyAdmin. Применяем поставляемый вместе с phpMyAdmin скрипт:

    mariadb < /usr/share/phpmyadmin/sql/create_tables.sql

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (3 голос(ов), в среднем: 2,67 из 5)
    Загрузка...
  • Как добавить поддержку шифрования по ГОСТ Р 34.10-2012 в OpenSSL 1.1.1d на Debian 9 Stretch

    В работе имеется веб-сайт на котором реализована авторизация посредством ЕСИА (Единая система идентификации и аутентификации). До недавнего времени можно было использовать самоподписной RSA сертификат, но с 1 апреля 2020 года, для взаимодействия с ЕСИА необходимо использовать сертификат с алгоритмом шифрования по ГОСТ Р 34.10-2012.

     

    В связи с этим мне необходимо было реализовать возможность работы с алгоритмом ГОСТ Р 34.11-2012 в OpenSSL на Debian 9 Stretch.

     

    Путем перелопачивания множества информации по этому вопросу и проб использования движка GOST-Engine с различными версиями OpenSSL, для себя определил рабочую связку OpenSSL 1.1.1d + GOST-Engine.

     

    В качестве памятки опишу действия для реализации связки OpenSSL 1.1.1d + GOST-Engine на Debian 9 Stretch.

     

    Устанавливаем необходимые пакеты:

    apt-get install build-essential wget git cmake unzip gcc -y

     

    Выполняем сборку OpenSSL 1.1.1d, выполняем команды:

    cd /opt
    
    wget "https://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.zip" -O "OpenSSL_1_1_1d.zip"
    unzip OpenSSL_1_1_1d.zip && cd openssl-OpenSSL_1_1_1d
    
    ./config shared -d --prefix=/usr/ssl --openssldir=/usr/ssl
    make all && make install
    
    rm /usr/bin/openssl
    ln -s /usr/ssl/bin/openssl /usr/bin/openssl
    echo "/usr/ssl/lib" >> /etc/ld.so.conf.d/ssl.conf && ldconfig

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (3 голос(ов), в среднем: 2,00 из 5)
    Загрузка...
  • Сетевая корзина (Recycle Bin) на файловом сервере в Samba 4.5

    По различными причинам, случается так что какой то файл может быть удален с файлового сервера и в этом случае он будет потерян на всегда. Для того чтобы иметь возможность восстановить удаленный файл на файловом сервере samba предусмотрен модуль VFS (Virtual File System) — recycle (сетевая корзина), рассмотрим его применение.

     

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

     

    В файле конфигурации samba (/etc/samba/smb.conf) в секцию [global] добавим следующие параметры:

    vfs object = recycle
    
    recycle:repository = /samba/recycle/%S
    recycle:keeptree = yes
    recycle:versions = yes
    recycle:touch = yes
    recycle:exclude = ~$* *.tmp *.TMP *.temp *.bak *.log .DS_Store
    
    [RECYCLE$]
    path = /samba/recycle
    read only = no
    
    recycle:exclude = *.*
    Пояснения по параметрам recycle:

    recycle:repository — Задаем каталог расположения сетевой корзины. Если параметр не задан, то по-умолчанию сетевая корзина (.recycle) будет располагаться в корне каждой общей папки.
    recycle:keeptree — Сохранять структуру каталогов для удаленных файлов.
    recycle:versions — В случае если у удаленных файлов их имена совпадают, то к удаленном файлу в начале имени будет добавляться Copy #N of.
    recycle:touch — Задавать дату изменения файла на время удаления файла.
    recycle:exclude — Список исключений для файлов.

    Сетевая корзина может располагаться только в той же FS что и общая папка для которой задается сетевая корзина. В случае если указать путь к сетевой корзине на другом диске, то в этом случае удаленные файлы не будут туда помещены, так как хард-линк можно сделать только в рамках одной FS.
    Если уже используется какой-то модуль VFS, то перечисляем все объекты через пробел, например:
    vfs object = recycle full_audit

     

    Если необходимо включение сетевой корзины для какой то определенной общей папке, то тогда выше описанные параметры необходимо прописывать в секцию описания общей папки.

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
    Загрузка...
  • Разворачиваем файловый сервер Samba 4.5 с интеграцией Active Directory на Debian 9 Stretch

    Как известно система лицензирования Microsoft штука не дешевая и поэтому рассмотрим как установить файловый сервер Samba 4.5 с интеграцией Active Directory на Debian 9 Stretch.

     

    Исходные данные:

    • Контроллер домена (DC1) на Windows Server 2012 R2, домен JAKONDA.LOCAL
    • Система по файловый сервер (datastore1) на Debian 9 Stretch

     

    Подготовка системы (Debian 9 Stretch)

    Перед началом выполнения ниже описанных действий обновляем систему до актуального состояния:

    apt-get update && apt-get upgrade -y

     

    Указываем FQDN (Fully Qualified Domain Name) имя системы, в файле (/etc/hostname):

    datastore1.jakonda.local

     

    Так же файл (/etc/hosts) приводим к виду таким образом, чтобы в нём была запись с полным доменным именем компьютера и с коротким именем, ссылающаяся на один из внутренних IP:

    127.0.0.1	localhost
    127.0.1.1	datastore1.jakonda.local datastore1

     

    Настраиваем синхронизацию времени с контроллером домена, выполняем установку NTP, выполняем синхронизацию времени с контроллером домена:

    apt-get install ntp ntpdate
    
    ntpdate dc1.jakonda.local
    Более подробно о синхронизации времени на Debian 8 Jessie/Ubuntu Server 14.04 можно почитать в этой статье

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (2 голос(ов), в среднем: 5,00 из 5)
    Загрузка...
  • Как включить доступ root по SSH в Linux

    Маленькая заметка для себя, как включить доступ root пользователя по ssh в Linux.

     

    По-умолчанию ssh вход для пользователя root в Linux отключен, но для решения некоторых задач появляется необходимость в предоставлении доступа для root пользователя по ssh.

     

    Чтобы включить ssh вход для пользователя root в Linux, необходимо в файле /etc/ssh/sshd_config изменить строку:

    PermitRootLogin without-password
    или 
    #PermitRootLogin prohibit-password

    на строку:

    PermitRootLogin yes

     

    Перезапускаем ssh службу:

    /etc/init.d/ssh restart

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (8 голос(ов), в среднем: 3,00 из 5)
    Загрузка...
  • Как конвертировать сертификат (.сrt, .ca-bundle) в формат .pfx на Linux.

    Частенько сталкиваюсь с необходимостью конвертирования сертификата .crt, .ca-bundle в формат PFX. И каждый раз пытаюсь вспомнить как это сделать в Linux посредством OPENSSL.

     

    Ниже представленной командой можно легко выполнить конвертацию:

    openssl pkcs12 -export -out doman_com.pfx -inkey doman_com.key -in doman_com.crt -certfile doman_com.ca-bundle

    .pfx — это выходной файл PFX
    .key — это файл ключа, используемый для создания запроса (CSR)
    .crt — это файл сертификата (CRT, PEM), полученный от центра сертификации
    .ca-bundle — это сертификат от центра сертификации, который мы конвертируем в PFX

    БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
    Загрузка...
  • В логах множественные ошибки blk_update_request: I/O error, dev fd0, sector 0. Как правильно отключить драйвер Floppy в Debian/Ubuntu Linux

    В очередной раз после миграции ВМ Debian Linux с одного хоста VMWare на другой, при загрузке системы наблюдал множественные ошибки:

    blk_update_request: I/O error, dev fd0, sector 0
    hv_vmbus: probe failed for device vmbus_10 (-19)

     

    Ошибка связана с попытками подключить Floppy дисковод, который в ВМ отсутствует. Решается все довольно просто, путем отключения драйвера Floppy в системе.

     

    Выполняем следующие команды в терминале:

    echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf
    sudo rmmod floppy
    sudo update-initramfs -u

     

    Для применения изменений перезагружаем систему.

    БесполезноСлабоватоПриемлемоОтличноПревосходно (4 голос(ов), в среднем: 3,00 из 5)
    Загрузка...
  • Безопасность веб-сервера. Скрываем версии Apache и PHP на Linux

    Рассмотрим применение базовых мер безопасности на веб-сервере (Apache), развернутом на Linux (DEB) (Debian 8 Jessie/Debian 9 Stretch/Ubuntu Server 14.04 LTS и т.д.).

     

    После установки веб-сервера и PHP, в первую очередь необходимо скрыть версии самого веб-сервера и PHP. Знание злоумышленником версии установленных продуктов, может облегчить ему задачу по поиску известных уязвимостей, для этих версий продуктов.

     

    Скрытие версии Apache

    Изначально при обращении к веб-серверу, он выдает версию самого веб-сервера и системы на которой он работает. Для примера откроем несуществующую страницу на веб-сервере:

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (2 голос(ов), в среднем: 1,50 из 5)
    Загрузка...
© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика