31111111111Rating 3.00 (3 Votes)
4.51111111111Rating 4.50 (4 Votes)

Часто наверное сталкивались с такой ситуацией - набрал в терминале reboot и машина ушла на перезагрузку, а ты такой - блииин... А, бывает? У меня пару раз точно было. Так вот я решил немного обезопасить себя от такого рода "инцидентов", логика проста - набрал reboot, а тебе в ответ, что-то типа - "Ты уверен? (y/n)". Полагаю было бы классно.

Алиас в .bashrc

Открываем ~/.bashrc:

nano ~/.bashrc
3.66666666666671111111111Rating 3.67 (3 Votes)

Да это же просто, скажете Вы, но на этот комментарий есть несколько вариантов, которые могут быть достаточно не тривиальными, на вскидку - скопировать папку за исключением какого-то типа файлов или скопировать папку + сохранить настройки разрешений или скопировать из папки файлы только определенного типа...

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

Команда CP

Здесь все просто есть команда cp, параметры и аргументы, если кратко:

cp [OPTION] Source Destination
cp [OPTION] Source-1 Source-2 Source-3 Source-n Directory

Копирование файлов

cp file1 file2 file3 Destination

Понятно, что ряд файлов копируется в папку с именем "Destination".

Копирование каталогов

Так как каталог содержит файлы, то нужно использовать рекурсивное копирование:

cp -R Src-Directory Dest-Directory

Копирование с заменой / без замены

Достаточно пустить через пайп:

yes | cp -R Src-Directory Dest-Directory
51111111111Rating 5.00 (2 Votes)

Возникла ситуация - утеряли пароль от учетной записи root MySQL, если ранее пароль можно было подстмотреть в файле my.cnf то в возникшей ситуации это не преставилось возможным.

Решение в краце простое - остановить сервис MySQL, запустить с определенным ключом, выполнить пару команд, перезапустить сервис, о чем сказанно на офф. сайте, ниже "на пальцах" рассажу как это сделать.

Весь рассказ будет выполняться в CentOS 7, но думаю это будет актуально для многих Linux систем :)

Остановка службы MySQL в CentOS

Выполняется командой:

systemctl stop mariadb
3.21111111111Rating 3.20 (5 Votes)

Понадобилось на тестовой машине запилить один bash скрипт, иногда под это дело использую SublimeText, короче - в какой-то момент мне попался скрипт rmate, для Sublime есть плагин, который называется rsub, все это в купе, позволяет запускать на редактирование файлы, с удаленной машины, которые будут открываться локально в SublimeText.

Rsub можно установить при помощи Package Control - Install package - rsub, далее подключиться к удаленной машине по ssh:

ssh -R 52698:localhost:52698 [email protected]

Установка, использование rmate

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

wget -O /usr/local/bin/rmate https://raw.githubusercontent.com/aurora/rmate/master/rmate
4.51111111111Rating 4.50 (2 Votes)

wireguardЧто характерно - поднимается все это VPN хозяйство на CentOS (и иных дистрибутивах, коих порядка ~20 в списке, включая даже OpenWRT) буквально в считанные минуты.

Кратко о том, что такое WireGuard - быстрый, простой инструмент для построения VPN сетей, на столько все быстро и просто все "поднимается", что даже не верится, что это нечто сложное, что под капотом скрыты алгоритмы шифрования или что-то еще, что обеспечивает безопасность и скорость содинения. На официальном сайте приведены бенчмарки, графики вполне впечатляющие... Я сам уже какое-то время использую WireGuard и вполне доволен, НО сами разработчики называют это экспериментом, поэтому если не в проде, то в тестовой среде, как минимум это стоит попробовать.

Далее кратко, пошагово расскажу как поднять VPN на своем CentOS VPS...

Установка WireGuard VPN в CentOS

Загрузить repo-файл:

curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo

Установить нужный софт:

yum install nano epel-release -y && yum install wireguard-dkms wireguard-tools qrencode -y

Добавить, проверить модули ядра:

modprobe wireguard && lsmod | grep wireguard
3.51111111111Rating 3.50 (2 Votes)

Скачал ttf и что делать дальше? Как что - устанавливать в свой Linux и  использовать :) Глобально шрифты расположены в каталоге /usr/share/fonts/, но обычно, если возникает необходимость использовать кастомный шрифт, эта необходимость вызвана именно с пользовательской точки зрения, для использования в например в GIMP'е и т.п. то файлы шрифта можно располагать в каталог:

/usr/share/fonts/<fontname>

Для некоторых систем (например Ubuntu) здесь:

/usr/local/share/fonts

Для конкретного пользователя в каталог:

~/.local/share/fonts

Установка шрифта для пользователя

Необходимо создать каталог (если его еще нет):

mkdir -p ~/.local/share/fonts
41111111111Rating 4.00 (1 Vote)

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

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

Cat

Самое наверное часто-используемая, достаточно просто используется:

cat rpm-list.txt 

Результат:

intltool-0.51.0-13.fc29.noarch
libreport-plugin-logger-2.10.0-1.fc29.x86_64
lame-libs-3.100-4.fc29.x86_64
libreoffice-langpack-en-6.1.5.2-4.fc29.x86_64
perl-Pod-Checker-1.73-417.fc29.noarch
php-php-gettext-1.0.12-5.fc29.noarch
libcmis-0.5.2-1.fc29.x86_64
...

В том числе, к примеру позволяет просмотреть вывод с нумерацией строк:

cat -n rpm-list.txt
     1	intltool-0.51.0-13.fc29.noarch
     2	libreport-plugin-logger-2.10.0-1.fc29.x86_64
     3	lame-libs-3.100-4.fc29.x86_64
     4	libreoffice-langpack-en-6.1.5.2-4.fc29.x86_64
     5	perl-Pod-Checker-1.73-417.fc29.noarch
     6	php-php-gettext-1.0.12-5.fc29.noarch
     7	libcmis-0.5.2-1.fc29.x86_64
41111111111Rating 4.00 (1 Vote)

Слетел GRUB, такое бывает, восстановить загрузчик можно при помощи установочного Live CD, представим, что CD загружен и загрузочный USB готова к работе:

  • Загружаемся с флешки
  • Открываем терминал в нем выполняем:
sudo su -
  • Далее при помощи fdisk -l ищем разделы своей Fedora, далее создаем каталог /mnt/root и монтируем туда все необходимое (рутовый раздел, загрузочный раздел), далее пример:
mkdir /mnt/root
mount /dev/sdd5 /mnt/root
mount /dev/sdd1 /mnt/root/boot/
mount -o bind /dev /mnt/root/dev
mount -o bind /proc /mnt/root/proc
mount -o bind /sys /mnt/root/sys
mount -o bind /run /mnt/root/run
4.33333333333331111111111Rating 4.33 (3 Votes)

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

Сама тулза написана на языке D, по сути весь экшн-план по установке состоит из компиляции, установке onedrive и взаимосвязанных служб.

Onedrive в Linux

Скажу сразу - это не официальный клиент, беглый осмотр исходного кода не показал каких-либо пюрешек, поэтому собственно решено было этот клиент попробовать. По сути onedrive это CLI-утилита, может работать в Ubuntu, Fedora, Arch, может синхронизировать каталоги, файлы, устанавливается и настраивается довольно просто, ниже пойдет речь про Fedora, но  в репе проекта есть инструкции по установке в других дистрах.

Установка

Необходимо установить пару devel библиотек и поддержку git:

dnf install libcurl-devel sqlite-devel git

Загрузить интерпретатор D, он загрузится, его можно будет активировать, после компиляции проекта, деактивировать:

curl -fsS https://dlang.org/install.sh | bash -s dmd

Клонировать проект с GitHub:

git clone https://github.com/abraunegg/onedrive.git
31111111111Rating 3.00 (10 Votes)

Установить ModSecurity как модуль Nginx в CentOS из реп, без шума и пыли, можно буквально в несколько шагов, первый: обязательный шаг - установка Nginx из официального репозитория.

Установка Nginx из официального репозитоия

Первым делом необходимо импортирвоать GPG ключ:

rpm --import https://nginx.org/keys/nginx_signing.key

Установить официальную репу Nginx:

yum install http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

Далее можно поставить плагин yum-plugin-priorities для приоретизации установки Nginx из официальной репы:

yum install yum-plugin-priorities

Выставить нужный приоритет:

echo 'priority=1' >> /etc/yum.repos.d/nginx.repo

Установить Nginx:

yum install nginx

Запустить, включить:

systemctl start nginx && systemctl enable nginx

Установка ModSecurity из GetPageSpeed репозитория

Устанавливаем репу:

yum install https://extras.getpagespeed.com/release-el7-latest.rpm

Устанавливаем ModSecurity:

yum install nginx-module-security
3.51111111111Rating 3.50 (4 Votes)

Если на сервер Linux имеет доступ несколько пользователей, то смотреть кто и когда логинился на сервер просто необходимо, так-же это полезно при проведении расследований инцидентов, просто траблшутингга, честно - я всегда использовал и использую команду last, но от куда берутся сведения о входах, сессиях и т.п.? В Linux системах есть специальные логи, которые хранят информацию о логонах, попытках логонов, сессиях:

  • /var/log/wtmp – Последние логон сессии
  • /var/run/utmp – Текущие логон сессии
  • /var/log/btmp – Неудачные попытки входа (bad login attempts)

Немного о команде last

Для просмотра всех успешных логонах можно просто использовать last:

last

Просмотреть историю по конкретному пользователю можно так:

last <username>
Все что касается Unix / Linux систем

Сейчас 458 гостей и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз