Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.В общих чертах, шаблон проектирования представляет собой решение какой-то проблемы, с которой сталкиваются разработчики.
Эти шаблоны помогают новым разработчикам избежать возможных проблем… что же, показывая возможные шаблоны и решения.
Всего существует три главных типа шаблонов проектирования для разработчиков – поведенческие, творческие и структурные.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Как расшарить папку в CentOS с помощью Samba
Для этого будем использовать сервер Samba и несколько дополнительных манипуляций.
Доступ будет производиться по протоколу SMB/CIFS (Server Message Block/Common Internet File System).
Установка
Перед установкой необходимо понять, в каком статусе у вас находится SELinux. Для этого выполните команду:
Если результат такой же, как на скриншоте ниже, можете смело приступать к установке:
В противном случае вам необходимо будет отключить SELinux.
Для этого откройте конфигурационный файл /etc/selinux/config любым текстовым редактором, например Vi:
Поставьте значение SELINUX в положение disabled и выполните перезагрузку системы командой:
SELinux — дополнение к стандартной системе контроля доступа Linux. Его настройка достаточно трудоемка, и оно включено по умолчанию.
Без каких-либо манипуляций SELinux часто блокирует изменения, вызываемые при запуске различных служб или программ.
Теперь приступаем к установке Samba сервера. Выполните команду:
Настройка
Теперь создадим папку, которой будем предоставлять общий доступ:
Откройте файл конфигурации Samba:
Добавьте в конец файла следующие строки:
Сохраните и закройте файл.
Настройка разрешений и перезапуск сервиса
Установите нужные разрешения для папки:
Перезапустите сервисы Samba:
Убедитесь, что сервисы Samba запущены и добавьте их в автозагрузку:
Открытие портов в брандмауэре
Откройте необходимые порты в брандмауэре для Samba:
Теперь вы можете подключиться к расшаренной папке с любого устройства в вашей сети. Для этого в проводнике Windows введите:
Таким образом, вы успешно настроили Samba на CentOS для предоставления общего доступа к папке без указания пароля.
Расскажу, как «расшарить» папку на CentOS сервере, то есть предоставить ей общий доступ без указания пароля.
Для этого будем использовать сервер Samba и несколько дополнительных манипуляций.
Доступ будет производиться по протоколу SMB/CIFS (Server Message Block/Common Internet File System).
Установка
Перед установкой необходимо понять, в каком статусе у вас находится SELinux. Для этого выполните команду:
selinuxenabled && echo enabled || echo disabled
Если результат такой же, как на скриншоте ниже, можете смело приступать к установке:
[root@server ~]# selinuxenabled && echo enabled || echo disabled
disabled
В противном случае вам необходимо будет отключить SELinux.
Для этого откройте конфигурационный файл /etc/selinux/config любым текстовым редактором, например Vi:
vi /etc/selinux/config
Поставьте значение SELINUX в положение disabled и выполните перезагрузку системы командой:
reboot
SELinux — дополнение к стандартной системе контроля доступа Linux. Его настройка достаточно трудоемка, и оно включено по умолчанию.
Без каких-либо манипуляций SELinux часто блокирует изменения, вызываемые при запуске различных служб или программ.
Теперь приступаем к установке Samba сервера. Выполните команду:
yum install samba samba-common cups-libs samba-client
Настройка
Теперь создадим папку, которой будем предоставлять общий доступ:
mkdir -p /root/SHAREDFOLDER
Откройте файл конфигурации Samba:
vi /etc/samba/smb.conf
Добавьте в конец файла следующие строки:
[SHAREDFOLDER]
path = /root/SHAREDFOLDER
browsable = yes
writable = yes
guest ok = yes
read only = no
Сохраните и закройте файл.
Настройка разрешений и перезапуск сервиса
Установите нужные разрешения для папки:
chmod -R 0777 /root/SHAREDFOLDER
chown -R nobody:nobody /root/SHAREDFOLDER
Перезапустите сервисы Samba:
systemctl restart smb
systemctl restart nmb
Убедитесь, что сервисы Samba запущены и добавьте их в автозагрузку:
systemctl enable smb
systemctl enable nmb
Открытие портов в брандмауэре
Откройте необходимые порты в брандмауэре для Samba:
firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload
Теперь вы можете подключиться к расшаренной папке с любого устройства в вашей сети. Для этого в проводнике Windows введите:
\\<IP-адрес вашего сервера>\SHAREDFOLDER
Таким образом, вы успешно настроили Samba на CentOS для предоставления общего доступа к папке без указания пароля.
👍15❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁24
Какой параметр команды tar используется для создания архива сжатого формата gzip?
Anonymous Quiz
48%
-czf
3%
-cjf
24%
-cz
24%
-cfz
Как установить или изменить User-Agent с помощью curl
Строка User-Agent (UA) - это информация, включенная в заголовок HTTP, действующая от имени пользователя.
Когда вы подключаетесь к веб-сайту из браузера, UA сообщает веб-сайту, из какого браузера поступает запрос, его номер версии и операционную систему.
Сервер может по-разному реагировать на определенных пользовательских агентов. Следовательно, вам может потребоваться изменить строку UA.
Curl User Agent
Когда вы используете
Последняя стабильная версия на момент написания - 7.72. 0.
Следовательно, строка UA в HTTP-запросе будет:
Есть несколько способов установить или изменить пользовательский агент с помощью команды
Изменить User-Agent с помощью curl
Чтобы изменить пользовательский агент curl на другой браузер, добавьте параметр
Теперь вы должны знать, как изменить пользовательский агент с помощью curl и установить в нем нужный браузер.
🔥 Это позволяет обойти возможные блокировки или изменения содержимого, которые могут появиться из-за использования curl.
Строка User-Agent (UA) - это информация, включенная в заголовок HTTP, действующая от имени пользователя.
Когда вы подключаетесь к веб-сайту из браузера, UA сообщает веб-сайту, из какого браузера поступает запрос, его номер версии и операционную систему.
Сервер может по-разному реагировать на определенных пользовательских агентов. Следовательно, вам может потребоваться изменить строку UA.
Тут вы узнаете, как установить или изменить пользовательский агент с помощью curl.
Curl User Agent
Когда вы используете
curl для отправки HTTP-запроса, он отправляет информацию пользовательского агента в формате curl/version.number.Последняя стабильная версия на момент написания - 7.72. 0.
Следовательно, строка UA в HTTP-запросе будет:
curl/7.72.0.Есть несколько способов установить или изменить пользовательский агент с помощью команды
curl.Изменить User-Agent с помощью curl
Чтобы изменить пользовательский агент curl на другой браузер, добавьте параметр
-A с нужной строкой пользовательского агента:curl -A "user-agent-name-here" [URL]
Чтобы отправить запрос на веб-страницу example.com путем эмуляции пользовательского агента Firefox 81, вы должны запустить:curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" https://example.com/"
Вы также можете использовать параметр --user-agent со следующим синтаксисом команды:curl --user-agent "user-agent-name-here" url
В качестве альтернативы запустите параметр командной строки -H, который принимает один параметр дополнительного заголовка для включения в запрос curl:curl -H "User-Agent: user-Agent-Name-Here"
Теперь вы должны знать, как изменить пользовательский агент с помощью curl и установить в нем нужный браузер.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤1
Вышел Linux Mint 22 «Wilma» (Вильма)
23 июля 2024 года состоялся релиз первой стабильной версии Linux Mint 22 «Wilma» (Вильма), основанной на пакетной базе Ubuntu 24.04 LTS (Noble Numbat) и Linux kernel 6.8.
Это событие произошло спустя два года после релиза Linux Mint 21 «Vanessa» и четыре года после выхода Linux Mint 20 «Ulyana».
Сборки Linux Mint 22 доступны только для 64-разрядных систем. Формирование новых сборок для 32-разрядных систем прекращено.
Дистрибутивы поставляются с обновлённым программным обеспечением, усовершенствованиями и множеством новых функций для повышения комфорта пользователей.
До 2026 года будущие версии Linux Mint будут использовать ту же пакетную базу, что и Linux Mint 22, а разработчики сосредоточатся на текущей версии.
Основные улучшения и дополнения в Linux Mint 22 «Wilma»:
• Оптимизация производительности кода, обновление и добавление приложений, улучшенные диалоги настройки и интерфейсы приложений.
Wayland в версии Cinnamon остаётся экспериментальным, по умолчанию используется X11.
• Использование PipeWire в качестве звукового сервера по умолчанию.
• Поддержка нового формата Debian DEB822.
• Поддержка тем GTK4.
• Улучшенная поддержка HiDPI во время загрузки.
• Поддержка JXL (JPEG-XL) в средстве просмотра изображений Pix.
• По умолчанию отключены непроверенные приложения Flatpak в Software Manager.
• Улучшенная многопоточность и новая страница настроек в Software Manager, приложение загружается быстрее, при запуске мгновенно появляется главное окно.
• Приложение для создания заметок Sticky можно вызвать из командной строки для упрощения настройки сочетаний клавиш.
• Текстовый редактор Xed может дублировать выделенный текст.
• В Timeshift при удалении снепшота теперь появляется диалоговое окно подтверждения.
• Образы ISO совместимы с FAT32 в режиме транспозиции файловой системы.
Минимальные системные требования для установки Linux Mint 22 «Wilma»:
• 2 ГБ ОЗУ (рекомендуется не менее 4 ГБ для комфортной работы)
• 20 ГБ дискового пространства (рекомендуется не менее 100 ГБ)
• Разрешение монитора 1024×768 и выше
23 июля 2024 года состоялся релиз первой стабильной версии Linux Mint 22 «Wilma» (Вильма), основанной на пакетной базе Ubuntu 24.04 LTS (Noble Numbat) и Linux kernel 6.8.
Доступны сборки на Cinnamon 6.2, Xfce 4.18 и MATE 1.26.
Это событие произошло спустя два года после релиза Linux Mint 21 «Vanessa» и четыре года после выхода Linux Mint 20 «Ulyana».
Сборки Linux Mint 22 доступны только для 64-разрядных систем. Формирование новых сборок для 32-разрядных систем прекращено.
Linux Mint 22 является выпуском с долгосрочной поддержкой (LTS), обновления будут выходить до 2029 года.
Дистрибутивы поставляются с обновлённым программным обеспечением, усовершенствованиями и множеством новых функций для повышения комфорта пользователей.
До 2026 года будущие версии Linux Mint будут использовать ту же пакетную базу, что и Linux Mint 22, а разработчики сосредоточатся на текущей версии.
Основные улучшения и дополнения в Linux Mint 22 «Wilma»:
• Оптимизация производительности кода, обновление и добавление приложений, улучшенные диалоги настройки и интерфейсы приложений.
Wayland в версии Cinnamon остаётся экспериментальным, по умолчанию используется X11.
• Использование PipeWire в качестве звукового сервера по умолчанию.
• Поддержка нового формата Debian DEB822.
• Поддержка тем GTK4.
• Улучшенная поддержка HiDPI во время загрузки.
• Поддержка JXL (JPEG-XL) в средстве просмотра изображений Pix.
• По умолчанию отключены непроверенные приложения Flatpak в Software Manager.
• Улучшенная многопоточность и новая страница настроек в Software Manager, приложение загружается быстрее, при запуске мгновенно появляется главное окно.
• Приложение для создания заметок Sticky можно вызвать из командной строки для упрощения настройки сочетаний клавиш.
• Текстовый редактор Xed может дублировать выделенный текст.
• В Timeshift при удалении снепшота теперь появляется диалоговое окно подтверждения.
• Образы ISO совместимы с FAT32 в режиме транспозиции файловой системы.
Минимальные системные требования для установки Linux Mint 22 «Wilma»:
• 2 ГБ ОЗУ (рекомендуется не менее 4 ГБ для комфортной работы)
• 20 ГБ дискового пространства (рекомендуется не менее 100 ГБ)
• Разрешение монитора 1024×768 и выше
👍17❤3
Как исправить ошибку SSH Connection Refused
Если SSH отвечает сообщением «Connection Refused» (Соединение отклонено), возможно, вам придется изменить запрос или проверить настройки.
⏺ Почему возникает ошибка SSH Connection Refused?
Существует множество причин, по которым вы можете получить ошибку «Connection Refused» при попытке подключения к серверу по SSH.
Чтобы решить эту проблему, вам сначала нужно определить причину отказа подключения.
⏺ Клиент SSH не установлен
Прежде чем устранять другие проблемы, необходимо проверить, установлен ли клиент SSH.
На машине, с которой вы получаете доступ к серверу, должен быть настроен клиент SSH. Чтобы проверить наличие клиента SSH, введите в терминале:
Если терминал предоставляет список параметров команды ssh, клиент установлен. Если команда не найдена, установите клиент OpenSSH.
⏺ Решение: установить клиент SSH
Для систем Ubuntu / Debian:
Для систем CentOS / RHEL:
⏺ Демон SSH не установлен на сервере
Так же, как вам нужна клиентская версия SSH для доступа к серверу, вам нужна версия сервера для приёма соединений. Чтобы проверить, доступен ли SSH на сервере, выполните команду:
Если отображается «Connection refused», установите сервер SSH.
⏺ Решение: установить SSH на сервер
⏺ Учетные данные неверны
Опечатки или неправильные учетные данные могут вызвать отказ в SSH-соединении.
Убедитесь, что вы правильно ввели имя пользователя, пароль и IP-адрес сервера. Также проверьте, используется ли правильный порт SSH:
⏺ Служба SSH не работает
Служба SSH должна быть включена и работать в фоновом режиме. Чтобы проверить статус службы, введите:
Если служба не активна, включите её:
⏺ Брандмауэр препятствует подключению SSH
Брандмауэр может блокировать SSH-соединения. Убедитесь, что он настроен для разрешения SSH:
⏺ Порт SSH закрыт
SSH использует порт 22 по умолчанию. Чтобы проверить, открыт ли порт, выполните:
⏺ Решение: открыть порт SSH
Чтобы разрешить порту 22 слушать запросы:
Для анализа проблем SSH можно включить подробный режим:
⚡️ Эти команды помогут получить отладочные сообщения, которые помогут устранить проблемы с подключением, конфигурацией и аутентификацией.
У вас проблемы с доступом к удаленному серверу через SSH?
Если SSH отвечает сообщением «Connection Refused» (Соединение отклонено), возможно, вам придется изменить запрос или проверить настройки.
Существует множество причин, по которым вы можете получить ошибку «Connection Refused» при попытке подключения к серверу по SSH.
Чтобы решить эту проблему, вам сначала нужно определить причину отказа подключения.
Прежде чем устранять другие проблемы, необходимо проверить, установлен ли клиент SSH.
На машине, с которой вы получаете доступ к серверу, должен быть настроен клиент SSH. Чтобы проверить наличие клиента SSH, введите в терминале:
ssh
Если терминал предоставляет список параметров команды ssh, клиент установлен. Если команда не найдена, установите клиент OpenSSH.
Для систем Ubuntu / Debian:
sudo apt install openssh-client
Для систем CentOS / RHEL:
sudo yum install openssh-client
Так же, как вам нужна клиентская версия SSH для доступа к серверу, вам нужна версия сервера для приёма соединений. Чтобы проверить, доступен ли SSH на сервере, выполните команду:
ssh localhost
Если отображается «Connection refused», установите сервер SSH.
sudo apt install openssh-server
sudo yum install openssh-server
Опечатки или неправильные учетные данные могут вызвать отказ в SSH-соединении.
Убедитесь, что вы правильно ввели имя пользователя, пароль и IP-адрес сервера. Также проверьте, используется ли правильный порт SSH:
grep Port /etc/ssh/sshd_config
Служба SSH должна быть включена и работать в фоновом режиме. Чтобы проверить статус службы, введите:
sudo service ssh status
Если служба не активна, включите её:
sudo systemctl start sshd
sudo systemctl enable sshd
Брандмауэр может блокировать SSH-соединения. Убедитесь, что он настроен для разрешения SSH:
sudo ufw allow ssh
SSH использует порт 22 по умолчанию. Чтобы проверить, открыт ли порт, выполните:
sudo lsof -i -n -P | grep LISTEN
sudo lsof -i:22
Чтобы разрешить порту 22 слушать запросы:
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Для анализа проблем SSH можно включить подробный режим:
ssh -v [server_ip]
ssh -vv [server_ip]
ssh -vvv [server_ip]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.set -euo pipefail?• Опция -e - означает, что скрипт будет остановлен, когда произойдет ошибка в ходе его выполнения.
• Опция -u - означает, что скрипт будет остановлен, если в ходе скрипта, будет обнаружена переменная, которая не определена.
• Опция -o pipefail - означает, что скрипт будет остановлен, если в ходе пайплайна команд будет выявлена ошибка.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥4
С праздником, коллеги! 🥳
Управление квотами дисков в Linux
Информация о квотах в операционной системе Linux необходима для понимания ограничений на дисках.
Они позволяют гибко управлять ограниченным ресурсом на сервере. Квоты можно устанавливать как на отдельных пользователей, так и на группы.
Для конфигурации и управления квотами используются следующие команды:
quotaon – включение квоты
quotaoff – выключение квоты
edquota – редактирование квоты
repquota – отчет по квотам
У Windows Server есть более богатый инструментарий для работы с квотами, например, File Server Resource Manager.
Здесь мы рассмотрим, как это работает в Linux на примере Ubuntu Server.
Шаги по управлению квотами
Установка пакета для работы с квотами:
Настройка монтирования раздела:
Добавьте следующую строку в файл /etc/fstab:
Эта строка включает монтирование с пользовательскими и групповыми квотами. Сохраните изменения и перезагрузите систему.
Инициализация квот:
Отключите все существующие квоты для чистоты настройки:
Создайте квоты для пользователей и групп:
Для редактирования квот используйте команду edquota:
В редакторе отобразится информация о текущих квотах.
Можно настроить мягкие (soft) и жесткие (hard) квоты, а также квоты на уникальные идентификаторы файлов (inodes).
Для изменения времени действия мягкой квоты выполните:
sudo edquota -t
После всех настроек включите квоты командой:
sudo quotaon /mnt/hard
Чтобы посмотреть текущие квоты, используйте команду:
sudo repquota /mnt/hard
Отправка уведомлений при превышении квоты:
Команда warnquota отправляет уведомления по e-mail при превышении квоты. Для этого необходимо настроить почтовый SMTP-сервер.
Управление квотами дисков в Linux
Информация о квотах в операционной системе Linux необходима для понимания ограничений на дисках.
Квоты — это ограничения, налагаемые системным администратором на использование дискового пространства.
Они позволяют гибко управлять ограниченным ресурсом на сервере. Квоты можно устанавливать как на отдельных пользователей, так и на группы.
Для конфигурации и управления квотами используются следующие команды:
quotaon – включение квоты
quotaoff – выключение квоты
edquota – редактирование квоты
repquota – отчет по квотам
У Windows Server есть более богатый инструментарий для работы с квотами, например, File Server Resource Manager.
Здесь мы рассмотрим, как это работает в Linux на примере Ubuntu Server.
Шаги по управлению квотами
Установка пакета для работы с квотами:
sudo apt-get install quota
Настройка монтирования раздела:
Добавьте следующую строку в файл /etc/fstab:
/dev/sdc1 /mnt/hard auto rw,user,auto,usrquota,grpquota 0 0
Эта строка включает монтирование с пользовательскими и групповыми квотами. Сохраните изменения и перезагрузите систему.
Инициализация квот:
Отключите все существующие квоты для чистоты настройки:
sudo quotaoff /mnt/hard
Создайте квоты для пользователей и групп:
sudo quotacheck -cug /mnt/hard
Для редактирования квот используйте команду edquota:
sudo edquota -u siadmin
В редакторе отобразится информация о текущих квотах.
Можно настроить мягкие (soft) и жесткие (hard) квоты, а также квоты на уникальные идентификаторы файлов (inodes).
Для изменения времени действия мягкой квоты выполните:
sudo edquota -t
После всех настроек включите квоты командой:
sudo quotaon /mnt/hard
Чтобы посмотреть текущие квоты, используйте команду:
sudo repquota /mnt/hard
Отправка уведомлений при превышении квоты:
Команда warnquota отправляет уведомления по e-mail при превышении квоты. Для этого необходимо настроить почтовый SMTP-сервер.
man warnquota
👍25🎉5
Как настроить SSH вход без пароля
С помощью этого криптографического протокола вы можете управлять машинами, копировать или перемещать файлы на удаленном сервере через зашифрованные каналы.
Существует два способа входа в удаленную систему через SSH: с использованием аутентификации по паролю или аутентификации с открытым ключом (вход SSH без пароля).
Перед тем как начать, проверьте существующие ключи SSH. Возможно, на вашем компьютере уже есть пара ключей SSH.
Чтобы узнать, есть ли у вас в системе ключи SSH, выполните команду:
Если в выводе указано, что таких файлов нет, переходите к следующему шагу, который показывает, как сгенерировать ключи SSH.
Если они у вас есть, вы можете использовать существующие ключи, сделать их резервную копию и создать новую пару или перезаписать её.
Шаг 1. Создайте пару ключей SSH
Первое, что нужно сделать, это сгенерировать пару ключей SSH на машине, на которой вы сейчас работаете.
Затем введите место, где вы хотите сохранить ключи, или нажмите Enter, чтобы принять путь по умолчанию.
Вам будет предложено установить кодовую фразу. Хотя это делает соединение ещё более безопасным, оно может прерываться при настройке автоматизированных процессов. Поэтому вы можете ввести пароль или просто нажать Enter, чтобы пропустить этот шаг.
В выводе будет указано, где хранятся идентификационный и открытый ключ, а также выдан отпечаток ключа.
Убедитесь, что вы успешно создали пару ключей SSH, выполнив команду:
Вы должны увидеть путь идентификационного ключа и открытого ключа.
Шаг 2. Загрузите открытый ключ на удаленный сервер
Вы можете загрузить публичный SSH-ключ на удаленный сервер с помощью команды ssh-copy-id или команды cat.
Вариант 1. Загрузить открытый ключ с помощью команды ssh-copy-id
Подключитесь к удаленному серверу и используйте команду ssh-copy-id:
Открытый ключ автоматически копируется в файл .ssh/authorized_keys.
Вариант 2. Загрузить открытый ключ с помощью команды cat
1. Подключитесь к серверу и создайте на нём каталог .ssh:
2. Введите пароль для удаленного пользователя.
3. Теперь вы можете загрузить открытый ключ с локальной машины на удаленный сервер.
Команда также указывает, что ключ будет храниться под именем authorized_keys во вновь созданном каталоге .ssh:
Вариант 3. Войдите на сервер без пароля
После создания пары ключей SSH и загрузки открытого ключа на удаленный сервер вы должны иметь возможность подключаться к выделенному серверу без ввода пароля. Проверьте, работает ли установка, выполнив команду:
Система должна напрямую входить в систему на удаленном сервере, пароль не требуется.
Убедившись, что вы можете подключаться к удаленному серверу SSH без пароля, рассмотрите возможность полного отключения аутентификации по паролю SSH.
Устранение неполадок с разрешениями файлов удаленного сервера
Права доступа к файлам на удаленном сервере могут вызвать проблемы с входом в SSH без пароля. Это обычная проблема со старыми версиями SSH.
Если после выполнения всех шагов вам всё ещё предлагается ввести пароль, начните с редактирования прав доступа к файлам на удаленном сервере.
• Установите разрешения 700 для каталога .ssh.
• Установите разрешения 640 для каталога .ssh/authorized_keys.
Отредактируйте права доступа к файлам с помощью следующей команды:
При появлении запроса введите свой пароль. Если действие было успешным, вывода не будет.
SSH (Secure Shell) обеспечивает безопасное удаленное соединение между двумя системами.
С помощью этого криптографического протокола вы можете управлять машинами, копировать или перемещать файлы на удаленном сервере через зашифрованные каналы.
Существует два способа входа в удаленную систему через SSH: с использованием аутентификации по паролю или аутентификации с открытым ключом (вход SSH без пароля).
Перед тем как начать, проверьте существующие ключи SSH. Возможно, на вашем компьютере уже есть пара ключей SSH.
Чтобы узнать, есть ли у вас в системе ключи SSH, выполните команду:
ls -al ~/.ssh/id_*.pub
Если в выводе указано, что таких файлов нет, переходите к следующему шагу, который показывает, как сгенерировать ключи SSH.
Если они у вас есть, вы можете использовать существующие ключи, сделать их резервную копию и создать новую пару или перезаписать её.
Шаг 1. Создайте пару ключей SSH
Первое, что нужно сделать, это сгенерировать пару ключей SSH на машине, на которой вы сейчас работаете.
ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"
Затем введите место, где вы хотите сохранить ключи, или нажмите Enter, чтобы принять путь по умолчанию.
Вам будет предложено установить кодовую фразу. Хотя это делает соединение ещё более безопасным, оно может прерываться при настройке автоматизированных процессов. Поэтому вы можете ввести пароль или просто нажать Enter, чтобы пропустить этот шаг.
В выводе будет указано, где хранятся идентификационный и открытый ключ, а также выдан отпечаток ключа.
Убедитесь, что вы успешно создали пару ключей SSH, выполнив команду:
ls -al ~/.ssh/id_*.pub
Вы должны увидеть путь идентификационного ключа и открытого ключа.
Шаг 2. Загрузите открытый ключ на удаленный сервер
Вы можете загрузить публичный SSH-ключ на удаленный сервер с помощью команды ssh-copy-id или команды cat.
Вариант 1. Загрузить открытый ключ с помощью команды ssh-copy-id
Подключитесь к удаленному серверу и используйте команду ssh-copy-id:
ssh-copy-id [remote_username]@[server_ip_address]
Открытый ключ автоматически копируется в файл .ssh/authorized_keys.
Вариант 2. Загрузить открытый ключ с помощью команды cat
1. Подключитесь к серверу и создайте на нём каталог .ssh:
ssh [remote_username]@[server_ip_address] mkdir -p .ssh
2. Введите пароль для удаленного пользователя.
3. Теперь вы можете загрузить открытый ключ с локальной машины на удаленный сервер.
Команда также указывает, что ключ будет храниться под именем authorized_keys во вновь созданном каталоге .ssh:
cat .ssh/id_rsa.pub | ssh [remote_username]@[server_ip_address] 'cat >> .ssh/authorized_keys'
Вариант 3. Войдите на сервер без пароля
После создания пары ключей SSH и загрузки открытого ключа на удаленный сервер вы должны иметь возможность подключаться к выделенному серверу без ввода пароля. Проверьте, работает ли установка, выполнив команду:
ssh [remote_username]@[server_ip_address]
Система должна напрямую входить в систему на удаленном сервере, пароль не требуется.
Убедившись, что вы можете подключаться к удаленному серверу SSH без пароля, рассмотрите возможность полного отключения аутентификации по паролю SSH.
Это добавит ещё один уровень безопасности и защитит ваш сервер от bruteforce атак.
Устранение неполадок с разрешениями файлов удаленного сервера
Права доступа к файлам на удаленном сервере могут вызвать проблемы с входом в SSH без пароля. Это обычная проблема со старыми версиями SSH.
Если после выполнения всех шагов вам всё ещё предлагается ввести пароль, начните с редактирования прав доступа к файлам на удаленном сервере.
• Установите разрешения 700 для каталога .ssh.
• Установите разрешения 640 для каталога .ssh/authorized_keys.
Отредактируйте права доступа к файлам с помощью следующей команды:
ssh [remote_username]@[server_ip_address] "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"
При появлении запроса введите свой пароль. Если действие было успешным, вывода не будет.
👍20👎1
Какой командой можно изменить размер тома логического тома в LVM?
Anonymous Quiz
40%
lvresize
24%
resize2fs
29%
lvextend
7%
vgextend
🤔15👍2🔥2
Изменение размера томов LVM
Если используется файловая система XFS, объем можно увеличить, но не уменьшить. Другие файловые системы, такие как Ext4 и Btrfs, поддерживают уменьшение размера файловой системы.
Уменьшение файловой системы Ext4 может быть выполнено только в автономном режиме, что означает, что вам нужно размонтировать её, прежде чем вы сможете изменить её размер.
В этом посте вы узнаете, как увеличить размер логического тома LVM.
Подготовка к добавлению
Итак, мы добавили в систему диск. Командой fdisk создали раздел, пометили его как LVM и назначили ему файловую систему XFS.
Командой pvs видим наш чистый том /dev/sdc1:
Теперь добавим его в общее групповое хранилище и присоединим к нему наш логический том /dev/sdc1.
⏺ Добавление хранилища в VG
Используйте vgextend, чтобы добавить хранилище в VG, и vgreduce, чтобы удалить хранилище из VG.
Проверяем состояние групп:
Физический том в 10GB добавлен, но не используется в логическом томе.
Проверяем логический том:
⏺ Увеличение размера логического тома
Чтобы увеличить размер логического тома, используйте lvresize, затем добавьте опцию -r, чтобы изменить размер файловой системы:
Проверяем суммарную статистику логического тома:
Убеждаемся, что логический том lvDATA стал на 10GB больше.
⏺ Примеры:
Изменяет размер логического тома, чтобы он занимал 75% общего дискового пространства в группе томов:
Попытается добавить 75% от общего размера группы томов к логическому тому:
Добавляет 75% всего свободного дискового пространства к логическому тому:
Изменяет размер логического тома до общего размера, равного 75% объема свободного дискового пространства:
Одним из основных преимуществ использования LVM является простота изменения размеров томов LVM, что очень полезно, если в вашей файловой системе заканчивается свободное место на диске.
Если используется файловая система XFS, объем можно увеличить, но не уменьшить. Другие файловые системы, такие как Ext4 и Btrfs, поддерживают уменьшение размера файловой системы.
Уменьшение файловой системы Ext4 может быть выполнено только в автономном режиме, что означает, что вам нужно размонтировать её, прежде чем вы сможете изменить её размер.
В этом посте вы узнаете, как увеличить размер логического тома LVM.
Подготовка к добавлению
Итак, мы добавили в систему диск. Командой fdisk создали раздел, пометили его как LVM и назначили ему файловую систему XFS.
Командой pvs видим наш чистый том /dev/sdc1:
[root@server2 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.57g 4.00m
/dev/sdb1 vgDATA lvm2 a-- <20.00g 0
/dev/sdc1 lvm2 --- <10.00g <10.00g
Теперь добавим его в общее групповое хранилище и присоединим к нему наш логический том /dev/sdc1.
Используйте vgextend, чтобы добавить хранилище в VG, и vgreduce, чтобы удалить хранилище из VG.
[root@server2 ~]# vgextend vgDATA /dev/sdc1
Volume group "vgDATA" successfully extended
Проверяем состояние групп:
[root@server2 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.57g 4.00m
vgDATA 2 1 0 wz--n- 29.99g <10.00g
Физический том в 10GB добавлен, но не используется в логическом томе.
Проверяем логический том:
[root@server2 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <18.63g
swap centos -wi-ao---- 956.00m
lvDATA vgDATA -wi-ao---- <20.00g
Чтобы увеличить размер логического тома, используйте lvresize, затем добавьте опцию -r, чтобы изменить размер файловой системы:
[root@server2 ~]# lvresize -r -l +100%FREE /dev/vgDATA/lvDATA
Size of logical volume vgDATA/lvDATA changed from <20.00 GiB (5119 extents) to 29.99 GiB (7678 extents).
Logical volume vgDATA/lvDATA successfully resized.
Проверяем суммарную статистику логического тома:
[root@server2 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <18.63g
swap centos -wi-ao---- 956.00m
lvDATA vgDATA -wi-ao---- 29.99g
Убеждаемся, что логический том lvDATA стал на 10GB больше.
Изменяет размер логического тома, чтобы он занимал 75% общего дискового пространства в группе томов:
lvresize -r -l 75%VG /dev/vgDATA/lvDATA
Попытается добавить 75% от общего размера группы томов к логическому тому:
lvresize -r -l +75%VG /dev/vgDATA/lvDATA
Добавляет 75% всего свободного дискового пространства к логическому тому:
lvresize -r -l +75%FREE /dev/vgDATA/lvDATA
Изменяет размер логического тома до общего размера, равного 75% объема свободного дискового пространства:
lvresize -r -l 75%FREE /dev/vgDATA/lvDATA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤2
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.mkdir /tmp/abc
cd /tmp/abc
ls >a 2>b
cat a
a
b
Обработка команды идёт справа налево. Сначала создается файл b, потом создается файл a, команда ls отображает список файлов в текущей директории (файлы a и b уже созданы) в одну колонну и перенаправляет стандартный поток вывода (>) в файл a, а стандартный поток ошибок 2 в файл b.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
7 полезных команд в Linux
Рассмотрим еще 7 команд для эффективной работы в системе Linux.
⏺ mpstat — создание статистического отчета о работе процессора (или по каждому процессору, если их несколько).
⏺ nohup — продолжить выполнение команды, когда сессия терминала будет завершена.
⏺ nmcli — управление NetworkManager-ом. Также может применяться для отображения состояния сетевого устройства, создания, редактирования, активации/деактивации и удаления сетевых подключений.
⏺ od — преобразование содержимого входных данных в восьмеричный и другие форматы.
⏺ partprobe — информирование операционной системы об изменениях в таблице разделов.
⏺ pinky — команда поиска информации о пользователе, которая дает подробную информацию обо всех пользователях, вошедших в систему. В отличие от
⏺ readelf — получение информации о файлах формата ELF (сокр. от «Executable and Linkable Format»).
Рассмотрим еще 7 команд для эффективной работы в системе Linux.
finger, применяя pinky, вы можете обрезать интересующую вас информацию.Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁39👏7👍6🔥2
Diskonaut – терминальный проводник дискового пространства для Linux
Diskonaut — простой навигатор дискового пространства терминала, созданный с помощью Rust и поддерживающий Linux и macOS.
Он также поддерживает горячие клавиши для облегчения навигации и позволяет удалять файлы и каталоги, отслеживая объем освободившегося пространства.
Установка Diskonaut на Linux
Чтобы установить diskonaut на Linux, ваша система должна поддерживать язык программирования Rust. Если Rust еще не установлен, выполните следующую команду:
После установки Rust, используйте пакетный менеджер Cargo для установки diskonaut:
Для систем Fedora, CentOS или Arch Linux можно установить последний предварительный релиз diskonaut из стандартных репозиториев:
Использование Diskonaut
После установки diskonaut можно запустить в каталоге, который нужно проверить, либо указать абсолютный путь к каталогу для сканирования:
или
Доступные сочетания клавиш
В нижней части интерфейса diskonaut можно увидеть доступные сочетания клавиш, которые облегчают навигацию по каталогам.
🔥 После завершения сканирования можно переходить по подкаталогам, например, виртуальные машины Virtual Box, и нажимать Enter для просмотра их содержимого.
Diskonaut — простой навигатор дискового пространства терминала, созданный с помощью Rust и поддерживающий Linux и macOS.
Этот инструмент позволяет легко сканировать и исследовать содержимое файловых систем, предоставляя визуальное представление о том, что занимает место на диске.
Он также поддерживает горячие клавиши для облегчения навигации и позволяет удалять файлы и каталоги, отслеживая объем освободившегося пространства.
Установка Diskonaut на Linux
Чтобы установить diskonaut на Linux, ваша система должна поддерживать язык программирования Rust. Если Rust еще не установлен, выполните следующую команду:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
После установки Rust, используйте пакетный менеджер Cargo для установки diskonaut:
cargo install diskonaut
Для систем Fedora, CentOS или Arch Linux можно установить последний предварительный релиз diskonaut из стандартных репозиториев:
sudo dnf install diskonaut # Для Fedora и CentOS
yay diskonaut # Для Arch Linux
Использование Diskonaut
После установки diskonaut можно запустить в каталоге, который нужно проверить, либо указать абсолютный путь к каталогу для сканирования:
cd /home/user
diskonaut
или
diskonaut /home/user
Доступные сочетания клавиш
В нижней части интерфейса diskonaut можно увидеть доступные сочетания клавиш, которые облегчают навигацию по каталогам.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍2🤔2
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.<command with error> || true
2 вариант: до выполнения данной команды указать set +e для игнорирования ошибок, начиная со следующей строки и после выполнения команды указать set -e для завершения работы скрипта в случае ошибки, начиная со следующей строки.
set -e
<command 1>
<command 2>
set +e
<command 3 wih error>
set -e
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Виртуализация Xen на CentOS
Xen - это гипервизор с открытым исходным кодом, который позволяет параллельно запускать различные операционные системы на одной хост-машине.
Основные возможности Xen
Xen используется для виртуализации серверов, настольных ПК, инфраструктуры как услуги (IaaS), а также встраиваемых устройств.
Он позволяет запускать несколько гостевых виртуальных машин на одном физическом хосте, что значительно повышает эффективность использования оборудования.
1️⃣ Независимость от операционной системы: Xen может работать с различными операционными системами, такими как Linux, NetBSD, OpenSolaris и другие.
2️⃣ Изоляция драйверов: В случае отказа драйвера виртуальная машина может быть перезагружена без воздействия на остальную систему.
3️⃣ Поддержка паравиртуализации: Полностью паравиртуализированные хосты работают быстрее, чем полностью виртуализированные гости.
4️⃣ Компактность и безопасность: Гипервизор Xen имеет микроядерное устройство размером около 1 МБ, что делает его более надежным и безопасным по сравнению с другими гипервизорами.
Основные компоненты Xen Project включают:
⏺ Гипервизор Xen: Управляет процессором, памятью и прерываниями.
⏺ Domain 0 (Dom0): Специальная область с драйверами для всех устройств в хост-системе.
⏺ Гостевые домены (DomU): Виртуальные машины, работающие в виртуализированной среде.
⏺ Toolstack и консоль: Позволяют управлять виртуальными машинами через командную строку или графический интерфейс.
Типы виртуализации: PV и HVM
Паравиртуализация (PV):
• Легкая и эффективная технология виртуализации.
• Требует изменения гостевой ОС для работы с API гипервизора.
• Не требует аппаратных расширений для виртуализации от центрального процессора хоста.
Аппаратная виртуализация (HVM):
• Использует аппаратные расширения Intel VT или AMD-V.
• Не требует изменения гостевой ОС, что позволяет использовать операционные системы Windows.
• Полностью виртуализированные гости обычно медленнее, чем паравиртуализированные гости из-за эмуляции.
⚡️ Для оптимальной производительности HVM-гостей можно использовать драйверы PVHVM, которые обходят эмуляцию дискового и сетевого ввода-вывода.
Xen - это гипервизор с открытым исходным кодом, который позволяет параллельно запускать различные операционные системы на одной хост-машине.
Этот гипервизор считается одним из самых популярных в мире виртуализации.
Основные возможности Xen
Xen используется для виртуализации серверов, настольных ПК, инфраструктуры как услуги (IaaS), а также встраиваемых устройств.
Он позволяет запускать несколько гостевых виртуальных машин на одном физическом хосте, что значительно повышает эффективность использования оборудования.
Основные компоненты Xen Project включают:
Типы виртуализации: PV и HVM
Паравиртуализация (PV):
• Легкая и эффективная технология виртуализации.
• Требует изменения гостевой ОС для работы с API гипервизора.
• Не требует аппаратных расширений для виртуализации от центрального процессора хоста.
Аппаратная виртуализация (HVM):
• Использует аппаратные расширения Intel VT или AMD-V.
• Не требует изменения гостевой ОС, что позволяет использовать операционные системы Windows.
• Полностью виртуализированные гости обычно медленнее, чем паравиртуализированные гости из-за эмуляции.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Какой параметр команды curl используется для отправки POST-запросов с данными?
Anonymous Quiz
21%
-d
51%
-p
5%
-k
23%
-post
👍9🤔7
Orion soft представил обновленную СУБД Proxima DB 3.0.1 с уникальными для рынка баз данных функциями
В новой версии продукта можно автоматически развертывать кластеры, гибко управлять планами резервного копирования и расширениями для PostgreSQL через единый пользовательский интерфейс.
Ключевая функция новой версии Proxima DB 3.0.1 — возможность автоматически развертывать любые отказоустойчивые кластерные конфигурации за 10 минут через пользовательский интерфейс.
Для этого разработан пошаговый установщик с поддержкой различных шаблонов кластеров, реализованный по принципу Microsoft SQL Server.
Решение обеспечивает высокую отказоустойчивость для любых конфигураций кластеров и их повторяемость во всех средах разработки.
Proxima DB 3.0.1 также обладает расширенными возможностями для гибкого управления полным и инкрементальным резервным копированием через пользовательский интерфейс, который содержит систему рекомендаций с шаблонами типовых планов бэкапа — выбрать и настроить один из них можно в несколько кликов.
Пользовательский интерфейс Proxima DB 3.0.1 обеспечивает также удобное управление расширениями для PostgreSQL через дашборд.
🔥 Из него по одному клику можно применять или отключать необходимые расширения для каждого из кластеров.
Orion soft представил обновленную версию системы управления базами данным (СУБД) Proxima DB 3.0.1
В новой версии продукта можно автоматически развертывать кластеры, гибко управлять планами резервного копирования и расширениями для PostgreSQL через единый пользовательский интерфейс.
Ключевая функция новой версии Proxima DB 3.0.1 — возможность автоматически развертывать любые отказоустойчивые кластерные конфигурации за 10 минут через пользовательский интерфейс.
Для этого разработан пошаговый установщик с поддержкой различных шаблонов кластеров, реализованный по принципу Microsoft SQL Server.
Решение обеспечивает высокую отказоустойчивость для любых конфигураций кластеров и их повторяемость во всех средах разработки.
Proxima DB 3.0.1 также обладает расширенными возможностями для гибкого управления полным и инкрементальным резервным копированием через пользовательский интерфейс, который содержит систему рекомендаций с шаблонами типовых планов бэкапа — выбрать и настроить один из них можно в несколько кликов.
Решение также позволяет настраивать любые планы резервного копирования под индивидуальные особенности и цели заказчика.
Пользовательский интерфейс Proxima DB 3.0.1 обеспечивает также удобное управление расширениями для PostgreSQL через дашборд.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16😁3