Генерация ключей GPG

Генерация новой пары ключей :

gpg --gen-key

1 — Вопрос тип ключа (RSA по умолчанию)
2 — Длинна ключа (2040 по умолчанию)
3 — Срок действия ключа (по умолчанию без срока)
4 — Введите имя (любое)
5 — Введите почту (неважно какую и не важно будите ли вы отправлять письма с этой почты с этим ключом)
6 — комментарий можно оставить пустым
7 — «O» — принять изменения
8 — Ввести парольную фразу
9 — Ввести повтор парольной фразы

Просмотреть список ключей в системе :

gpg --list-keys

Экспортировать ключ в файл :

gpg --output publik.key --armor --export ПОЧТА УКАЗАННАЯ ПРИ ГЕНЕРАЦИИ

Импортировать чужой ключ в систему :

gpg --import publik.key

Зашифровать файл для пользователя XxXxX файл main.c полученный файл main.c.gpg можно передавать по почте :

gpg -r XxXxX -e main.c

XRDP на Centos 7

Подключиться к Linux машине можно и в графическом режиме, рассматривается пример если linux система достаточно мощная чтобы иметь графический рабочий стол и он уже установлен.
Например это удобно в локальной сети или при тестировании в виртуальных машинах.
Лично мое мнение пытаться поставить графический рабочий стол на облачный удаленный сервер это бессмысленная трата его ресурсов.
Устанавливаем на удаленной машине:

yum -y install xrdp tigervnc tigervnc-server tigervnc-server-module

Включаем в автозагрузку и запускаем:

systemctl enable xrdp.service
systemctl start  xrdp.service
service xrdp restart

Открываем порт в фаерволе :

firewall-cmd --permanent --add-port=3389/tcp
systemctl restart firewalld.service 

Далее под Windows открываем «Подключение к удаленному рабочему столу» и вбиваем IP адрес linux машины.

Firewall CentOS 7

Добавить сервис в правило :

firewall-cmd --zone=public --add-service=ftp --permanent

Добавить порт :

firewall-cmd --permanent --add-port=40000/tcp

Добавить диапазон портов :

firewall-cmd --permanent --add-port=40000-40100/tcp

Просмотреть последние сохраненные записи в правилах фаервола :

iptables-save | tail -n 5

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

systemctl restart firewalld.service

FTP-server (VsFTPd) CentOS 7

Установка сервера:

yum install vsftpd

Запуск службы:

systemctl start vsftpd

Статус службы:

systemctl status vsftpd

Файл конфигурации:

vim /etc/vsftpd/vsftpd.conf

В нем снять комментарии:

ftpd_banner=welcome to...

Включить автозагрузку :

systemctl enable vsftpd

Проверить автозагрузку :

systemctl is-enabled vsftpd

Открыть порт для службы:

firewall-cmd --permanent --add-port=21/tcp

Перзапуск фаервола :

systemctl restart firewalld.service

Просмотреть открытые порты фаервола :

firewall-cmd --list-all

Для работы в пассивном режиме в конфигурационном файле нужно раскомментировать

pasv_enable=Yes
pasv_max_port=40100
pasv_min_port=40000

И открыть необходимый диапазон портов :

firewall-cmd --permanent --add-port=40000-40100/tcp

Перзапуск фаервола :

systemctl restart firewalld.service

Редактор Vim

i — режим вставки (редактирования)
: — командный режим (нажать Esc)
:q! — выйти без сохранения
:wq — записать изменения и выйти
dd — вырезает строку в буфер обмена
p — вставляет строку в нужное место
yy — копирует строку
/e — поиск символа «e»
:45 — курсор на 45 строку
:se nu — включает нумерацию строк
:1,$s/p/x — заменит все буквы p на x (первая подстановка в строке)
:1,$s/p/g — заменит все буквы p на x по всему файлу

Метки:

Web сервер CentOS7

Установка Apache:

yum install httpd.x86_64

Запуск службы:

systemctl start httpd.service

Проверить статус службы:

systemctl status httpd.service

Сайт будет доступен только localhos, из сети пока недоступен
Файл конфигурации

/etc/httpd/conf/httpd.conf

Включаем автозагрузку Apache :

systemctl enable httpd.service

Проверить автозагрузку можно :

systemctl is-enabled httpd.service

Перезагружаем машину
Пробуем открыть порт на фаерволе:

firewall-cmd --permanent --add-port=80/tcp

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

systemctl restart firewalld.service

Просмотреть открытые порты фаервола :

firewall-cmd --list-all

IDE Atom Swift на Ubuntu

Для программирование на Swift крайне желательна подсветка синтаксиса, IDE Atom бесплатна и содержит необходимый пакет. Установим Atom на Ubuntu :

sudo add-apt-repository ppa:webupd8team/atom
sudo sudo apt-get update
sudo apt-get update
sudo apt-get install atom

Установим необходимые дополнения для Atom :
Запускаем Atom на вкладке Packages->Settings View->Install Packages в поле поиска пакета вводим Swift.
Устанавливаем language-swift и autocomplete-swift. Закрываем Atom.
Как правило программа на Swift состоит из нескольких файлов, и если пакет создан правильно то можно в папку Sources добавить еще один файл.
Пример с сайта https://swift.org/getting-started/#using-the-package-manager

  • В папке Sources создаем новый файл  Greeter.swift c содержимым :
    func sayHello(name: String) {
        print("Hello, \(name)!")
    }
  • Изменим содержимое main.swift на :
    if CommandLine.arguments.count != 2 {
        print("Usage: hello NAME")
    } else {
      let name = CommandLine.arguments[1]
      sayHello(name: name)
    }
  • Сохраняем ОБА файла Ctrl + S  в Atom
  • Открываем Terminal в Ubuntu  и переходим в папку пакета :
    cd /Hello 
  • Собираем пакет
    swift build
  • Программа приветствует пользователя его именем если при ее запуске из консоли передать его как параметр.
    Пример показывает взаимодействие много-файлового проекта на swift, когда функции main  и вспомогательные блоки разделены.
  • Запускаем программу и передаем ей параметр :
    ./.build/debug/Hello 'your name'
  • atom swift ubuntu

Работа с пакетами CentOS 7

Обновление пакетов в системе :

yum update

Поиск пакета содержащего …. :

yum provides vim

Информация о пакете

yum info vim

Установить пакет :

yum install vim

Удалить пакет :

yum remove vim

Вывести информацию о доступных «mega-пакетах» :

yum grouplist

Вывести информацию о содержании пакета : название можно писать даже по русски, ориентируйтесь на вывод grouplist

yum groupinfo "Средства разработки"

Установить требуемый «мега-пак»

yum groupinstall "Средства разработки"

Управление сетевыми интерфейсами CentOS 7

По умолчанию после установки CentOS7  сетевой интерфейс находиться в неактивном состоянии. Включить его можно с помощью «графической» утилиты nmtui. Также возможно настроить автоматическое включение интерфейса при включении.

mntui

перезапуск сетевых интерфейсов :

 systemctl restart network 

Статус службы

 systemctl status network  

Редактирование файл конфигурации сети :

 vim /etc/sysconfig/network-scripts/ifcfg-enp0s3 

В вашем случае последнее несколько символов строки «enp0s3» могут быть другими, в зависимости от количества сетевых карт.
Для DHCP режима с авто-стартом сетевой карты :

 BOOTPROTO=dhcp
ONBOOT=yes 

Или для статических настроек :

 BOOTPROTO=static
ONBOOT=yes 

И добавляем в конец файла :

IPADDR=192.168.1.69
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1

Показать все сетевые интерфейсы и их IP :

ip addr show

Показать все для одного интерфейса :

ip addr show enp0s3

Показать все активные интерфейсы :

ip link show

Показать маршруты :

ip route show

Активировать интерфейс enp0s3 , down вместо up де-активирует интерфейс:

nmcli connection up enp0s3

Добавить аппаратному интерфейсу еще один IP адрес :

ip addr add 10.10.10.10 dev enp0s3

Удалить IP адрес у указанного интерфейса :

ip addr del 10.10.10.10 dev enp0s3

Можно воспользоваться готовыми скриптами для сетевых интерфейсов, они находятся :

cd /etc/sysconfig/network-scripts/

Просмотр прослушиваемых tcp портов :

netstat -tulpen | grep tcp

Быстрая информация о IP и DNS интересующего узла :

nslookup ya.ru
dig ya.ru

«Трасса до сервера» :

traceroute ya.ru

Права доступа

Права доступа к файлам в Linux определяются по принципу:

4 (read) (r)
2 (write) (w)
1 (execute) (x)

Допустим владелец файла должен иметь доступ
(r) + (w) + (x) = 4+2+1 = 7 

Правда для группы
(r) + (w)  = 4+2 = 6

Правда доступа для всех остальных
(r) = 4

Так это выглядит в программе FileZila