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

 

 

 

 

Установка CentOS в VirtualBOX

После установки в VirtualBOX CentOS не получается сразу поставить «Дополнение гостевой ОС»

 yum update
yum install kernel-devel kernel-headers gcc gcc-c++ epel-release dkms

kernel-devel — Содержит файлы заголовков ядра и файлы makefile, необходимые для сборки модулей, зависящих от пакета kernel.
kernel-headers — Заголовочные файлы для компиляции ядра.
gcc / gcc-c++ — Компиляторы
epel-release — Extra Packages for Enterprise Linux. Это хранилище пакетов, созданное группой специалистов операционной системы Fedora.
dkms — фреймворк который используется для генерации тех модулей ядра Linux, которые в общем случае не включены в дерево исходного кода.

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