Создание виртуальной машины
Создадим новую виртуальную машину в среде VMware Player:
Мастер запросит местонахождение дистрибутива для установки операционной системы:
· Installer Disc – предполагается наличие установочного диска с операционной системой, вставленного в дисковод компьютера;
· Installer Disc Image – предполагается использование .iso образа диска с дистрибутивом операционной системы, это предпочтительный вариант исходя из соображений удобства и скорости установки. Выбираем этот вариант и открываем файл образа debian-40r0-i386-DVD-1.iso, нажимаем Next.
· I wil insta ll the OS later – установить ОС позже, только создать виртуальную машину.
Далее мастер запрашивает имя для вновь создаваемой виртуальной машины и место для сохранения ее файлов. Можно изменить расположение файлов по желанию (сетевой диск, флэш-носитель, внешний диск).
Далее мастер запрашивает максимальный объем диска для виртуальной машине, который будет храниться в виде файла. Максимальный объем значит, что изначально диск будет пуст и будет постепенно увеличиваться в размерах по мере сохранения данных на диск виртуальной машиной. Опция разделения файла на несколько частей позволяет удобнее переносить данные на сменных носителях и преодолеть ограничение файловой системы FAT32 – максимальный размер файла чуть менее 4 гигабайт. Файловая система NTFS такого ограничения не имеет. По-умолчанию весь диск виртуальной машины сохраняется в одном файле, что эффективнее с точки зрения производительности.
Заключительный этап работы мастер представляет перечень настроек, которые были выбраны для создания виртуальной машины, многие из которых были выбраны мастером автоматически исходя из анализа дистрибутива устанавливаемой ОС (Debian).
Некоторые параметры нас не устраивают, нажмем Customize Hardware.
· Memor y – объем памяти мастер выбирает автоматически, исходя их объема свободной памяти компьютера и требований устанавливаемой ОС. В нашем случае мы устанавливаем Debian в минимальном режиме, для которого достаточно от 32 мегабайт памяти. Для установки ОС с графическим интерфейсом требуется от 256-512 мегабайт памяти.
· Processors – количество виртуальных процессоров для виртуальной машины, VMware в состоянии эмулировать до 8 процессоров даже при 1 реальном физическом. Оставляем значение по-умолчанию.
· CD/DVD – параметры дисковода виртуальной машины, мастер выставил использование ISO образа, который был указан на начальном этапе.
· Floppy – дисковод гибких дисков, также поддерживется использование физического дисковода или файла образа. Нам это устройство не нужно, поэтому его можно удалить – Remove.
· Network Adapter – сетевой адаптер (или адаптеры) подключенные к виртуальной машине. Все средства виртуализации поддерживают как минимум три режима работы.
o NAT – режим по-умолчанию. В режиме NAT все данные пропускаются через интерфейс хостовой операционной системы, т.е. для стороннего наблюдателя трафик от виртуальных машин (если их несколько) выглядит как трафик от единственной машины – хостовой ОС. Недостаток в том, что к виртуальным машинам в этом режиме невозможно обратить извне, т.е. режим не подходит для организации серверов.
o Host-only – в этом режиме среда виртуализации создает виртуальную сеть, членам которой является хостовая ОС и виртуальная (или несколько виртуальных), причем доступа извне в эту сеть нет, как и доступа из виртуальной сети наружу. Режим применяются для целенаправленной изоляции виртуальных машин в целях безопасности.
o Bridged – основной режим подключения виртуальных машин в сети в общем случае. В этом режиме виртуальной машине предоставляется непосредственный доступ в ту же сеть, в которую подключена хостовая ОС, в прозрачном режиме. При этом сетевой адаптер хостовой ОС по сути переводится в режим коммутатора, к которому помимо хостовой ОС подключены виртуальные.
В нашем случае оптимален последний режим (Bridged), так как в дальнейшем нам придется обращаться к виртуальной машине извне, чего не позволяют остальные режимы.
· Printer, Sound Card, USB Controller – виртуальные устройства позволяют виртуальной машине обращаться к принтеру, звуковой карте и USB-контроллеру хостовой ОС соответствеено. Можно удалить эти устройства.
После завершения настройки виртуальной машины закрываем последний этап мастера и виртуальная машине перезагружается.
Установка ОС
При правильной настройке на экране отобразится приглашение мастера установки ОС Debian GNU/Linux 4.0. Нажимам Enter. Начинается процесс загрузки, сопровождающийся отображением всех диагностических сообщений.
Выбираем язык, страну местонахождения и раскладку клавиатуры, на которых будет вестись процесс установки. Здесь и далее в руководстве будет описываться процесс установки на английском языке.
После определения оборудования и сканирования компакт-диска на предмет доступного к установке ПО установщик попытается автоматически получить сетевые реквизиты с помощью протокола DHCP. При успешной конфигурации дополнительного участия пользователя по настройке сети на этапе установки не потребуется, иначе придется ввести реквизиты вручную.
При выполнении работы в домашних условиях (нет локальной сети или ее настройки неизвестны) предпочительнее будет переключить сетевой адаптер в режим Host-only – в этом случае виртуальная машина автоматически получит сетевые реквизиты от DHCP-сервера, встроенного в WMware Player.
Здесь и далее – подтверждение сетевых реквизитов (имя машины в сети и сетевой домен), полученных от DHCP сервера. Если они не были полученые – необходимо ввести их вручную.
Далее установщик запрашивает режим форматирование и разбиения на разделы жесткого диска. По-умолчанию предлагается сделать автоматически с возможностью изменить параметры в конце процесса. Этот вариант нам подходит. Далее следует запрос для выбора диска, на который будет установлена система – у нашей машины всего один жесктий диск.
Далее установщик запрашивает как разделять жесткий диск – либо все системные папки в одном разделе, либо каждая системная папка в отдельном разделе. Первый вариант проще и эффективнее использует дисковое пространство, поэтому используем его.
После расчета разделов и их размеров предоставляется возможность просмотреть результаты и вернуться в начало для внесения изменений. Нас все устраивает, соглашаемся с предложенной структурой диска и нажимаем Finish partitioning…
Далее следует диалог для введения пароля суперпользователя (root), который является аналогом учетной записи Администратор в ОС Windows и имеет неограниченные права доступа к системе.
Очевидно, что неограниченные права доступа у пользователя представляют угрозу для безопасности системы из-за возможных необдуманный действий пользователя и возможности выполнения вредоносного кода (вирусы, трояны и т.д.), поэтому не рекомендуется работать в системе под учетной записью root или Администратор. Запись суперпользователя должна использоваться только для настройки системы.
Поэтому после вводы пароля суперпользователя установщик предлагает создать учетную запись обычного пользователя и задать для нее пароль.
После этого начинается установка базовой системы – ядро операционной системы и минимальный набор программ и утилит, необходимый для запуска ОС. После установки базовой системы установщик выдаст запрос на использование сетевых зеркал для дистрибутивов и обновлений безопасности – нужно ответить Нет, иначе установщик будет вынужден скачать несколько сотен мегабайт данных и процесс установки значительно замедлится.
После установки базовой системы установщик спрашивает, какую роль будет выполнять устанавливаемый сервер – предлагая установить соответствующие набор ПО. Нам нет необходимости устанавливать какое-либо ПО сразу, мы будем это делать вручную по мере необходимости, поэтому выбираем только пункт Standart System. Установщик начинает процесс распаковки и установки ПО на сервер.
После установки и распаковки ПО предлагается установить загрузчик операционных систем GRUB в основную загрузочную запись (MBR – Master boot record) жесткого диска. Выводится предупреждение о том, что если на этом же диски установлены другие ОС, то замена загрузчика может привести к невозможности их запуска. На нашем диске никаких других ОС не установлено, поэтому можно продолжать установку.
После установки загрузчика система готова к запуску – после нажатия Continue виртуальная машина перезагрузится.
Справка man
man – основная команда для начинающего пользователя Linux. Она выводит справку (manual) по указанной команде, ее синтаксис, примеры и ссылки на другие раздели документации и команды.
Использование: man <команда>, например:
user@debian:~$ man ls
LS(1) User Commands
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort.
Mandatory arguments to long options are mandatory for short options too.
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
--author
with -l, print the author of each file
Перемещение по многостраничному выводу – стрелки и клавиши PgUp/PgDown, выход – клавиша q.
Полный вариант справки по использовани справки:
user@debian:~$ man man
Потоки ввода-вывода
Стандартные потоки ввода и вывода в UNIX/Linux наряду с файлами являются одним из наиболее распространённых средств для обмена информацией процессов с внешним миром, а перенаправления >, >> и |, одной из самых популярных конструкций командного интерпретатора.
Процесс взаимодействия с пользователем выполняется в терминах записи и чтения в файл. То есть вывод на экран представляется как запись в файл, а ввод — как чтение файла. Файл, из которого осуществляется чтение, называется стандартным потоком ввода, а в который осуществляется запись — стандартным потоком вывода.
Стандартные потоки — воображаемые файлы, позволяющие осуществлять взаимодействие с пользователем как чтение и запись в файл. Кроме потоков ввода и вывода, существует еще и стандартный поток ошибок, на который выводятся все сообщения об ошибках и те информативные сообщения о ходе работы программы, которые не могут быть выведены в стандартный поток вывода.
Стандартные потоки привязаны к файловым дескрипторам с номерами 0, 1 и 2.
· Стандартный поток ввода (stdin) — 0;
· Стандартный поток вывода (stdout) — 1;
· Стандартный поток ошибок (stderr) — 2.
Вывод данных на экран и чтение их с клавиатуры происходит потому, что по-умолчанию стандартные потоки ассоциированы с терминалом пользователя. Это не является обязательным — потоки можно подключать к чему угодно — к файлам, программам и даже устройствам. В командном интерпретаторе bash такая операция называется перенаправлением потоков:
< файл
Использовать файл как источник данных для стандартного потока ввода.
> файл
Направить стандартный поток вывода в файл. Если файл не существует, он будет создан; если существует — перезаписан сверху.
2> файл
Направить стандартный поток ошибок в файл. Если файл не существует, он будет создан; если существует — перезаписан сверху.
>>файл
Направить стандартный поток вывода в файл. Если файл не существует, он будет создан; если существует — данные будут дописаны к нему в конец.
2>>файл
Направить стандартный поток ошибок в файл. Если файл не существует, он будет создан; если существует — данные будут дописаны к нему в конец.
&>файл или >&файл
Направить стандартный поток вывода и стандартный поток ошибок в файл. Другая форма записи: >файл 2>&1.
Рассмотрим простой пример – ранее мы выводили список процессов на экран. Перенаправим вывод данных от команды ps из стандартного поток вывода (экран) в файл.
Исходная команда:
debian:/home/user# ps
PID TTY TIME CMD
2542 pts/0 00:00:00 su
2543 pts/0 00:00:00 bash
2563 pts/0 00:00:00 ps
Направим вывод вместо экрана – в файл ps.txt в домашней папке пользователя.
user@debian:~$ ps > ~/ps.txt
Как видно, вывод программы ушел в файл, а на экран ничего не вывелось. Так как файла не существовало – он был создан. Проверим, так ли это и содержит ли он вывод ps:
user@debian:~$ cat ~/ps.txt
PID TTY TIME CMD
2523 pts/0 00:00:00 bash
2575 pts/0 00:00:00 ps
Команда cat выводит содержимое файла на экран, как видим – файл содержит вывод ps. Иная форма записи: ps 1> ~/ps.txt, где 1 – номер потока (стандартный вывод).
Теперь попробуем вывести в файл поток ошибок, для этого сознательно выполним две команды: ps с неправильным аргументом и с правильным:
user@debian:~$ ps 2>~/ps_error.txt
PID TTY TIME CMD
2523 pts/0 00:00:00 bash
2676 pts/0 00:00:00 ps
user@debian:~$ ps * 2>~/ps_error.txt
user@debian:~$ cat ~/ps_error.txt
ERROR: Unsupported option (BSD syntax)
Первая команда выполнилась без ошибки и мы получили ее вывод на экран. Вторая команда содержала ошибку в аргументе и ее вывод потока ошибок был направлен в файл ps_error.txt, содержимое которого мы вывели на экран.
Рассмотрим использование стандартного потока ввода на примере команды sort (сортировка) из файла. Создадим файл, в котором содержатся данные для сортировки (например, числа от 0 до 9 в случайном порядке):
user@debian:~$ echo '9' >> unsort.txt
user@debian:~$ echo '7' >> unsort.txt
user@debian:~$ echo '5' >> unsort.txt
user@debian:~$ echo '3' >> unsort.txt
user@debian:~$ echo '1' >> unsort.txt
user@debian:~$ echo '8' >> unsort.txt
user@debian:~$ echo '2' >> unsort.txt
Нетрудно догадаться, что команда echo выводит указанный текст на экран, но в данном случае мы направили ее вывод в файл unsort.txt. Кавычки в данном случае нужны, так как в тексте есть пробелы и спецсимволы. Проверим, записалась ли строка в файл:
user@debian:~$ cat unsort.txt
9
7
5
3
1
8
2
Записалась. Теперь выполним следующую конструкцию:
user@debian:~$ sort < unsort.txt > sort.txt
user@debian:~$ cat sort.txt
1
2
3
5
7
8
9
Программа sort сортирует данные, поступившие в стандартный поток ввода, и выводит их на стандартный поток вывода. Стандартный поток ввода подключен к файлу unsort.txt, а выход записывается в sort. txt. Описанная структура может быть в разы более сложной и включать десятки команд.
Конвейеры
Стандартные потоки можно перенаправлять не только в файлы, но и на вход других программ. Если поток вывода одной программы соединить с потоком ввода другой программы, получится конструкция, называемая каналом, конвейером или пайпом (от англ. pipe, труба).
В bash канал выглядит как последовательность команд, отделенных друг от друга символом |:
команда1 | команда2 | команда3 | . . . | командаN
Стандартный поток вывода команды1 подключается к стандартному потоку ввода команды2, стандартный поток вывода команды2 в свою очередь подключается к потоку ввода команды3 и т.д.
В UNIX/Linux существует целый класс команд, предназначенных для преобразования потоков данных в каналах. Такие программы известны как фильтры. Программа-фильтр читает данные, поступающие со стандартного потока ввода (на вход), преобразовывает их требуемым образом и выводит на стандартный поток вывода (на выход).
Мы уже рассматривали пример использования конвейра:
debian:~# ps ax | grep ssh | grep usr | grep sbin
2758 ? Ss 0:00 /usr/sbin/sshd
2862 ttyl S+ 0:00 grep ssh
Рассмотрим пример использования конвейра еще раз на примере сортировки данных:
user@debian:~$ cat unsort.txt | sort > sort.txt
user@debian:~$ cat sort.txt
1
2
3
5
7
8
9
Сначала выполняется команда cat, которая выводит на экран содержимое файла unsort.txt, но ее поток вывода перенаправляется на поток ввода команды sort, которая выполняет сортировку и ее вывод записывается в файл sort.txt. Выводит сортированный файл на экран и убеждаемся, что числа отсортированы по возрастанию.
Немного усложенный пример:
user@debian:~$ cat unsort.txt | sort | sort -r > sort_r.txt
user@debian:~$ cat sort_r.txt
9
8
7
5
3
2
1
Та же процедура, но команда sort передает свой вывод команде sort с аргументом –r, который заставляет ее выполнить сортировку в обратном порядке (по убыванию). Выводим файл на экран и убеждаемся, что он отсортирован.
Pwd
pwd – вывод текущей директории, в которой находится пользователь. Аналогичная команде chdir DOS. По-умолчанию пользователь после входа в систему находится в домашней директории (/ home/<имя> для обычного пользователя или /root для суперпользователя).
debian:/usr/bin# pwd
/usr/bin
cd
cd <путь> – переход в директорию, указанную в пути. Аналогичная команде DOS, с тем отличием, что в Linux нет понятия буквы диска и его не надо менять отдельной командой.
При запуске без параметров – переход в домашнюю директорию пользователя. Пример – переход в директорию /usr/bin и переход в домашнюю директорию.
user@debian:~$ cd /usr/bin
user@debian:/usr/bin$ pwd
/usr/bin
user@debian:/usr/bin$ cd
user@debian:~$ pwd
/home/user
user@debian:~$
ls
ls – вывод содержимого текущей директории (путь не указан) или содержимого директории по указанному пути.
Например:
user@debian:/usr/bin$ cd /
user@debian:/$ ls
bin boot cdrom dev etc home initrd initrd.img lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var vmlinuz
user@debian:/$ ls /home/
user
Команда имеет ряд дополнительных параметром, позволяющих отображать скрытые файлы и папки, изменять форматирования вывода и т.д. Например, попробуйте выполнить следующее:
user@debian:~$ ls --color=auto /usr/bin/
и
user@debian:~$ ls --color=auto -laX /usr/bin/
Touch
touch <путь к файлу> – создание пустого файла по указанному пути. Обратите внимание, что в Unix нет понятия «расширение файла», поэтому файлом будет считаться последняя строка пути, не ограниченная знаком слэша «/». Т.е. команда touch / home/ user/ file создаст файл file в подпапке user папки home. Команда touch / home/ user/ file. txt – аналогично, но имя файла будет file.txt.
user@debian:~$ cd /home/user
user@debian:~$ touch file.txt
равносильно:
user@debian:~$ touch /home/user/file.txt
Cat
Простейшая программой просмотра содержимого файла, просто копирует файл (файлы) в стандартный поток вывода, объединяя их (объединять по-анлийски - concatenate, отсюда название). Пример: выведем содержимое конфигурационного файла программы apt:
debian:/home/user# cat /etc/apt/sources.list
#
# deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 DVD Binary-1 20070407-11:40]/ etch contrib main
deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 DVD Binary-1 20070407-11:40]/ etch contrib main
# Line commented out by installer because it failed to verify:
#deb http://security.debian.org/ etch/updates main contrib
# Line commented out by installer because it failed to verify:
#deb-src http://security.debian.org/ etch/updates main contrib.
Иногда полезно выводить номер каждой строки – например при чтении исходных кодов для поиска ошибок, для этого используется аргумент –n.
Tail
Аналогична cat, но выводит последние 10 строк файла или n-строк при запуске с параметром – n:
user@debian:~$ tail -n 2 /etc/apt/sources.list
# Line commented out by installer because it failed to verify:
#deb-src http://security.debian.org/ etch/updates main contrib.
Полезна для чтения лог-файлов, так как обычно нас интересуют несколько последних записей в логе:
debian:/home/user# tail /var/log/syslog
Mkdir
Создание новой папки или папок:
debian:~# mkdir newdir
debian:~# mkdir newdir2 newdir/newdir3
debian:~# ls
newdir newdir2
cp
Копирование файлов и папок. Для копирования подпапок и файлов нужно запускать команду с ключем – R (рекурсивный режим).
debian:~# touch newfile.txt #создаем файл newfile.txt
debian:~# cp newfile.txt newdir2 #копируем его в папку newdir
debian:~# cp newfile.txt newdir #копируем его в папку newdir2
debian:~# cp -R newdir newdir2 #рекурсивно (вместе с содержимым) копируем папку newdir в папку newdir2
debian:~# cp -R newdir2 newdir3 #затем то же проделываем с newdir2
debian:~# tree #просмотрим дерево папок и файлов
.
|-- newdir
| `-- newfile.txt
|-- newdir2
| `-- newdir
| `-- newfile.txt
|-- newdir3
| `-- newdir2
| `-- newdir
| `-- newfile.txt
`-- newfile.txt
6 directories, 4 files
rm
Удаление папок и файлов. Рассмотрим пример:
debian:~# rm newdir
rm: cannot remove `newdir': Is a directory
Команда по-умолчанию отказывается удалять директории, поэтому чтобы удалить директорию вместе с файлами нужно использовать ключ – R (рекурсивно). Следует быть внимательным при использовании команды – файлы и директории удаляются без подтверждения!
debian:~# rm newdir
rm: cannot remove `newdir': Is a directory
debian:~# rm -r newdir
debian:~# rm -r newdir3
debian:~# rm -r newdir2
debian:~# tree
.
|-- newdir
`-- newfile.txt
1 directory, 1 file
debian:~#
mv
Переименование/перемещение директорий.
Переименование:
debian:~# ls
newdir newfile.txt
debian:~# mv newdir newdir10
debian:~# ls
newdir10 newfile.txt
Перемещение файла:
debian:~# ls
newdir10 newfile.txt
debian:~# mv newfile.txt newdir10/newfile10.txt
debian:~# ls
newdir10
debian:~# ls newdir10/
newfile10.txt
du
Определение размера файлов и директорий. При запуске без аргументов рекурсивно выводит размер всех подпапок в текущей папке в байтах, поэтому обычно вызывается с аргументами.
Суммарный размер всей текущей папки:
debian:/etc# cd /etc/
debian:/etc# du -sh
17M .
Размер всех подпапок в текущей папке:
debian:/etc# du -h --max-depth=1
24K ./dhcp3
8.0K ./ldap
8.0K ./csh
12K ./cron.monthly
8.0K ./rc1.d
8.0K ./dictionaries-common
16K ./skel
12K ./texmf
Размер всех папок и файлов в текущей папке:
debian:/etc/dhcp3# du -ah
4.0K ./dhclient-enter-hooks.d/debug
8.0K ./dhclient-enter-hooks.d
4.0K ./dhclient-exit-hooks.d/debug
8.0K ./dhclient-exit-hooks.d
4.0K ./dhclient.conf
24K .
Размер всех файлов на диске:
debian:/# du -sh /
Параметры, которые влияют на отображение:
-h «человекочитабельный» формат отображения размера, т.е. в килобайтах, мегабайтах и т.д.
-a отображать файлы, по-умолчанию файлы не показываются
-s вывод только суммарного размера для аргумента, т.е. d u – s / etc выведет размер всей папки etc и больше ничего.
-S не включать в размер директории размер ее поддиректорий
Параметры можно комбинировать между собой.
Locate
Поиск файлов в файловой базе данных, которая создается и обновляется командой updatedb. При запуск updatedb сканируется все файлы на диске и составляет базу данных их расположения. Поиск в базе данных намного быстрее, чем просмотр всей файловой системы при поиске файла. Недостаток – при удалении файла с диска он еще может оставаться в базе данных и некоторое время может отображаться в результатах поиска.
Создадим новый файл, обновим базу данных (это может занять некоторое время). Попробуем поискать только что созданный файл:
debian:/home/user# cd /home/user/
debian:/home/user# touch mynewfile.txt
debian:/home/user# updatedb
debian:/home/user# locate mynewfile.txt
/home/user/mynewfile.txt
debian:/home/user#
Видим, что файл был найдет – команда вывела путь к файлу.
Удалим файл и снова выполним его поиск:
debian:/home/user# rm mynewfile.txt
debian:/home/user# locate mynewfile.txt
/home/user/mynewfile.txt
Команда по-прежнему считает, что файл находится на жесктом диске!
Для поиска только реально существующих файлов можно использовать ключ –e, locate будет непосредственно проверять наличие файла на диске в случае обнаружения его в БД. Естественно, такая проверка в разы замедляется поиск и нагружает жесткий диск, поэтому использовать ее надо разумно.
Обновим БД и снова выполним поиск:
debian:/home/user# updatedb
debian:/home/user# locate mynewfile.txt
Как теперь видно – из базы данных информация об удаленном файле была также удалена и теперь мы получаем верный результат.
SSH
SSH (англ. Secure SHell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли.
Управление ключами
SSH может авторизоваться не по паролю, а по ключу. Ключ состоит из открытой и закрытой части. Открытая часть серверного ключа хранится на компьютере пользователя, Закрытая часть серверного ключа находится на сервере, на который требуется зайти. При авторизации, информация шифруется с помощью открытой части серверного ключа, передается на сервер, после чего пытается быть расшифрованной закрытым ключом сервера. Дальше происходит обратное действие. Если данная процедура произошла успешно — авторизация выполняется. Таким образом, авторизуется не только клиент на сервере, но и сервер по отношению к клиенту. Главной особенностью ключа по сравнению с паролем является то, что его нельзя «украсть», взломав сервер — ключ не передаётся с клиента на сервер, а во время авторизации клиент доказывает серверу, что владеет ключом.
Генерация ключа
Свой ключ можно сгенерировать с помощью программы PuTTY Key Generator.
Ключ можно зашифровать паролем. Если пароль указать пустым, он спрашиваться при использовании не будет. Восстановить забытый пароль невозможно.
При нажатии Save public key будет предложено сохранить открытый ключ.
При сохранении закрытого ключа не указав пароль, появится предупреждение:
Структура ключа
pubkey — открытый ключ. Его копируют на сервера, куда нужно получить доступ.
privatekey.ppk — закрытый ключ. Он не должен быть никому известен. Если он будет скомпрометирован, то необходимо сгенерировать новый ключ.
Копирование ключа на сервер
В каталоге пользователя, под которым необходимо зайти, если создать файл ~/.ssh/authorized_keys и положить туда открытый ключ, то можно будет заходить без пароля. Обратите внимание, права на файл не должны давать возможность писать в этот файл посторонним пользователям, иначе ssh его не примет. В ключе последнее поле — user@machine. Оно не имеет никакого отношения к авторизации и служит только для удобства определения где чей ключ. Заметим, это поле может быть изменено (или даже удалено) без нарушения структуры ключа.
Пример открытой части ключа:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAoi9h/sl0Y3oQphYUToDbjkqdH4sElB/7z5uAqzBfG/cKXynZjwrXQs5J66G1VyoH492jkvASwtqfo/E/vzDC9bCk1alqyT58xUz97lk+h2nctMd8Nkj3L1AMuT67jYZ0fmRVeksh4qKZ4HYUUzNnEznJ7ijaQ0xgZ7F6Fh7y2d0= user@machine
Ключ сервера
Первый раз, когда пользователь заходит на сервер, ssh спрашивает, доверяете ли он ключу. Если он отвечает нет, соединение закрывается. Если да — ключ сохраняется на компьютере пользователя.
Если ключ сервера поменялся (например, сервер переустановили), ssh предупредит о изменении ключа. Обратите внимание, если сервер не меняли, а ssh сообщает о изменении ключа, скорее всего вы пытаетесь подключится не к тому серверу (например, в сети появился ещё один компьютер с тем же IP, особо этим страдают локальные сети с 192.168.1.1, которых в мире несколько миллионов). Сценарий атаки «человек по середине» маловероятен, чаще всего ошибка с IP, хотя если у вас авторизация по ключу, а сервер вдруг запросил пароль — то пароль вводить не стоит.
Ключ сервера хранится в /etc/ssh/ssh_host_rsa_key и /etc/ssh/ssh_host_rsa_key.pub. Их можно:
а) скопировать со старого сервера на новый.
б) сгенерировать с помощью ssh-keygen. Пароля при этом задавать не надо (т.е. пустой). Ключ с паролем ssh-сервер использовать не сможет.
Заметим, если вы сервера клонируете (например, в виртуальных машинах), то ssh-ключи сервера необходимо сгенерировать повторно.
Старые ключи из know_hosts при этом лучше убрать, иначе ssh будет ругаться на duplicate key.
Копирование файлов
С помощью программы winscp можно копировать файлы через ssh-сессию.
Для этого следует указать адрес сервера, порт, на котором работает ssh, и расположение приватного ключа.
Удалённое исполнение кода
PuTTY может выполнить команду на удалённом сервере и тут же закрыть соединение.
Установка LAMP в Ubuntu
LAMP - это самый популярный стек программного обеспечения для работы веб-сервера. Сюда входят такие программы, как Apache, PHP, MySQL, и работает всё это в Linux, отсюда и такое название. Apache - это самый популярный веб-сервер, может, он не такой производительный, как Nginx, зато очень прост в настройке. PHP - самый популярный язык программирования для веб, а без базы данных вообще сейчас мало что работает.
Рассмотрим, как выполняется Установка LAMP Ubuntu 18.04 несколькими способами: с помощью утилиты tasksel или вручную с помощью установщика программ.
C. Настройка брандмауэра
По умолчанию брандмауэр закрывает все неразрешённые входящие подключения. Поэтому, чтобы к вашему веб-серверу можно было получить доступ извне, необходимо добавить его порт в исключения:
sudo ufw allow in 80/tcp
D. Проверка работы LAMP
Для проверки наберите в адресной строке браузера IP-адрес сервера, куда вы устанавливали LAMP, у меня это localhost:
Работает, теперь давайте проверим, правильно ли работает PHP. Создайте файл в директории /var/www/html со следующим содержимым:
sudo vi /var/www/html/phpinfo.php
<?php phpinfo(); ?>
Затем откройте адрес localhost/phpinfo.php. Если всё работает, вы должны увидеть такую страничку:
Также можно проверить, работает ли MySQL: если расширение PHP для MySQL загрузилось, то на странице phpinfo будет размещена такая информация:
Готово, дальше идёт в основном настройка LAMP в Ubuntu 18.04.
E. Настройка apache
Для обработки запросов будет использоваться модуль mpm_prefork, так как он совместим с большинством систем. Поэтому его нужно активировать, а mpm_event и mpm_worker отключить:
sudo a2dismod mpm_event
sudo a2dismod mpm_worker
sudo a2enmod mpm_prefork
Включаем mod_rewrite, который сейчас используется практически везде:
sudo a2enmod rewrite
Если вы хотите использовать файлы httaccess для настроек, то необходимо в файле /etc/apache2/apache2.conf изменить значение AllowOverride с None на All для нужных местоположений, например, для /var/www:
sudo vi /etc/apache2/apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Далее необходимо перезапустить Apache:
sudo systemctl restart apache2
F. Настройка php
По умолчанию короткие теги, обрамляющие скрипты PHP, отключены. Это может привести к тому, что некоторые скрипты, использующие эти теги, могут не выполнятся. Для включения этой возможности откройте файл:
sudo vi /etc/php/7.2/apache2/php.ini
Найдите short_open_tag = Off и замените на:
short_open_tag = On
Вывод ошибок в PHP по умолчанию тоже отключён. Если вы хотите разрабатывать программы на этом сервере, то вам необходимо включить ошибки, иначе вместо ошибок вы будете видеть пустой экран. Для этого найдите эти строки и приведите их к такому виду:
error_reporting = E_ALL
display_errors = On
Или для записи ошибок в файл вы можете добавить такую строку:
error_log = php-errors.log
После внесения всех изменений необходимо перезапустить Apache:
sudo systemctl restart apache2
G. Настройка mysql
По умолчанию MySQL не очень хорошо настроена в плане безопасности. Нам нужно задать пароль суперпользователя и удалить гостевой доступ. Для выполнения всех этих задач запустите в терминале:
sudo mysql_secure_installation
На первом этапе утилита попросит вас ввести пароль суперпользователя, так как он ещё не задан, просто нажмите Enter:
Далее введите новый пароль:
Во всех следующих вопросах нужно отвечать утвердительно:
1. Запретить удалённый вход для root;
2. Запретить гостевой вход;
3. Удалить временные таблицы;
4. Обновить таблицы привилегий.
Готово, теперь ваша база данных защищена и готова к работе.
H. Удаление LAMP в ubuntu
Чтобы полностью удалить LAMP из системы, достаточно удалить все пакеты, которые вы установили ранее:
sudo apt purge apache2 mariadb-server php7.2 libapache2-mod-php7.2 php-mysql php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc
Команда purge позволяет удалить не только пакеты, но и их конфигурационные файлы. Если вы хотите оставить конфигурационные файлы, используйте команду remove.
Если установка LAMP на Ubuntu выполнялась с помощью tasksel, то для удаления необходимо выполнить:
sudo tasksel uninstall lamp-server
I. Выводы
Мы разобрали, как выполняется установка Apache, PHP, MySQL на Ubuntu 18.04. Фактически, уже после шага 3 установка Lamp Ubuntu 18.04 практически завершена, и уже можно работать, а дальше идёт только настройка LAMP.
Установка PhpMyAdmin ubuntu
Phpmyadmin - это очень простой и удобный инструмент для управления базами данных MySQL. Он позволяет создавать и редактировать таблицы, вносить в них данные, администрировать пользователей баз данных, а также экспортировать и импортировать записи и структуру таблиц из базы данных.
Всё это можно делать в простом веб-интерфейсе.
Прежде чем мы сможем установить Phpmyadmin на Ubuntu, нужно убедиться, что у вас установлено расширение php для работы с текстовыми строками в формате юникода. Для его установки выполните в терминале:
sudo apt install php-mbstring
Теперь можно установить Phpmyadmin Ubuntu 18.04:
sudo apt install phpmyadmin
Установщик спросит вас, какой веб-сервер будет использоваться для работы программы. Отметьте с помощью кнопки Пробел пункт apache2, а затем с помощью Tab и Enter нажмите кнопку Ок:
Далее установщик предложит создать базу данных для Phpmyadmin, там будет служебная информация программы, мы к ней отношения иметь не будем, соглашаемся:
На следующем этапе надо придумать пароль для пользователя Phpmyadmin, который будет использоваться программой для доступа к её базе данных, его мы тоже никогда использовать не будем:
После этого установка Phpmyadmin Ubuntu завершена.
Рабочая среда
Будет использоваться система Ubuntu. Шаги будут работать для всех разновидностей Linux, а также для Mac.
B. Выбор ОС и оборудования
Далее можно выбрать ОС для виртуальной машины, а также другое оборудование. Выберите Ubuntu Server 18.04 LTS (HVM), тип тома SSD.
На следующем экране выберите тип экземпляра. В этом руководстве выбран экземпляр t2.micro, так как он подходит для бесплатного уровня. Одноядерное ядро и 1 ГБ памяти достаточно для общих целей.
D. Создание пары ключей
На следующей странице будут представлены параметры для файла ключей. Этот файл используется для подключения к экземпляру EC2 из вашей системы.
Выберите опцию «Create a new key pair» и скачайте файл ключей.
После загрузки файла ключа кнопка для запуска экземпляра стала активной. И нажатие на эту кнопку - последний шаг для запуска экземпляра в AWS.
При успешном запуске экземпляра вы будете перенаправлены на страницу, которая сообщает об успешном запуске экземпляра.
Нажмите кнопку «View Instances», и вы будете перенаправлены на консоль управления EC2.
E. Подключение к Instance
После запуска вашего Instance вы можете подключиться к нему и использовать его так же, как если бы вы использовали компьютер, который находится перед вами.
После запуска Instance может потребоваться несколько минут, чтобы экземпляр был готов, чтобы вы могли подключиться к нему. Убедитесь, что ваш Instance прошел проверку статуса. Вы можете просмотреть эту информацию в столбце Проверка состояния на странице «Instances».
F. Установка Apache
Перед установкой Apache необходимо обновить список пакетов для обновлений и новых пакетов.
sudo apt-get update
Теперь Apache можно установить.
sudo apt-get install apache2
После установки Apache, если вы перейдете к общедоступному IP-адресу экземпляра (который можно найти из консоли EC2) из браузера, вы увидите знакомую страницу приветствия Apache. Это подразумевает, что Apache работает.
G. Установка MySQL
Установите MySQL Server
sudo apt-get install mysql-server
После установки MySQL вам нужно будет установить корневой пароль базы данных и защитить его с помощью следующей команды:
sudo mysql_secure_installation
Вам будет представлен экран, на котором MySQL спросит, хотите ли вы активировать VALIDATE PASSWORD PLUGIN. Сейчас, пока все просто, наберите no.
В следующем введите пароль root на ваш выбор. Подтвердите это снова.
На следующем экране MySql спросит, нужно ли удалять анонимных пользователей - да.
Запретить вход в систему root удаленно? – нет.
Удалить тестовую базу данных и получить доступ? – да.
Перезагрузить таблицы привилегий сейчас? – да.
После того, как пароль был установлен, вы можете проверить правильность работы MySQL, войдя в базу данных с помощью команды:
sudo mysql -u root -p
Пароль тот же, что был установлен на предыдущем шаге.
Если все прошло гладко, вас приветствует приглашение mysql.
Введите выход, чтобы выйти из MySql
exit
I. Установка phpMyAdmin
Для установки phpMyAdmin выполните следующую команду:
sudo apt install phpmyadmin
После чего вам будут представлены варианты настройки phpMyAdminдля сервера:
Первый вариант - выбрать подходящий веб-сервер. Здесь важно отметить, что хотя apache2 выделен, он не был выбран.
Выберите apache2, нажав клавишу пробела. Затем нажмите клавишу Tab, которая приведет нас к кнопке Ok. Теперь нажмите Enter.
Следующая опция - настроить базу данных для phpmyadmin с помощью dbconfig-common. Выберите опцию Да.
Затем запрашивается пароль для входа в phpmyadmin. По умолчанию имя пользователя - phpmyadmin . Теперь вы устанавливаете пароль для этого пользователя (он отличается от обычного пользователя).
Нажмите клавишу Tab, чтобы перейти к кнопке Ok.
Теперь к phpMyAdmin можно получить доступ из браузера, перейдя в
http://[SERVER_PUBLIC_IP]/phpmyadmin
Введите учетные данные для входа с помощью пользователя phpmyadmin и соответствующего пароля.
Буфер обмена
Буфер обмена Windows автоматически синхронизируется между локальной и удаленной машиной:
Это касается любых данных: текст, изображения. Файлы и папки таким образом копировать нельзя.
Принтеры
По-умолчанию также в удаленной машине подключатся принтеры локальной машине, что дает возможность печатать документы напрямую, без промежуточного сохранения и копирования файла.
Подключение через браузер
Дополнительно возможностью VNC является возможность подключения без использование отдельной программы-клиента на локальной машине – с использованием любого совместимого с Java SE браузера. В рассматриваемой реализации по-умолчанию включана возможность подключения с помощью Java-клиента. Для этого нужно в браузере перейти по адресу: http://ip_адрес_машины:5800.
Все остальные параметры аналогичны стандартному клиенту, только в несколько упрощенном виде. Производительность в таком режиме также гораздо ниже из-за особенностей реализации на Java. С другой стороны – полная независимость от операционной системы, Java-клиент клиент будет работать везде, где есть Java.
Дополнительные возможности
Передача файлов
В рамках VNC-сессии также возможна передача файлов, причем используется полноценный файловый менеджер, где с одной стороны локальная машина, с другой – удаленная.
Передача звука
Некоторые реализации VNC поддерживают также передачу звука, но требуют для этого установки драйверов – в RDP это возможность встроена и не требует дополнительных манипуляций.
Режим View Only
Режим, когда при подключении к удаленной машине клиент может только просматривать экран, но взаимодействовать с ним не может. Режим подходит для демонстраций, конференций, обучению и удаленной помощи.
Возможность может быть включена как на клиенте, так и на сервере (разные пароли для полного доступа и для просмотра).
Запись
Некоторые реализации клиентов могут вести запись происходящего на экране в файл.
Чат
Предусмотрен онлайн чат между локальной и удаленной машиной – часто используется для онлайн-помощи пользователю или обучению.
Шифрование
Важным недостатком (и одновременно достоинством) VNC является отсутствие в спецификации протокола какого-либо шифрования – по умолчанию данные никак не шифруются и могут быть перехвачены. Однако существует масса плагинов (модулей), реализующих все современные протоколы шифрования (3DES, RC4, AES). RDP поддерживает шифрование RC4, которое может быть скомпрометировано. Новые версии (начиная с Windows Vista) поддерживают более устойчивую архитектуру шифрования на базе сертификатов и открытых ключей TLS.
Выводы
На основании полученных измерений сделайте выводы о применимости различных протоколов удаленного доступа в различных сценариях и ситуациях.
Подготовка жесткого диска
Выполним типовую задачу – создадим образ виртуальной машины для резервирования данных и последующего развертывания. Как было сказано выше – Ghost не может работать с одним диском и разделом, для резервирования нужен хотя бы второй раздел на диске со свободным местом, а лучше дополнительный жесткий диск для хранения резервных копий. Так как мы работаем в виртуализированной среде, то не возникнет проблем добавить в виртуальную машину еще один жесткий диск. Выключаем виртуальную машину, открываем ее настройки (Ctrl+D) и добавляем жесткий диск в разделе Hardware:
Нам нужно добавить новый жесткий диск (в принципе – можно добавлять ранее созданные) – Create a new virual disk. В качестве интерфейса диска оставляем значение по-умолчанию – IDE. Максимальный размер можно оставить по-умолчанию. В качестве имени вновь создаваемого диска можно указать backup.vmdk, чтобы было легче отличать основной диск от резервного.
После создания диска его нужно отформатировать, так как Ghost может записать образ только на работоспособный раздел с файловой системой. Загружаем виртуальную машину и форматируем диск:
C:\Documents and Settings\1>diskmgmt.msc
В оснастке Управление дисками мастер инициализации дисков предложит нам инициализировать вновь созданный диск – соглашаемся и на все вопросы нажимаем Далее. В итоге видим добавленный диск, который имеет статус Не распределен:
Создадим файловую систему:
Соглашаемся со всеми предложенными параметрами, кроме галочки Быстрое форматирование – ее лучше установить, чтобы форматирование нового раздела заняло меньше времени. В итоге получаем новый жесткий диск:
Теперь наша система готова к резервированию данных.
Резервирование данных
Для резервирования с помощью Ghost в режиме отдельного приложения необходимо загрузиться с загрузочного носителя (CD/DVD диск, USB-накопитель, сеть) и запустить Ghost. В пакете установки Norton Ghost имеется средство для создания такого носителя. Мы воспользуемся сборкой Hiren's Boot CD, в составе которой имеется демонстрационная версия Norton Ghost.
Корректно завершаем работу виртуальной машины и указываем ISO-образ сборки (Hiren's.BootCD.10.1.iso) в настройках виртуальной машины в качестве источника данных для CD/DVD привода:
После этого перезагружаем виртуальную машину, успев нажать Esc на клавиатуре до загрузки операционной системы для вывода меню очередности загрузки. По-умолчанию виртуальная машина загружается с жесткого диска, нам нужно загрузиться с CD-Rom:
При успешной загрузке с CD-Rom выбираем пункты меню: Start Hiren' s BootCD → 2. Backup Tools → 2. Norton Ghost → 8. Ghost ( Normal). Со всеми заданными вопросами соглашаемся – Enter. В итоге открывается программа Norton Ghost:
Приступаем к резервированию. Так как Ghost запущен в нормальном режиме – нам доступны только локальные диске. Выполним резервирование основного раздела с ОС Windows XP в файл образа. Выбираем режим Partition To Image. Ghost предлагает выбрать из списка исходный (резервируемый) диск. Выбираем тот, на котором уставлена ОС – это первый диск, так как его размер равен 8 Гб и он стоит первым в списке:
Далее Ghost просит выбрать исходный (резервируемый) раздел на выбранном диске. На нашем диске только один раздел и он выбран по-умолчанию. Видно, что это основной (Primary) раздел – т.е. на него может быть установлена ОС и он имеет метку диска Win:
Далее следует стандартный диалог сохранения файла, нужно указать в качестве места сохранения файла вновь созданный на предыдущем этапе диск и задать имя файла. В списке дисков доступен лишь один жесткий диск – созданный нами, русский текст в метке не отобразился:
Задаем имя файла и нажимаем Save:
Далее Ghost задает вопрос о сжатии файла образа. Высокая степень сжатия увеличивает время создания образа, зато позволяет уменьшить размер файла почти в 2 раза. Можно выбрать режим Fast – компромисс между скоростью и размером. После финального вопроса о продолжении начинается процесс сжатия раздела в файл образа.
Отображается скорость обработки, данные о примерном времени завершения операции и обрабатываемом в данный момент файле. После успешного завершения операции выходим из программой и перезагружаем виртуальную машину командной reboot или из панели управления VmWare Player. В итоге на вновь созданной диске появится файл, который содержит образ всего диска С виртуальной машины. Можно открыть данный файл как архив программой Ghost Explorer:
Программа позволяет работать с образами Ghost как с обычными архивами – добавлять и удалять файлы и папки и т.д. Т.е. можно создать файл-образ с операционной системой, а затем заменить внутри образа какие-то файлы с настройками, удалить временные файлы и т.д.
Удалим файл подкачки Windows из файла-образа (pagefile. sys), чтобы при восстановлении данных на него не тратилось лишнее время и чтобы обезопасить себя от утечки данных – в нем могут оставаться пароли и другие данные:
Образ системы создан и мы даже можем изменять в нем данные. Теперь рассмотрим сценарий восстановления данных из образа.
Подготовка виртуальной машины
Для воссоздания этого сценария создадим новую виртуальную машину, которая будет нашим новым компьютером, на котором мы будем восстанавливать данные. Действия по созданию виртуальной машины аналогичны разделу 1 данного пособия, в качестве местонахождения дистрибутива указать I wil insta ll the OS later, в качестве гостевой ОС выбрать Microsoft Windows и версию Windows XP Pro. В качестве имени можно выбрать, например XP_backup, расположение оставить по-умолчанию.
В итог мы получим пустую виртуальную машину, в которую надо восстановить резервную копию, созданную на предыдущем этапе. Для этого нужно подключить к новой машине виртуальный диск, на котором хранится образ – так же мы бы подключили жесткий диск или флэш-носитель к новому компьютеру. Открываем настройки виртуальной машины и добавляем жесткий диск, только указываем Use an existing virtual disk и указываем путь к диску backup.vmdk, созданному ранее:
Далее в настройки CD/DVD привода указываем путь к ISO-образу Hiren's Boot CD, так как нам снова нужно будет загрузить Norton Ghost и восстановить образ.
Загружаем вновь созданную виртуальную машину и запускаем Ghost. Для восстановления данных проделывается аналогичная процедура: Partition From Image, только в обратном порядке: в качестве источника данных выступает файл образа, в качестве назначения – раздел на новом жестком диске. Однако на жестком диске виртуальной машины вообще нет никаких разделов, поэтому для режиме Partition From Image на нем нужно создать разделы. Вместе этого можно просто выбрать режим Disk From Image – тогда Ghost на целевом диске создаст восстанавливаемый раздел таким образом, что он займет весь диск – нас в данном случае это устраивает.
Выбираем диск, на котором находится файл образа для восстановления:
В диалоге открытия файла выбираем единственный файл образа на диске:
Далее выбираем целевой диск для восстановления образа:
Красным выделен тот раздел, на котором находится файл образа – по понятной причине его нельзя выбрать на целевой диск. Выбираем пустой диск, на который будет восстановлена операционная система. Далее Ghost уточняет размер, который будет назначен восстанавливаемому разделу. В образе раздел имел размер в 8 гигабайт, целевой же диск имеет размер в 40 гигабайт, поэтому Ghost предлагает занять восстанавливаемым разделом весь диск целиком. Можно согласиться, а можно вручную указать размер. Укажем такой же размер, который и был – 8189 мегабайт:
После финального вопроса начинается восстановление данных:
При успешном завершении процесса восстановления и перезагрузки загружается работоспособная система.
Создание образа
Выполним резервирование исходной системы с помощью GhostCast-сервера. Перед началом работы нужно убедиться, что сетевой адаптер резервируемой виртуальной машины работает в режиме Bridged. Запускаем в хостовой операционной системе сервер GhostCast (GhostSrv.exe). По-умолчанию сервер работает в режиме восстановления образа, переведем его в режим создания образа:
Где:
· Session name – имя сеанса восстановления. Сервер использует широковещательную технологию для обнаружения клиентов, поэтому имя сессии необходимо чтобы отличить одну сессию от другой. Задайте произвольно значение.
· Create image – работаем в режиме создания образа.
· Image file – расположение и имя файла образа.
· Accept Clients – перевод сервера в рабочее состояние после завершения всех настроек.
· Disk/Partition – резервирование всего диска целиком или отдельного раздела диска.
После настройки сервера переходим к запуску клиента и подключению к серверу. Запускаем исходную виртуальную машины, загружаемся с Hiren’s Boot CD и запускаем Ghost с поддержкой сети. Выбираем режим GhostCast – Multicast и вводим имя сессии, указанное при настройке сервера.
Ghost попытается автоматически подключиться к серверу, используя имя сессии. При успешном подключении Ghost предложит выбрать исходный диск для резервирования (так как был выбран режим Create Image) и указать степень сжатия.
После этого автоматически начнется процесс передачи данных, в окне сервера можно наблюдать за процессом:
После окончания процесса на хостовом компьютере в указанной папке будет создан файл образ, который можно использоваться для восстановления данных.
Восстановление образа
Процесс восстановления данных с помощью сервера GhostCast для одного компьютера в целом аналогичен процессу создания образа. Гораздо больший интерес представляет возможность восстановить один и тот же образ одновременно на большом числе компьютеров в локальной сети. Причем, в общем случае, время восстановления образа почти не зависит от количества компьютеров – при условии, что сеть и компьютеры работает исправно. Рассмотрим такой вариант восстановления на примере нескольких виртуальных машинах, работающих на компьютерах в аудитории.
Для этого необходимо создать новые виртуальные машины на нескольких компьютерах (5-10 виртуальных машин), настроить их сетевые адаптеры в режиме Bridged и запустить на них Ghost в сетевом режиме. Запустить сервер Ghost в режиме Restore Image и открыть для восстановления созданный на предыдущем этапе файл образа. Включить сервер (Accept Clients).
После настройки сервера можно подключать к нему клиентов Ghost, запущенных на виртуальных машинах разных компьютеров аудитории. Выбираем режим GhostCast – Multicast и вводим имя сессии, указанное при настройке сервера. Выбираем целевой диск и подтверждаем свои намерения. После подключения клиент переходит в режим ожидания начала процесса, которым управляет сервер.
После подключения всех виртуальных машин для восстановления данных можно свериться с списком клиентов сервера, чтобы убедиться что все виртуальные машины подключены:
Процесс передачи данных начинается после нажатия кнопки Send. За процессом можно наблюдать на клиентских машинах и в окне сервера. Отметьте время, которое будет затрачено на передачу образа и сравните его со временем восстановления данных на одной машине.
Создание виртуальной машины
Создадим новую виртуальную машину в среде VMware Player:
Мастер запросит местонахождение дистрибутива для установки операционной системы:
· Installer Disc – предполагается наличие установочного диска с операционной системой, вставленного в дисковод компьютера;
· Installer Disc Image – предполагается использование .iso образа диска с дистрибутивом операционной системы, это предпочтительный вариант исходя из соображений удобства и скорости установки. Выбираем этот вариант и открываем файл образа debian-40r0-i386-DVD-1.iso, нажимаем Next.
· I wil insta ll the OS later – установить ОС позже, только создать виртуальную машину.
Далее мастер запрашивает имя для вновь создаваемой виртуальной машины и место для сохранения ее файлов. Можно изменить расположение файлов по желанию (сетевой диск, флэш-носитель, внешний диск).
Далее мастер запрашивает максимальный объем диска для виртуальной машине, который будет храниться в виде файла. Максимальный объем значит, что изначально диск будет пуст и будет постепенно увеличиваться в размерах по мере сохранения данных на диск виртуальной машиной. Опция разделения файла на несколько частей позволяет удобнее переносить данные на сменных носителях и преодолеть ограничение файловой системы FAT32 – максимальный размер файла чуть менее 4 гигабайт. Файловая система NTFS такого ограничения не имеет. По-умолчанию весь диск виртуальной машины сохраняется в одном файле, что эффективнее с точки зрения производительности.
Заключительный этап работы мастер представляет перечень настроек, которые были выбраны для создания виртуальной машины, многие из которых были выбраны мастером автоматически исходя из анализа дистрибутива устанавливаемой ОС (Debian).
Некоторые параметры нас не устраивают, нажмем Customize Hardware.
· Memor y – объем памяти мастер выбирает автоматически, исходя их объема свободной памяти компьютера и требований устанавливаемой ОС. В нашем случае мы устанавливаем Debian в минимальном режиме, для которого достаточно от 32 мегабайт памяти. Для установки ОС с графическим интерфейсом требуется от 256-512 мегабайт памяти.
· Processors – количество виртуальных процессоров для виртуальной машины, VMware в состоянии эмулировать до 8 процессоров даже при 1 реальном физическом. Оставляем значение по-умолчанию.
· CD/DVD – параметры дисковода виртуальной машины, мастер выставил использование ISO образа, который был указан на начальном этапе.
· Floppy – дисковод гибких дисков, также поддерживется использование физического дисковода или файла образа. Нам это устройство не нужно, поэтому его можно удалить – Remove.
· Network Adapter – сетевой адаптер (или адаптеры) подключенные к виртуальной машине. Все средства виртуализации поддерживают как минимум три режима работы.
o NAT – режим по-умолчанию. В режиме NAT все данные пропускаются через интерфейс хостовой операционной системы, т.е. для стороннего наблюдателя трафик от виртуальных машин (если их несколько) выглядит как трафик от единственной машины – хостовой ОС. Недостаток в том, что к виртуальным машинам в этом режиме невозможно обратить извне, т.е. режим не подходит для организации серверов.
o Host-only – в этом режиме среда виртуализации создает виртуальную сеть, членам которой является хостовая ОС и виртуальная (или несколько виртуальных), причем доступа извне в эту сеть нет, как и доступа из виртуальной сети наружу. Режим применяются для целенаправленной изоляции виртуальных машин в целях безопасности.
o Bridged – основной режим подключения виртуальных машин в сети в общем случае. В этом режиме виртуальной машине предоставляется непосредственный доступ в ту же сеть, в которую подключена хостовая ОС, в прозрачном режиме. При этом сетевой адаптер хостовой ОС по сути переводится в режим коммутатора, к которому помимо хостовой ОС подключены виртуальные.
В нашем случае оптимален последний режим (Bridged), так как в дальнейшем нам придется обращаться к виртуальной машине извне, чего не позволяют остальные режимы.
· Printer, Sound Card, USB Controller – виртуальные устройства позволяют виртуальной машине обращаться к принтеру, звуковой карте и USB-контроллеру хостовой ОС соответствеено. Можно удалить эти устройства.
После завершения настройки виртуальной машины закрываем последний этап мастера и виртуальная машине перезагружается.
Установка ОС
При правильной настройке на экране отобразится приглашение мастера установки ОС Debian GNU/Linux 4.0. Нажимам Enter. Начинается процесс загрузки, сопровождающийся отображением всех диагностических сообщений.
Выбираем язык, страну местонахождения и раскладку клавиатуры, на которых будет вестись процесс установки. Здесь и далее в руководстве будет описываться процесс установки на английском языке.
После определения оборудования и сканирования компакт-диска на предмет доступного к установке ПО установщик попытается автоматически получить сетевые реквизиты с помощью протокола DHCP. При успешной конфигурации дополнительного участия пользователя по настройке сети на этапе установки не потребуется, иначе придется ввести реквизиты вручную.
При выполнении работы в домашних условиях (нет локальной сети или ее настройки неизвестны) предпочительнее будет переключить сетевой адаптер в режим Host-only – в этом случае виртуальная машина автоматически получит сетевые реквизиты от DHCP-сервера, встроенного в WMware Player.
Здесь и далее – подтверждение сетевых реквизитов (имя машины в сети и сетевой домен), полученных от DHCP сервера. Если они не были полученые – необходимо ввести их вручную.
Далее установщик запрашивает режим форматирование и разбиения на разделы жесткого диска. По-умолчанию предлагается сделать автоматически с возможностью изменить параметры в конце процесса. Этот вариант нам подходит. Далее следует запрос для выбора диска, на который будет установлена система – у нашей машины всего один жесктий диск.
Далее установщик запрашивает как разделять жесткий диск – либо все системные папки в одном разделе, либо каждая системная папка в отдельном разделе. Первый вариант проще и эффективнее использует дисковое пространство, поэтому используем его.
После расчета разделов и их размеров предоставляется возможность просмотреть результаты и вернуться в начало для внесения изменений. Нас все устраивает, соглашаемся с предложенной структурой диска и нажимаем Finish partitioning…
Далее следует диалог для введения пароля суперпользователя (root), который является аналогом учетной записи Администратор в ОС Windows и имеет неограниченные права доступа к системе.
Очевидно, что неограниченные права доступа у пользователя представляют угрозу для безопасности системы из-за возможных необдуманный действий пользователя и возможности выполнения вредоносного кода (вирусы, трояны и т.д.), поэтому не рекомендуется работать в системе под учетной записью root или Администратор. Запись суперпользователя должна использоваться только для настройки системы.
Поэтому после вводы пароля суперпользователя установщик предлагает создать учетную запись обычного пользователя и задать для нее пароль.
После этого начинается установка базовой системы – ядро операционной системы и минимальный набор программ и утилит, необходимый для запуска ОС. После установки базовой системы установщик выдаст запрос на использование сетевых зеркал для дистрибутивов и обновлений безопасности – нужно ответить Нет, иначе установщик будет вынужден скачать несколько сотен мегабайт данных и процесс установки значительно замедлится.
После установки базовой системы установщик спрашивает, какую роль будет выполнять устанавливаемый сервер – предлагая установить соответствующие набор ПО. Нам нет необходимости устанавливать какое-либо ПО сразу, мы будем это делать вручную по мере необходимости, поэтому выбираем только пункт Standart System. Установщик начинает процесс распаковки и установки ПО на сервер.
После установки и распаковки ПО предлагается установить загрузчик операционных систем GRUB в основную загрузочную запись (MBR – Master boot record) жесткого диска. Выводится предупреждение о том, что если на этом же диски установлены другие ОС, то замена загрузчика может привести к невозможности их запуска. На нашем диске никаких других ОС не установлено, поэтому можно продолжать установку.
После установки загрузчика система готова к запуску – после нажатия Continue виртуальная машина перезагрузится.
Настройка удаленного доступа
В случае успешной установки и загрузки системы выводится приглашение входа в систему. Используем реквизиты обычного пользователя, указанные при установке системы.
Обратите внимание, что при ввода пароля в строке ввода не будет появляться никаких символов, но сам пароль тем не менее вводится. При успешном входе отобразится в командной строки отобразится приглашение вида:
<имя_пользователя>@<имя_хоста>:<текущая_папка>$
Знак $ (доллар) означает, что данные пользователь не является суперпользователем системы, при работе в режиме суперпользователя вместо него отображается # (решетка), что служит напоминанием пользователю о необходимости соблюдать осторожность при выполнении команд и необходимости покинуть сеанс при завершении работы по администрированию.
Работать в режиме консоли в VMware Player достаточно во-первых: неудобно (не работает буфер обмена, медленный интерфейс), во-вторых – не всегда возможно, так как сервер обычно располагается на удаленной машине. Поэтому необходимо пользоваться средствами удаленного администрирования, в случае с Unix-подобными системы – SSH ( Secure SHell).
В целях безопасности по-умолчанию в составе базовой системы установлен только клиент SSH протокола, т.е. подключаться в другим системам и управлять ими можно. Чтобы подключиться к вновь установленной системе нужно установить сервер самостоятельно.
ОС Debian для удобной установки и удаления ПО использует систему пакетов, которые могут храниться где угодно: на компакт диске, в интернете, на жестком диске в виде упакованных файлов . deb. Пакетами управляет система управления пакетами dpk g, которая позволяет устанавливать и удалять ПО из системы простыми командами, не задумываясь о версии ПО, его местанахождении и т.д. Также система может автоматически разрешать зависимости – когда для установки одной программы нужно предварительно установить другую и т.д.
Пакет может содержать как уже скомпилированный (бинарный) для исполнения файл (аналог .exe файла в Windows), так и исходные коды, из которых можно скомпилировать выполняемый файл самостоятельно. Компиляция вручную требуется если администратор или разработчик желает ограничить или расширить функциональные возможности программы, так как в бинарном виде распространяются программы, скомпилированные в наиболее распространенном и востребованном варианте.
Установим бинарный пакет SSH-сервера OpenSSH Server, который входит в комплект пакетом Debian. Установка пакета относится к процедурам, для которых требуется административный доступ, поэтому перейдем в режим администратора с помощью команды SU (super user):
user@debian:~$ su
Password:
debian:~#
Знак решетки означает, что выполнен вход в режиме суперпользователя. Теперь можно устанавливать пакет OpenSSH-Server c помощью команды apt- get. Программа apt-get занимается установкой и удаление пакетов и исходных кодов. Аргумент install говорит о том, что пакет надо установить (есть также remove, upgrade и др.), дальше идет имя (или несколько) имен пакетов, которые надо установить. Имен пакетов не всегда в точности соответствуют названиям программ, поэтому надо предварительно уточнить название пакета, в который входит нужная программа. В нашем случае это пакет openssh-server, который помимо самой программы сервера содержит инструкции (для менеджера пакетов) по его установке и конфигурационные файлы сервера. Выполним команду:
debian:~# apt-get install openssh-server
Результатом выполнения команды будет сообщения вида:
debian:~# apt-get install openssh-server
Reading package lists... Done
Building dependency tree... Done
Suggested packages:
ssh-askpass xbase-clients rssh molly-guard
The following NEW packages will be installed:
openssh-server
0 upgraded 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/222kB of archives.
After unpacking 569kB of additional disk space will be used.
Media change: please insert the disc labeled 'Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 DVD Binary-1 20070407-11:40' in the drive '/cdrom/' and press enter
Что означает: при уставке ОС установщик добавил DVD с дистрибутивом в качестве источника пакетов, от использования сетевых дистрибутивов мы отказались, т.е. единственное место, где установщик apt-get пытается найти пакеты – это DVD с дистрибутивом, который после установки был извлечен из виртуального DVD-ROM VMware Player. Надо «вставить» его обратно и нажать Ввод в виртуальной машине:
После этого отобразится процесс загрузки, распаковки и установки пакета, успешным результатом будут сообщения вида:
Unpacking openssh-server (from .../openssh-server_4.3p2-9_i386.deb) ...
Setting up openssh-server (4.3p2-9) ...
Creating SSH2 RSA key; this may take some time ...
Creating SSH2 DSA key; this may take some time ...
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
IPv6 over IPv4 tunneling driver
Restarting OpenBSD Secure Shell server: sshd.
Теперь, когд сервер установлен, нужно убедиться что он действительно установился и запущен. Воспользуемся командой ps, которая отображается список работающих процессов в системе (аналог – вкладка Процессы Диспетчера задач Windows taskmgr.exe). Однако, по-умолчанию команда ps без параметров отображает процесса, запущенные данным пользователем (в данном случае root):
debian:~# ps
PID TTY TIME CMD
2500 ttyl 00:00:00 login
2689 ttyl 00:00:00 su
2618 ttyl 00:00:00 bash
2700 ttyl 00:00:00 ps
debian:~#
Как видно, пользователь root запустил 4 процесса: login (процесс входа в систему, аналог winlogon.exe в Windows), команду su, сеанс интерпретатора командной строки bash (по-умолчанию для Debian) и собственно сама команда ps. Чтобы увидеть все процессы системы, воспользуемся расширенным синтаксисом команды ps:
debian:~# ps ax
Теперь мы увидим большой список процессов в системе, который на крупном веб-сервере может содержать тысячи процессов. Просматривать такой список вручную и искать нужный процесс не очень удобно. Воспользуемся одной из возможностей, который предоставляет интерпретатор bash – конвеер. Конвеер (символ | ) позволяет направить вывод от одной программе другой напрямую:
debian:~# ps ax | grep ssh
Команда grep занимается поиском строки (или регулярного выражения) и выводит совпадения на экран. В качестве места поиска может выступать файл или стандартный ввод (в данном случае). Указанная команда выводит весь список процессов и перенаправляет его команде grep, которая ищет в нем текст «ssh» и выводит строки, в которых текст был найден. Если сервер установлен правильно, то мы получим вывод:
debian:~# ps ax | grep ssh
2758 ? Ss 0:00 /usr/sbin/sshd
2862 ttyl S+ 0:00 grep ssh
Первая строка вывода говорит о том, что сервер ssh работает – запущен процесс sshd (SSH daemon). Daemon (демон) – это служба или сервер чего-либо (httpd – HTTP deamon). Вторая строка – это сам процесс поиска c помощью grep.
Конвеер может быть состоять из нескольких передач вывода из одной программы в другую. Например:
debian:~# ps ax | grep ssh | grep usr | grep sbin
2758 ? Ss 0:00 /usr/sbin/sshd
2862 ttyl S+ 0:00 grep ssh
В данном примере вывод передается последовательно из первой команды в три по очереди, из одной в другую. Результат – тот же, потому что все строки есть в выводе ps.
Теперь мы знаем, что сервер SSH работает и к нему можно подключиться. Существует масса клиентов SSH под любые ОС (включая мобильные телефоны), в том числе и Windows. Самый популярный из них – PuTT Y. Запустим его:
PuTTY по-умолчанию работает с протоколом SSH, но для подключения нужно знать IP-адрес системы или ее имя хоста. Определим IP-адрес, который виртуальная машина получила по DHCP или который был настроен вручную. Для этого выполним команду:
debian:~# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:C7:1A:24
inet addr:10.32.14.110 Bcast:10.32.14.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec7:1a24/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10687 errors:0 dropped:0 overruns:0 frame:0
TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:796830 (778.1 KiB) TX bytes:13978 (13.6 KiB)
Interrupt:59 Base address:0x2000
Команда ifconfig занимается отображения и настройкой сетевых интерфейсов (аналог в Windows – ipconfig), параметр eth0 заставляет ее показать информацию только по первому Ethernet интерфейсу (нумерация чего-либо в Linux и языках программирования начинается с нуля). Нас интересует значения параматра inet addr – это и есть IPv4 адрес машины.
Вводит указанный адрес в программе PuTTY и нажимаем Open. Отвечаем Yes на вопрос об добавлении в реестр нового RSA-ключа виртуальной машины и видим стандартное приглашение на ввод логина и пароля.
Удаленный доступ к системе настроен. Убедимся, что мы подключились именно к нашей машине и все работает как нужно. Введем команду who, которая отображает пользователей, выполнивших вход в систему:
user@debian:~$ who
user tty1 2011-11-11 04:16
user pts/0 2011-11-11 06:26 (10.32.14.104)
Видим двух пользователей, который вошли в систему. Первый вошел с tty1 – консоли ввода/вывода номер 1 (это клавиатура и экран компьютера), второй – с виртуальной консоли pts/0 (клиент SSH-сервера), также указан IP-адрес клиента – это IP-адрес компьютера, на котором запущен клиент PuTTY.
Дата: 2019-12-10, просмотров: 281.