2.66666666666671111111111Rating 2.67 (6 Votes)
3.751111111111Rating 3.75 (4 Votes)

Представим ситуацию, когда произошло что-то типа:

chmod -R 777 /etc

Или того хуже:

chmod -R 777 /

В CentOS есть решение которое поможет решить данную проблему, это решение называется rpm... :) Заглянем в man rpm:

...

   rpm --setperms PACKAGE_NAME
          sets permissions of files in the given package. Consider using --restore instead.

   rpm --setugids PACKAGE_NAME
          sets user/group ownership of files in the given package. This command can change permissions and capabilities of files in that package. In most cases it is better to use --restore instead.

   Options --setperms, --setugids, --setcaps and
          --restore are mutually exclusive.
...
3.33333333333331111111111Rating 3.33 (6 Votes)

Сегодня установим OpenJDK 11 в Fedora, на сегодня это последний релиз, проверку релиза можно осуществить на офф сайте. Итак, качаем последний OpenJDK:

curl -O https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz

Далее архив необходимо распаковать:

tar zxvf openjdk-11.0.1_linux-x64_bin.tar.gz

Скопировать распакованное содержимое в папку /usr/local:

mv jdk-11.0.1 /usr/local/
3.51111111111Rating 3.50 (4 Votes)

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

Разрешить монтирование дисков в Linux, через Polkit

Например раньше, когда приходилось разрешать монтировать диск, добавлялась специальная запись в sudoers файл, что то типа такого:

username ALL = NOPASSWD: /bin/mount, /bin/umount

Наверняка многие с этим сталкивались, на сегодня для этих целей можно использовать Polkit, для этого можно создать группу, назовем ее diskusers:

groupadd diskusers

После в нее необходимо добавить пользователя(ей):

usermod -a -G diskusers userName

Далее создать разрешающее правило:

nano /etc/polkit-1/rules.d/allow-mount-partitions.rules
3.66666666666671111111111Rating 3.67 (3 Votes)
В телеграм канале Sys-Admin Help возник вопрос, как просмотреть историю предыдущих загрузок Linux, ну конечно же посредством journalctl используя команду:
journalctl -b 1
НО в некоторых системах boot logging отключен и по умолчанию можно смотреть только лог последней загрузки, если логирование отключено, то зачастую можно получить сообщение - Specifying boot ID has no effect, no persistent journal was found
2.51111111111Rating 2.50 (16 Votes)

Как отобразить время в Linux history время? Для начала, что такое history - это команда, которая отображает список, а точнее историю вводимых команд, т.е. для просмотра последних вводимых команд достаточно ввести в терминале команду history и просмотреть всю историю, которая будет выглядеть например так:

history
...
   12  firewall-cmd --permanent --add-service=http
   13  firewall-cmd --reload
   14  reboot
...

Для того, что бы отображалось время, нужно определить формат переменной окружения HISTTIMEFORMAT, например указав дату и время в такой последовательности:

HISTTIMEFORMAT="%d/%m/%y %T "
41111111111Rating 4.00 (2 Votes)

Понадобилось на CentOS виртуалку установленную в minimal наборе ПО накатить GUI, выбор пал на MATE DE. Установку можно сделать в несколько команд.

Установить EPEL репозиторий:

yum install epel-release

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

yum groupinstall "X Window system"

51111111111Rating 5.00 (2 Votes)
Полезно для использования буфера обмена, drag and drop на гостевых машинах. В момент установки возникает ошибка, с записью в лог /var/log/VBoxGuestAdditions.log о невозможности установки гостевых модулей ядра, это происходит по причине отсутствия необходимых библиотек, устанавливаем:
dnf install dkms binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers
Далее необходимо установить:
dnf install kernel-devel
4.251111111111Rating 4.25 (4 Votes)

Как на сегодня написано в официальной репе, NetHogs - это небольшая утилита а'ля "net top", удобен для мониторинга трафика по процессам (видно PID процесса, пользователя, программу, количество отправляемых / получаемых пакетов), эта утилита не зависит от загружаемых модулей ядра, все работает "из коробки", помогает быстро определить какая программа "жрет" трафик.

Установка NetHogs

Ставится из стандартных реп в RPM / DEB дистрах (apt / yum / dnf и даже brew соответственно):

dnf install nethogs
2.83333333333331111111111Rating 2.83 (6 Votes)

Что же это такое, Flatpak? Flatpak - это инструмент для управления приложениями и средами которые используют эти приложения, модель flatpak позволяет распространять приложения в независимоcти от конечной хост-системы. Приложения по сути выполняются в изолированной среде - "песочнице", все требующиеся зависимости для работы приложения при необходимости ставятся внутрь песочницы, так что в саму систему ничего кроме самого flatpak менеджера ставится не будет.

Корни растут из Red Hat, так как автором является именно сотрудник этой компании (Александер Ларссон) который принимает активное участие в разработке Gnome.

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

flatpak distro list

Если видишь знакомое лого, дуй на офф сайт Flatpak смотри инструкцию по установке и выбирай приложения по вкусу из Flathub "магазина" приложений.

Дальше расскажу, как использовать репозиторий Flatpak, как ставить приложения уже загруженный из Flathub, как удалять обновлять и т.п., так как в момент написания статьи у меня Fedora, то ставим нужный пакет:

dnf install flatpak
4.33333333333331111111111Rating 4.33 (3 Votes)

Представим ситуацию - когда необходимо гонять файлы по sftp с локальной машины на сервер и обратно, немного усложним ситуацию - необходимо копировать файлы по sftp без возможности подключения по ssh на прямую т.е.:

ssh Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра..x
...
This service allows sftp connections only.
Connection to xxx.xxx.xx.x closed

Создание sftp пользователя и группы

Создадим пользователя сразу с шелл-параметром /sbin/nologin:

useradd -s /sbin/nologin sftpuser
3.751111111111Rating 3.75 (4 Votes)

Применимо к переносу vpn или иных уже настроенных ранее соединений. Проверено на Fedora, все настройки соедниений NetworkManager размещены в каталоге /etc/NetworkManager/system-connections.

На машине источнике достаточно запаковать каталог system-connections:

tar -zcvf system-connectons.tar.gz /etc/NetworkManager/system-connections

Скопировать на целевую машину, например при посощи scp:

scp [email protected]:/home/user/system-connectons.tar.gz .
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
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
2.83333333333331111111111Rating 2.83 (6 Votes)

Иногда бывает нужно посадить ssh на несколько портов, это можно сделать путем простых манипуляций с файлом конфига /etc/ssh/sshd_config, для этого достаточно в конфиг добавить новую директиву Port:

Port 33

Перезапустить сервис:

systemctl restart sshd

Посмотреть статус:

netstat -tulpn | grep 33
tcp        0      0 0.0.0.0:33              0.0.0.0:*               LISTEN      1868/sshd           
tcp6       0      0 :::33                   :::*                    LISTEN      1868/sshd  

Разрешить новый порт в firewalld:

firewall-cmd --permanent --add-port=33/tcp && firewall-cmd --reload
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
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

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

Вверх
Вниз