Установка и первичная настройка Ubuntu-сервера — проверенный порядок действий

Настройка кластера и клиента

На любой компьютер в сети установим толстый клиент 1С:Предприятие той же версии, что и сервер. Во время установки обязательно выбираем компонент Администрирование сервера 1С:Предприятие:

Устанавливаем клиента 1С. После установки в меню пуск находим ссылку Регистрация утилиты администрирования серверов (версия) и запускаем ее от имени администратора:

Теперь запускаем утилиту Администрирование серверов 1С Предприятия:

В открывшемся окне кликаем правой кнопкой мыши по Central 1C:Enterprise 8.3 servers – выбираем Создать – Центральный сервер 1С:Предприятие 8.3:

Пишем имя сервера 1С или его IP-адрес:

… и нажимаем OK. В панели управления появится подключение — переходим в раздел Кластеры – Локальный кластер – кликаем правой кнопкой по Информационные базы – выбираем Создать – Информационная база:

Заполняем параметры для создания новой базы:

* в данном примере нами были заполнены:

  • Имя — задаем произвольное имя для подключения к базе.
  • Сервер баз данных — имя или IP-адрес базы. Задаем localhost, так как в нашем случае сервер 1С и сервер баз данных находятся на одном сервере.
  • Тип СУБД — выбираем PostgreSQL.
  • База данных — имя базы данных.
  • Пользователь сервера БД — пользователь, под которым будет выполняться подключение к базе. В нашем примере postgres.
  • Пароль пользователя БД — пароль для базы, который мы задали после установки СУБД.
  • Создать базу данных в случае ее отсутствия — ставим галочку, чтобы база была создана.

Если мы получим ошибку Этот хост неизвестен:

… необходимо убедиться, что имя сервера разрешается в IP-адрес. Для этого необходимо его добавить в локальную DNS или файл hosts.

База должна создастся. Теперь запускаем 1С клиент и добавляем новую базу – при добавлении выбираем Добавление в список существующей информационной базы:

Указываем произвольное имя информационной базы, а также выбираем тип расположения базы На сервере 1С:Предприятия:

Нажимаем Далее и Готово. Запускаем конфигуратор, загружаем базу и пользуемся.

Шаг 3 — Предоставление прав администратора

Теперь у нас есть новая учетная запись пользователя с правами обычной учетной записи. Однако иногда нам может потребоваться выполнение задач администратора.

Чтобы избежать необходимости выхода из учетной записи обычного пользователя и входа в систему под именем root, мы можем настроить так называемые права “superuser” или root для нашей обычной учетной записи. Это позволит обычному пользователю запускать команды с правами администратора путем добавления слова перед каждой командой.

Чтобы назначить данные права нашему новому пользователю, необходимо добавить нового пользователя в группу sudo. По умолчанию на сервере Ubuntu 18.04 пользователям группы sudo разрешается использовать команду .

Запустите данную команду под именем root, чтобы добавить нового пользователя в группу sudo (замените выделенное слово на имя нового пользователя):

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

Настройка Samba в Ubuntu

Начнем, как обычно, с установки. Установка Samba Ubuntu вместе со всеми необходимыми компонентами выполняется командой:

Когда все будет установлено, можно переходить к настройке. Сначала создайте резервную копию оригинального файла конфигурации Samba:

После создания резервной копии, создайте свой файл конфигурации, этой командой:

Сначала укажем глобальные настройки файлового сервера. Для этого вставьте в файл такие строки:

Рассмотрим подробнее что значат эти строки.

  • workgroup – рабочая группа, как уже говорилось должна одинакова на всех машинах
  • netbios name – имя компьютера, которое будет отображаться в Windows;
  • log file – адрес файла, куда будут складываться сообщения об ошибках и другая информация;
  • security – по умолчанию выполнять аутентификацию на уровне пользователя;
  • name resolve order – очередность разрешения IP адресов по NetBIOS имени. bcast – означает отправить в локальную сеть широковещательный запрос. Если все компьютеры между которыми планируется взаимодействие находятся в одной сети этот вариант оптимальный;
  • passdb backend – способ хранения паролей пользователей;
  • unix password sync – синхронизация паролей пользователей samba с локальными паролями Unix;
  • map to guest – указывает, когда пользователю будет предоставляться гостевой доступ. Доступно три значения – never – никогда, bad user – когда такого пользователя не существует, bad password – когда пароль введен неверно,

Когда завершите создание конфигурационного файла, переходим к вопросу как расшарить папку Ubuntu для Windows.

Шаг 2: настройка фаервола

Перед тем, как протестировать Apache, необходимо модифицировать фаервол, а именно разрешить внешний доступ к стандартным веб-портам. Если вы выполнили требования в начале статье, то сейчас фаервол запрещает доступ к вашему серверу.

Во время установки Apache тоже регистрируется в UFW и создает несколько профилей. Эти профили могут использоваться для того, чтобы упростить процесс включения или выключения доступа к Apache через фаервол.

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

$ sudo ufw app list

Вывод будет примерно таким:

Available applications:
 Apache
 Apache Full
 Apache Secure
 OpenSSH

Как вы видите, для Apache доступно три профиля:

  • Apache: этот профиль открывает 80 порт (обычный, незашифрованный веб-трафик)
  • Apache Secure: этот профиль открывает только 443 порт (TLS/SSL зашифрованный трафик)
  • Apache Full: этот профиль открывает оба порта – 80 и 443

В данном случае вам необходимо разрешить входящий трафик профиля Apache Full следующей командой:

$ sudo ufw allow 'Apache Full'

Проверьте изменение:

$ sudo ufw status

В выводе вы должны увидеть, что HTTP трафик разрешен:

Output
Status: active

To Action From
-- ------ ----
OpenSSH ALLOW Anywhere 
Apache Full ALLOW Anywhere 
OpenSSH (v6) ALLOW Anywhere (v6) 
Apache Full (v6) ALLOW Anywhere (v6)

Как вы видите, профиль был активирован, и доступ к веб-серверу разрешен.

Локальный Web-сервер

Для создания Web у сервера должен быть свой выделенный IP. Тогда после установки LAMP по этому IP-адресу будет доступна тестовая страница Apache. Это и есть будущий Веб. В дальнейшем на него можно будет поставить FTP, базы данных, почтовый протокол. Для настройки Web-сервера:

Установите phpMyAdmin. Для этого в терминале или в консоли введите друг за другом введите «sudo apt-get install phpmyadmin»

Команда «sudo apt-get install phpmyadmin»

  • И потом «sudo service apache2 restart».
  • Компонент загрузится. Apache будет перезагружен. Дальнейшие действия зависят от версии операционной системы.

Если у вас Ubuntu 13.1 и выше, используйте команды:

  1. sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
  2. sudo a2enconf phpmyadmin
  3. sudo /etc/init.d/apache2 reload

Вбивайте их последовательно друг за другом, после каждой нажимайте Enter.

В Ubuntu 16.04, нужны другие указания:

  1. sudo apt-get install php-mbstring php-gettext
  2. sudo phpenmod mcrypt
  3. sudo phpenmod mbstring
  4. sudo systemctl restart apache2

После их ввода и автоматического перезапуска службы по адресу http:///phpmyadmin будет доступен веб-интерфейс.

  • Конфигурация и данные о ней находятся в папке сервера Apache «etc/apache2/». Apache2.conf — конфигурационный файл для дистрибутива
  • В директориях «mods-available»/«sites-available» и «mods-enabled»/«sites-enabled» находятся моды и сайты.
  • В Ports.conf расписаны прослушиваемые порты.
  • Если вы добавите после команды «sudo /etc/init.d/apache2» слово «Stop», Apache приостановит работу. Если «Start» — снова запустится. Если «Restart» — перезагрузится.
  • Чтобы самостоятельно выбирать путь для сохранения сайтов, последовательно введите в терминал «sudo a2enmod rewrite» и «sudo a2enmod userdir».

Каждый раз после внесения каких-либо изменений надо перезапускать службу командой «Restart».

Терминальный сервер

Терминальный сервер на Linux предназначен для предприятий и офисов, все компьютеры в которых объединены в одну сеть. Очень удобно, когда с любого ПК (если у него есть доступ) организации можно зайти на терминал. Это открывает большие возможности для удалённого администрирования.

Для такой задачи подходит LTSP — Linux Terminal Server Project. Программа есть в стандартном пакете Ubuntu. Чтобы её установить:

  1. Введите команду «ltsp-server-standalone».
  2. Потом напишите «apt-get update && apt-get install ltsp-server-standalone».
  3. Подождите, пока всё загрузится и обновится.
  4. Теперь надо поставить клиентскую систему. Напечатайте «ltsp-build-client».
  5. Затем «ltsp-build-client -dist trusty -arch i386 -fat-client-desktop lubuntu-desktop».
  6. Используйте команду «debootstrap», и дистрибутив автоматически развернётся в директорию «opt/ltsp/i386».

Linux Server может работать даже на слабых ПК. Поэтому его очень часто используют для создания серверов и удалённого администрирования. На этой операционной системе делают почтовые сервисы, FTP-хранилища, терминалы.

Установка OpenSSH в Ubuntu

Установить SSH на Ubuntu будет очень просто, программа считается стандартной и используется почти везде. Хотя по умолчанию в дистрибутиве её нет, но зато она есть в официальных репозиториях.

Поэтому для установки откройте терминал с помощью сочетания клавиш Ctrl+Alt+T и выполните команду:

Будет загружено несколько пакетов, а когда установка ssh сервера Ubuntu завершится, программа будет готова к работе. Если вы хотите чтобы служба запускалась автоматически нужно добавить его в автозагрузку. Поэтому чтобы включить SSH в Ubuntu 20.04 выполните:

Если затем вы захотите удалить службу из автозагрузки, используйте команду disable:

Что касается клиента ssh, то он уже установлен в системе по умолчанию. Сейчас вы можете попробовать подключиться к локальному ssh серверу просто набрав:

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

Точно таким способом вы можете получить ssh доступ ubuntu к любому другому компьютеру из сети. Для этого достаточно указать вместо localhost его ip адрес и имя пользователя в таком формате:

$ ssh имя_пользователя@ip_адрес

Web интерфейс (gui) для KVM

Выше я показал, как управлять виртуальными машинами через консоль. В целом, весь необходимый функционал доступен. Но если вам хочется управлять виртуальными машинами kvm через браузер, то можно поставить простую панель управления для этого. В качестве KVM Web Interface я предлагаю использовать VMDashboard. Это обычное веб приложение, написанное на php. В работе использует базу данных MySQL.

Устанавливаем необходимые компоненты сервера для работы Web Interface.

sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql php-xml php-libvirt-php python

Для того, чтобы работало подключение к консолям виртуальных машин через web интерфейс, необходимо раскомментировать один параметр в /etc/libvirt/qemu.conf.

sudo nano /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"

Продолжаем настройку web панели для kvm. Добавляем пользователя www-data в группу libvirt:

sudo adduser www-data libvirt

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

cd /var/www/html
sudo wget https://github.com/VMDashboard/vmdashboard/archive/v19.01.03.tar.gz

Распаковываем их и готовим к запуску:

sudo tar -xzf v19.01.03.tar.gz
sudo mv vmdashboard-19.01.03 vmdashboard
sudo chown -R www-data:www-data /var/www/html/vmdashboard

Теперь нам нужно создать mysql базу для веб панели.

sudo mysql -u root
CREATE DATABASE vmdashboard;
CREATE USER 'vmdashboard'@'localhost' IDENTIFIED BY 'parol';
GRANT ALL PRIVILEGES ON vmdashboard.* to 'vmdashboard'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Далее нужно перезагрузить kvm сервер:

sudo reboot

После перезагрузки идем в web интерфейс по адресу http://10.20.1.40/vmdashboard/ и настраиваем подключение к панели управления виртуальными машинами. Используем данные о созданной ранее базе данных и пользователе.

На этом установка и настройка веб панели управления для kvm закончена. Можно переходить в интерфейс и управлять виртуалками.

Установка сервера 1С

Для установки сервера 1С необходимо сначала установить вспомогательные пакеты, затем сам сервис. Дистрибутив необходимо скачать с сайта 1С — личного кабинета, доступного по подписке. 

И так, выполним установку следующих пакетов:

apt-get install imagemagick unixodbc ttf-mscorefonts-installer

* где:

  • imagemagick — набор программ для чтения и редактирования графических файлов.
  • unixodbc — диспетчер драйверов для ODBC.
  • ttf-mscorefonts-installer — набор шрифтов Microsoft.

В процессе установки система запросит принять лицензионное соглашение — выбираем Yes.

Копируем на сервер архив с дистрибутивом для 1С, который был загружен с сайта 1С или получен от поставщика. Распаковываем архив командой:

tar zxvf 8.3.16.1148_deb64.tar.gz

* где 8.3.16.1148_deb64.tar.gz — имя архива с 1С версии 8.3.16. В архиве пакеты deb (для Linux на основе Debian) для 64-х разрядной системы.

Устанавливаем все пакеты, которые находились в архиве командой:

dpkg -i 1c-enterprise*.deb

Разрешаем автозапуск сервиса 1С и стартуем его:

systemctl enable srv1cv83

systemctl start srv1cv83

Необходимо убедиться, что сервис запустился:

systemctl status srv1cv83

Если мы получим ошибку «srv1cv83.service not found», находим исполняемый файл srv1cv83:

find /opt -name srv1cv83

В моем случае он был по пути:

/opt/1cv8/x86_64/8.3.16.1148/srv1cv83

Делаем симлинк в каталоге /etc/init.d на найденный файл:

ln -s /opt/1cv8/x86_64/8.3.16.1148/srv1cv83 /etc/init.d/srv1cv83

Снова запускаем сервис:

systemctl start srv1cv83

Выбор наборов ПО для инсталляции Ubuntu сервера

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

Постараемся объяснить, почему же такая ситуация негативна. В таком случае для администратора сама система будет оставаться неким «чёрным ящиком», не имея представления по назначению и роли отдельных пакетов для стабильной работы всей системы.

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

Поэтому при появлении такой опции мы ничего не выбираем — просто нажимаем Tab и жмём «Продолжить».

Мы рекомендуем пропустить этот шаг без инсталляций

Пока будет происходить дальнейшая установка системы, можно спокойно отдохнуть или пойти сделать себе кофе. Даже при работе с современными системами этой операции нужно определённое время.

В конце процесса инсталляции будет предложена установка загрузчика. Такое предложение лучше принять для удобства нашей работы.

Затем будет предложена перезагрузка системы. После выполнения перезагрузки процесс установки полностью завершается — перед нами полноценная ОС, готовая к необходимой работе.

Копирование RSA-ключей на сервер

В предыдущей статье мы рассмотрели процесс создания ключей SSH. Теперь скопируем созданные ключи на сервер, чтобы в дальнейшем было возможно авторизовываться по ключу.
Процесс копирования отличается для различных ОС.

Копирование ключей из операционных систем Linux и MacOS

Выполните команду:

ssh-copy-id admin@server-host

указав вместо admin Ваше имя пользователя, а вместо server-host – IP-адрес Вашего сервера.

Готово. В результате содержимое файла с публичным ключом id_rsa.pub будет скопировано в файл ~/.ssh/authorized_keys на сервере, и в дальнейшем Вы сможете устанавливать соединение с сервером, используя команду:

ssh admin@server-host

Копирование ключей из операционной системы Windows

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

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys

Откройте созданный файл с помощью текстового редактора:

nano ~/.ssh/authorized_keys

Вставьте в него скопированный ранее текст public key из окна PuTTYgen и сохраните файл.

Теперь нам потребуется утилита pageant, которую можно скачать с сайта PuTTY.
Запустите pageant – его иконка появится в трее. Щелкните по ней правой кнопкой мыши и выберите Add Key. В открывшемся окне укажите путь к приватному ключу mykey.ppk, сохраненному ранее, и нажмите Open. (Если при создании ключа Вы указывали кодовую фразу, pageant запросит ее на данном этапе.)

Готово. Для проверки работы авторизации по ключу снова запустите утилиту PuTTY и подключитесь по SSH к Вашему серверу. Если все настроено корректно, Вы увидите подобный вывод в окне консоли:

Authenticating with public key "rsa-key-20151220" from agent

Шаг 3: проверка веб-сервера

В конце процесса установки Ubuntu 16.04 запускает Apache. Веб-сервер уже должен работать.

Для того, чтобы убедиться в том, что сервис уже работает, введите следующую команду:

$ sudo systemctl status apache2

Вывод будет примерно вот таким:

Output
● apache2.service - LSB: Apache2 web server
 Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
 Drop-In: /lib/systemd/system/apache2.service.d
 └─apache2-systemd.conf
 Active: active (running) since Fri 2017-05-27 18:30:10 UTC; 1h 5min ago
 Docs: man:systemd-sysv-generator(8)
 Process: 4336 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
 Process: 4359 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
 Tasks: 55
 Memory: 2.3M
 CPU: 4.094s
 CGroup: /system.slice/apache2.service
 ├─4374 /usr/sbin/apache2 -k start
 ├─4377 /usr/sbin/apache2 -k start
 └─4378 /usr/sbin/apache2 -k start

May 27 18:30:09 ubuntu-512mb-nyc3-01 systemd: Stopped LSB: Apache2 web server.
May 27 18:30:09 ubuntu-512mb-nyc3-01 systemd: Starting LSB: Apache2 web server...
May 27 18:30:09 ubuntu-512mb-nyc3-01 apache2: * Starting Apache httpd web server apache2
May 27 18:30:09 ubuntu-512mb-nyc3-01 apache2: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
May 27 18:30:10 ubuntu-512mb-nyc3-01 apache2: *
May 27 18:30:10 ubuntu-512mb-nyc3-01 systemd: Started LSB: Apache2 web server.

Как вы видите, сервис успешно запущен. Однако лучший способ протестировать – это запросить у Apache страницу.

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

1 вариант. Ввести в командной строке сервера:

$ hostname –I

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

2 вариант. Следующие команды также помогут вам получить IP-адрес вашего сервера (как будто вы обращаетесь к нему из другого места сети):

$ sudo apt-get install curl
$ curl -4 icanhazip.com

После того, как вы узнали IP-адрес или домен, введите его в адресную строку браузера. Вам должна высветиться стандартная приветственная страница Apache, которая будет выглядеть вот так:

Смысл этой страницы – показать, что Apache работает корректно, а также дать базовую информацию о файлах и директориях Apache.

Установка Ubuntu 18

В своем примере я расскажу, как установить систему на ssd диск. Установщик Ubuntu 18 Server встречает нас стандартным приветствием, где надо выбрать Install Ubuntu Server.

При этом, прежде чем установить ubuntu, вы можете проверить оперативную память сервера, либо загрузиться с локального диска. В ubuntu 18 обновился консольный установщик и мне он откровенно нравится. Все четко, понятно и по делу. Интерфейс не тормозит. После старта установки нам предлагают выбрать язык будущей системы. Я всегда по-умолчанию выбираю английский. Потом можно добавить любые другие языки, если понадобятся.

То же самое с раскладкой — выбираю English (US).

Далее следует настройка сети. Если у вас есть dhcp сервер, то настраивать ничего не надо, ip адрес будет получен автоматически и можно сразу продолжать установку. Если же вам надо вручную ввести сетевые параметры, то сделать это можно, выбрав сетевой интерфейс и раскрыв его настройки.

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

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

Ручная установка Ubuntu из ISO-образа

Отдельные хостеры предлагают установить операционную систему из ISO-образа. Скачать файл можно на официальном сайте Ubuntu. Для VDS подходит Server install image — это установочный образ без графического пользовательского интерфейса. 

Посмотрим порядок установки Ubuntu на примере панели VMmanager.

  1. В меню слева открываем раздел «Управление» — «ISO-образы».

  2. Нажимаем на кнопку «Загрузить» и указываем путь к файлу с установочным образом.

  3. Переходим в раздел «Управление» — «Виртуальные машины».

  4. Выбираем сервер и нажимаем на кнопку «Стоп», чтобы остановить его работу.

  5. Нажимаем на кнопку «Диски» и подключаем образ Ubuntu.

  6. Указываем имя образа и порядок загрузки — «В начало».

  7. Возвращаемся в раздел «Управление» — «Виртуальные машины» и запускаем отключенный ранее VDS.

  8. Подключаемся к серверу через VNC-консоль.

На экране появится экран мастера инсталляции Убунту. Выбираем режим «Install Ubuntu» и устанавливаем ОС как обычно.

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

Настройка Samba в Ubuntu 16.04

Ставим Samba и если у кого нет — пакет gksu, для возможности запуска окна настроек Samba:

sudo apt install samba system-config-samba gksu

Теперь переходим к настройке сервера

Создаём резервную копию оригинального файла конфигурации Samba:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

После этого, создаём свой файл конфигурации:

sudo gedit /etc/samba/smb.conf

Указываем глобальные настройки файлового сервера.
Копируем в файл эти строки:


workgroup = WORKGROUP
server string = Samba Server %v
netbios name = SambaSrv
security = user
map to guest = bad user
name resolve order = bcast host
wins support = no
dns proxy = no

Что мы скопировали?
А вот что:

workgroup - рабочая группа, в которой находятся все наши машины
server string - строка коментария, где %v - это макрос, который будет заменён на версию Самбы
netbios name - имя Самба-сервера, которое будет отображаться в Windows
security - по умолчанию выполнять аутентификацию на уровне пользователя
map to guest - это инструкция демону, которая сообщает, что делать с запросами. bad user - означает,
что запросы с неправильным паролем будут отклонены, если такое имя пользователя существует
name resolve order - очередность разрешения IP адресов по NetBIOS имени. bcast - означает отправить
в локальную сеть широковещательный запрос. Если все компьютеры между которыми планируется взаимодействие
находятся в одной сети этот вариант оптимальный.
wins support - не устанавливайте этот параметр в yes если у вас нет нескольких подсетей и вы не хотите,
чтобы ваш nmbd работал как WINS сервер

Сохраняем изменения.

Теперь даём общий доступ к папке в Ubuntu, чтобы машины с Windows могли ею пользоваться.

Общий доступ к папке в Ubuntu

Создаём папку, к которой будем открывать доступ для всех:

sudo mkdir -p /samba/obmen

Ключ -p разрешает создавать вложенные папки.
~ — создать каталоги в домашней папке пользователя

После того как папка создана, нужно сделать для нее правильные права доступа. Следующие команды разрешают доступ к папке для всех и делают владельцем nobody:

cd /samba
sudo chmod -R 0755 obmen
sudo chown -R nobody:nogroup obmen/

Внесём изменения в файл настройки samba, добавив следующий раздел:


path = /samba/obmen
browsable = yes
writable = yes
guest ok = yes
read only = no

Теперь ваш конфигурационный файл должен выглядеть вот так:


workgroup = WORKGROUP
server string = Samba Server %v
netbios name = SambaSrv
security = user
map to guest = bad user
name resolve order = bcast host
dns proxy = no


path = /samba/obmen
browsable =yes
writable = yes
guest ok = yes
read only = no

Чтобы применить изменения, перезапустите сервер Samba:

sudo service smbd restart

С анонимным доступом к общему ресурсу мы закончили.

Теперь можем проверить доступность этой папки в Windows-машине.

Нажимаем Win+R и в адресной строке пишем:

Скрин показывает, что доступ получен, и получен он без вводи логин и пароля, то есть анонимно.

Защищенный общий доступ к папке Ubuntu

Чтобы расшарить папку для Windows в Ubuntu, к которой будут иметь доступ только пользователи из определенной группы, создадим отдельную папку и опишем ее в файле настройки Samba в Ubuntu.

Создаем папку:

sudo mkdir -p /samba/obmen/sec

Устанавливаем права, чтобы доступ к папке получали только пользователи из группы securedgroup.

Создаем группу:

sudo addgroup securedgroup

Настраиваем права:

cd /samba/obmen
sudo chmod -R 0770 sec/
sudo chown -R alex:securedgroup sec

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

Открываем конфигурационный файл

sudo gedit /etc/samba/smb.conf

И добавляем в него этот блок:


path = /samba/obmen/sec
valid users = @securedgroup
guest ok = no
writable = yes
browsable = yes

Перезапускаем сервер Samba.

Теперь доступ к общей папке в Ubuntu могут получить только пользователи группы securegroup.

Чтобы проверить как это работает добавим пользователя alex в нашу группу:

sudo usermod -a -G securedgroup alex

Чтобы пользователь мог работать с расшаренными папками в Ubuntu, он должен быть в базе данных Samba.

Создаём для него пароль Samba:

sudo smbpasswd -a alex

После ввода команды будет предложено ввести новый пароль.

Для применения изменений перезагружаем файловый сервер.

Для того, чтобы доступ к папке мог получить только определённый пользователь, заменяем @securedgroup на имя пользователя.

Вот и всё

10 октября 2016, 18:32
  
Александр

Linux

  
14215

Из этой категории

  • Opera не показывает некоторые видео в linuxАвтоматическая смена MAC-адреса в LinuxНастройка принтера HP LaserJet 1018 в Debian 10Установка LAMP-сервера и phpMyAdmin в Debian 10Установка XAMPP в Debian 10 (Ubuntu) LinuxОтключить пароль SUDO в LinuxBash-команды для экономии времениУстанавливаем Brackets в Debian 10Работа с пакетами при помощи dpkgНастройка Linux Debian 10

Редактируем конфиг SSH

Откроем для редактирования конфигурационный файл SSH:

sudo nano /etc/ssh/sshd_config

Находим строчку . Раскомментируем её (убрав знак решетки (#)) и выставим ему значение . Таким образом мы запретим авторизацию под root пользователем:

PermitRootLogin no

Находим строчку . Раскомментируем её. Так мы активируем возможность авторизации с помощью SSH-ключа:

PubkeyAuthentication yes

Находим строчку . Раскомментируем ее и выставим значение no. Так мы запретим авторизацию по паролю:

PasswordAuthentication no

В самом конце файла с новой строчки вставим команду:

// Здесь изменить на вашего пользователя!
AllowUsers john

Сохраняем файл и выходим из редактора. Перезапускаем SSH:

systemctl restart ssh

Теперь если попытаться авторизоваться под или каким-либо другим пользователем, то сервер выдаст ошибку доступа.

Добавление нового хоста Nginx

Последний этап настройки VDS для размещения сайта – добавление виртуального хоста Nginx. Нам достаточно отредактировать файл default. В семействе Debian это делается так:

sudo nano /etc/nginx/sites-available/default

В Centos:

sudo vi /etc/nginx/conf.d/default.conf

Открыв файл, удалите из него всю информацию, заменив на код, представленный ниже (вместо sitename.ru подставьте актуальное имя сайта), и сохраните результат:

server {
 listen 80; server_name sitename.ru; server_name_in_redirect off; access_log /var/log/nginx/sitename.access_log; error_log /var/log/nginx/sitename.error_log; root /var/www/sitename.ru/public_html; index index.php index.html index.htm default.html default.htm; location / { try_files $uri $uri/ /index.php?$args; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
}

Осталось перезапустить Nginx. Команда для дистрибутивов Debian:

sudo service nginx restart

Для Centos:

sudo systemctl restart nginx

Теперь виртуальный сервер полностью готов к эксплуатации, и можно начинать работу непосредственно с веб-ресурсом. Дальнейшие шаги зависят от выбранной CMS.

Ошибки синхронизации времени

TIME_ERROR: 0x2041: Clock Unsynchronized

Иногда в логе /var/log/ntp.log или системном логе /var/log/syslog вы можете наблюдать ошибку — kernel reports TIME_ERROR: 0x2041: Clock Unsynchronized

На нее можно не обращать внимание, так как реально это не ошибка, а информационное сообщение. Нам просто сообщают о том, что в момент страта службы ntp, ядро linux еще не синхронизировало время

the NTP socket is in use, exiting

Если при запуске синхронизации времени с помощью ntpdate вы видите ошибку — the NTP socket is in use, exiting, то это значит, что у вас уже запущена служба ntp. Для того, чтобы не было конфликтов при изменении времени, должно работать что-то одно, либо ntpdate, либо ntp, но не оба одновременно. Чтобы эта ошибка исчезла, достаточно просто остановить ntp и запустить ntpdate еще раз.

no server suitable for synchronization found

Еще одна популярная ошибка, которая может возникнуть при запуске ntpdate. Она означает, что не получается по какой-то причине установить соединение с сервером времени. В общем случае это означает, что есть какие-то сетевые проблемы, но не обязательно. Вы можете попробовать запустить ntpdate c ключом -u. Он означает, что будет использован локальный не 123-й порт udp, как обычно, а другой из непривилегированного диапазона. Иногда это помогает, так как многие провайдеры из-за известной уязвимости протокола ntp блокируют исходящий 123 порт.

ntpdate -u pool.ntp.org

Служба ntp не запускается после загрузки сервера

Если ntp не стартует после загрузки сервера, то связано это может быть в первую очередь с тем, что не отключена служба timesyncd. Отключите ее и проверьте еще раз:

sudo timedatectl set-ntp no

Ubuntu меняет время и часовой пояс в bios

Убунта имеет дурную привычку при синхронизации времени устанавливать в bios часовой пояс UTC. В общем случае это не доставляет проблем, но если у вас установлена параллельно еще какая-то система на компьютере, то это может создавать проблемы. Чтобы Ubuntu не трогала часы в bios, необходимо выполнить следующую команду:

sudo timedatectl set-local-rtc 1

Создание нового пользователя

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

sudo adduser hostgeek

Введите и подтвердите пароль для нашего нового пользователя. Остальные поля можно оставить пустыми:


Теперь у этого пользователя должны быть права администратора с помощью команды:

sudo usermod -aG sudo hostgeek

Авторизуйтесь под этим пользователем:

на hostgeek

Вводим команду:

я потею whoami

Следовательно, мы должны получить ответ «корень». В этом случае все сделано правильно.

Выйдите из сервера и войдите с нашим новым пользователем:

ssh hostgeek@45.82.111.111

Поделитесь в социальных сетях:FacebookTwitterВКонтакте
Напишите комментарий