Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
Новосибирский государственный технический университет
Лабораторная работа №1
Тема: «Изучение методов удаленного доступа к операционной системе Unix и основных
команд и программ этой системы.»
По курсу «СИТ»
Выполнили:
Группа АВТ-918
Новосибирск, 2013г.
Контрольные задания.
1. Создать собственную рабочую папку в домашнем каталоге. Получить список всех процессов, работающих в системе, вывести его на экран в режиме постраничного просмотра, после чего записать список в файл.
Пример:
Показать все загруженные процессы.
nikita@debian:~/laby$ ps axjf
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
? -1 S 0 0:00 [kthreadd]
? -1 S 0 0:00 \_ [migration/0]
? -1 S 0 0:00 \_ [ksoftirqd/0]
? -1 S 0 0:00 \_ [watchdog/0]
? -1 S 0 0:03 \_ [events/0]
? -1 S 0 0:00 \_ [cpuset]
? -1 S 0 0:00 \_ [khelper]
? -1 S 0 0:00 \_ [netns]
2? -1 S 0 0:00 \_ [async/mgr]
2? -1 S 0 0:00 \_ [pm]
2? -1 S 0 0:00 \_ [sync_supers]
2? -1 S 0 0:00 \_ [bdi-default]
2? -1 S 0 0:00 \_ [kintegrityd/0]
2? -1 S 0 0:00 \_ [kblockd/0]
2? -1 S 0 0:00 \_ [kacpid]
2? -1 S 0 0:00 \_ [kacpi_notify]
2? -1 S 0 0:00 \_ [kacpi_hotplug]
2? -1 S 0 0:00 \_ [kseriod]
2? -1 S 0 0:00 \_ [kondemand/0]
2? -1 S 0 0:00 \_ [khungtaskd]
2? -1 S 0 0:00 \_ [kswapd0]
2? -1 SN 0 0:00 \_ [ksmd]
2? -1 S 0 0:00 \_ [aio/0]
2? -1 S 0 0:00 \_ [crypto/0]
2 ? -1 S 0 0:00 \_ [ksuspend_usbd]
2 ? -1 S 0 0:00 \_ [khubd]
2 ? -1 S 0 0:00 \_ [ata/0]
2 ? -1 S 0 0:00 \_ [ata_aux]
2 ? -1 S 0 0:00 \_ [scsi_eh_0]
2 ? -1 S 0 0:00 \_ [scsi_eh_1]
2 ? -1 S 0 0:00 \_ [scsi_eh_2]
2 ? -1 S 0 0:00 \_ [usbhid_resumer]
2 ? -1 S 0 0:00 \_ [kjournald]
2 ? -1 S 0 0:00 \_ [kpsmoused]
? -1 Ss 0 0:00 init [2]
1 ? -1 S<s 0 0:00 udevd --daemon
? -1 S< 0 0:00 \_ udevd --daemon
? -1 S< 0 0:00 \_ udevd --daemon
1 ? -1 Ss 1 0:00 /sbin/portmap
1 ? -1 Ss 102 0:00 /sbin/rpc. statd
1 ? -1 Sl 0 0:00 /usr/sbin/VBoxService
1 ? -1 Sl 0 0:00 /usr/sbin/rsyslogd - c4
1 ? -1 Ss 0 0:00 /usr/sbin/acpid
1 ? -1 Ss 1 0:00 /usr/sbin/atd
1 ? -1 Ss 0 0:00 /usr/sbin/cron
1 1? -1 Ss 101 0:00 /usr/sbin/exim4 - bd - q30m
1 1tty1 1481 Ss 0 0:00 /bin/login --
126 tty1 1481 S 1000 0:00 \_ - bash
126 tty1 1481 S 0 0:00 \_ su
126 tty1 1481 S+ 0 0:00 \_ bash
1 1tty2 1445 Ss 0 0:00 /bin/login --
127 tty2 1445 S+ 1000 0:00 \_ - bash
1 1tty3 1128 Ss+ 0 0:00 /sbin/getty 38400 tty3
1 1tty4 1129 Ss+ 0 0:00 /sbin/getty 38400 tty4
1 1tty5 1130 Ss+ 0 0:00 /sbin/getty 38400 tty5
1 1tty6 1131 Ss+ 0 0:00 /sbin/getty 38400 tty6
1 1? -1 Ss 0 0:00 dhclient - v - pf /var/run/dhclient. eth0.pid - lf /var/lib/dh
1 1? -1 Ss 0 0:00 /usr/sbin/sshd
155 ? -1 Ss 0 0:00 \_ sshd: nikita [priv]
155 ? -1 S 1000 0:00 \_ sshd: nikita@pts/0
158 pts/0 1583 Ss 1000 0:00 \_ - bash
158 pts/0 1583 S+ 1000 0:00 \_ mc
185 pts/1 1697 Ss 1000 0:00 \_ bash - rcfile. bashrc
185 pts/1 1697 T 1000 0:00 \_ info
185 pts/1 1697 R+ 1000 0:00 \_ ps axjf
Сохранить список всех загруженных процессов в файл spisok2.txt
nikita@debian:~/laby$ ps axjf > spisok2.txt
Вывести spisok2.txt на экран в режиме постраничного просмотра
nikita@debian:~/laby$ more spisok2.txt
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
? -1 S 0 0:00 [kthreadd]
? -1 S 0 0:00 \_ [migration/0]
? -1 S 0 0:00 \_ [ksoftirqd/0]
? -1 S 0 0:00 \_ [watchdog/0]
? -1 S 0 0:03 \_ [events/0]
? -1 S 0 0:00 \_ [cpuset]
? -1 S 0 0:00 \_ [khelper]
? -1 S 0 0:00 \_ [netns]
2? -1 S 0 0:00 \_ [async/mgr]
2? -1 S 0 0:00 \_ [pm]
2? -1 S 0 0:00 \_ [sync_supers]
2? -1 S 0 0:00 \_ [bdi-default]
2? -1 S 0 0:00 \_ [kintegrityd/0]
2? -1 S 0 0:00 \_ [kblockd/0]
2? -1 S 0 0:00 \_ [kacpid]
2? -1 S 0 0:00 \_ [kacpi_notify]
2? -1 S 0 0:00 \_ [kacpi_hotplug]
2? -1 S 0 0:00 \_ [kseriod]
2? -1 S 0 0:00 \_ [kondemand/0]
2? -1 S 0 0:00 \_ [khungtaskd]
2? -1 S 0 0:00 \_ [kswapd0]
2? -1 SN 0 0:00 \_ [ksmd]
2? -1 S 0 0:00 \_ [aio/0]
2? -1 S 0 0:00 \_ [crypto/0]
2 ? -1 S 0 0:00 \_ [ksuspend_usbd]
2 ? -1 S 0 0:00 \_ [khubd]
2 ? -1 S 0 0:00 \_ [ata/0]
2 ? -1 S 0 0:00 \_ [ata_aux]
2 ? -1 S 0 0:00 \_ [scsi_eh_0]
2 ? -1 S 0 0:00 \_ [scsi_eh_1]
2 ? -1 S 0 0:00 \_ [scsi_eh_2]
2 ? -1 S 0 0:00 \_ [usbhid_resumer]
2 ? -1 S 0 0:00 \_ [kjournald]
2 ? -1 S 0 0:00 \_ [kpsmoused]
? -1 Ss 0 0:00 init [2]
1 ? -1 S<s 0 0:00 udevd --daemon
? -1 S< 0 0:00 \_ udevd --daemon
? -1 S< 0 0:00 \_ udevd --daemon
1 ? -1 Ss 1 0:00 /sbin/portmap
1 ? -1 Ss 102 0:00 /sbin/rpc. statd
1 ? -1 Sl 0 0:00 /usr/sbin/VBoxService
1 ? -1 Sl 0 0:00 /usr/sbin/rsyslogd - c4
1 ? -1 Ss 0 0:00 /usr/sbin/acpid
1 ? -1 Ss 1 0:00 /usr/sbin/atd
1 ? -1 Ss 0 0:00 /usr/sbin/cron
1 1? -1 Ss 101 0:00 /usr/sbin/exim4 - bd - q30m
1 1tty1 1481 Ss 0 0:00 /bin/login --
126 tty1 1481 S 1000 0:00 \_ - bash
126 tty1 1481 S 0 0:00 \_ su
126 tty1 1481 S+ 0 0:00 \_ bash
1 1tty2 1445 Ss 0 0:00 /bin/login --
127 tty2 1445 S+ 1000 0:00 \_ - bash
1 1tty3 1128 Ss+ 0 0:00 /sbin/getty 38400 tty3
1 1tty4 1129 Ss+ 0 0:00 /sbin/getty 38400 tty4
1 1tty5 1130 Ss+ 0 0:00 /sbin/getty 38400 tty5
1 1tty6 1131 Ss+ 0 0:00 /sbin/getty 38400 tty6
1 1? -1 Ss 0 0:00 dhclient - v - pf /var/run/dhclient. eth0.pid - lf /var/lib/dh
cp/dhclient. eth0.leases eth0
1 1? -1 Ss 0 0:00 /usr/sbin/sshd
155 ? -1 Ss 0 0:00 \_ sshd: nikita [priv]
155 ? -1 S 1000 0:00 \_ sshd: nikita@pts/0
158 pts/0 1583 Ss 1000 0:00 \_ - bash
158 pts/0 1583 S+ 1000 0:00 \_ mc
185 pts/1 1698 Ss 1000 0:00 \_ bash - rcfile. bashrc
185 pts/1 1698 T 1000 0:00 \_ info
185 pts/1 1698 R+ 1000 0:00 \_ ps axjf
2. Создать пустой файл (например, in. txt), разрешить чтение и запись только владельцу, остальным запретить. Запустить в фоновом режиме команду, которая сканирует конец указанного файла, ищет в нем строки содержащие слово «bash» и выводит эти строки на экран. Параллельно (в новой сессии) запустить команду, которая вводит с клавиатуры строки и направляет их в файл (in. txt). Продемонстрировать работу команд bg, fg, работу сочетания клавиш Ctrl-z, Ctrl-c.
Using username "user02".
*****@***cs. nstu. ru's password:
Access denied
*****@***cs. nstu. ru's password:
Last login: Mon Feb 11 12:16:37 2013 from 172.16.7.149
[*****@***~]$ mc
[*****@***~]$ touch filik. txt (Создание пустого файла с именем filik. txt)
[*****@***~]$
[*****@***~]$ chmod 700 filik. txt (Назначение прав согласно заданию)
[*****@***~]$
[*****@***~]$ cat > filik. txt (Заполнение содержимого файла filik. txt)
gjhgytryut yutot iopuyuipy bash
hjdfhksfjkhdfjk hfsjdkfhksjdfh
dskjfhsdkljfh jksdhfkjsdhf bash
[1]+ Stopped cat > filik. txt (Остановка процедуры заполнения файла «Ctrl+Z»)
[*****@***~]$ bg (Просмотр остановленных команд)
[1]+ cat > filik. txt &
[*****@***~]$ fg (Вызов остановленной команды из фона)
[1]+ Stopped cat > filik. txt (Остановка процедуры заполнения файла «Ctrl+Z»)
[*****@***~]$ grep bash filik. txt (Выполнение поиска по параметрам задания)
gjhgytryut yutot iopuyuipy bash
dskjfhsdkljfh jksdhfkjsdhf bash
hjfgghjg bash hjsdfdjklfh
[*****@***~]$
[*****@***~]$ fg
cat > filik. txt (Полная остановка команды сочетанием «Ctrl+C»)
[*****@***~]$
3. Создать несколько папок и подпапок. В этих папках создать несколько символических и жестких ссылок на один файл. Вывести на экран размер всех папок и подпапок в Вашем каталоге. Посмотреть объем полного и доступного дискового пространства. Продемонстрировать механизм работы ссылок на примерах: копирование ссылки и файла, перемещения, удаления. По окончании работы удалить все свои файлы.
Создание папок и подпапок:
[*****@***~]$ mkdir 12345
[*****@***~]$ mkdir 67890
[*****@***~]$ cd 12345
[*****@***12345]$ mkdir abcd
[*****@***12345]$ mkdir efgh
[*****@***12345]$ cd
[*****@***~]$ cd 67890
[*****@***67890]$ mkdir jklm
[*****@***67890]$ mkdir poiu
Создание ссылок:
[*****@***abcd]$ touch file1.txt
[*****@***abcd]$ ln file1.txt file2.txt
[*****@***abcd]$ ln file1.txt /home/user02/12345/efgh
[*****@***abcd]$ ln - s file1.txt link
[user02@vt abcd]$ cd
Размеры всех папок и по отдельности:
*****@***~]$ du 12345
12 12345/efgh
12 12345/abcd
32 12345
[*****@***~]$ du 67890
8 67890/poiu
8 67890/jklm
24 67890
[*****@***~]$ du 67
8 67890/poiu
8 67890/jklm
24 67890
12 12345/efgh
12 12345/abcd
32 12345
Объем полного и доступного дискового пространства:
[user02@vt ~]$ df
Файловая система 1K-блоков Исп Доступно Исп% смонтирована на
/dev/mapper/VolGroup00-LogVol00
66% /
/dev/hda1 10113% /boot
tmpfs 500% /dev/shm
[*****@***~]$
Описание работы ссылок:
«Жесткие ссылки». Каждый файл может иметь произвольное число жестких ссылок. Когда уничтожается последняя жесткая ссылка, и не одна программа не держит файл открытым, то Linux автоматически удаляет его. Новые жесткие ссылки можно создать воспользовавшись командой ln. В Linux системах, для жестких ссылок есть несколько ограничений. В частности, можно создавать жесткие ссылки только на файлы, не на директории.
В практике, символьные ссылки (или символические, иногда «симлинки» — от англ.) используются гораздо чаще, чем жесткие. Симлинки — это файлы особого типа, которые ссылаются на другие файлы по имени, а не прямо по номеру файла. Они не спасают их от удаления; если файл, на который указывает ссылка, исчезает, то симлинк перестает работать
Символические ссылки в целом более гибкие, чем жесткие. Вы можете создавать символьные ссылки на любой объект файловой системы, включая директории.
Основные команды операционной системы Unix.
Команды получения справки
Мan | man <имя_команды> - получение справки по любой команде ОС Unix |
параметр любой команды --help | man --help – в данном случае получение справки по команде man, в общем случае: <имя_команды> --help |
apropos | выводит список команд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду |
Info | изучить самостоятельно |
Команды работы с папками
Ls | Получить список папки. Изучить опции –а, –l |
Cd | сменить на домашний каталог |
Pwd | показать текущий каталог |
Mkdir | создать каталог dir |
Rmdir | rmdir – удалить каталог dir |
Команды работы с файлами
Touch | создать file |
Cp | cp file1 file2 – скопировать file1 в file2 |
Mv | mv file1 file2 – переименовать или переместить file1 в file2. если file2 существующий каталог - переместить file1 в каталог file2 |
Rm | rm - r dir – удалить каталог dir |
Ln | ln - s file link – создать символическую ссылку link к файлу file |
Du | вывести “вес” текущего каталога |
Df | показать инф. о использовании дисков |
Whereis, find, locate | whereis app – возможное расположение программы app find / - perm - u+s –print Находим все программы использующие SUID bit locate "*.ps" — найти все файлы, содержащие в имени '.ps'. Предварительно рекомендуется выполнить команду 'updatedb' |
chmod, chown, chgrp | chmod – команда изменения атрибутов файла[1] изучить самостоятельно chmod ugo+rwx directory1 — добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1 chmod go-rwx directory1 — отобрать у группы и всех остальных все полномочия на директорию directory1. chown user1 file1 — назначить владельцем файла file1 пользователя user1 chown - R user1 directory1 — назначить рекурсивно владельцем директории directory1 пользователя user1 chgrp group1 file1 — сменить группу-владельца файла file1 на group1 chown user1:group1 file1 — сменить владельца и группу владельца файла file1 |
Cat | cat file1 — вывести содержимое файла file1 на стандартное устройство вывода |
> < >> << | Операции перенаправления вывода и ввода. |
| | | - передача выходных данных одной команды на вход другой команды |
more, head, tail, less | more file1 — постраничный вывод содержимого файла file1 на стандартное устройство вывода less file1 — постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т. п. head -2 file1 — вывести первые две строки файла file1 на стандартное устройство вывода. По умолчанию выводится десять строк tail -2 file1 — вывести последние две строки файла file1 на стандартное устройство вывода. По умолчанию выводится десять строк tail - f /var/log/messages — выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста. |
grep, fgrep, egrep | grep pattern files – искать pattern в files |
Команды управления процессами
& | Запуск программы в фоновом режиме. |
Ps | Вывод информации о выполняемых процессах -a отобразить все процессы, связанных с терминалом (отображаются процессы всех пользователей) -e отобразить все процессы -t список терминалов отобразить процессы, связанные с терминалами -u идентификаторы пользователей отобразить процессы, связанные с данными идентификаторыми -g идентификаторы групп отобразить процессы, связанные с данными идентификаторыми групп -x отобразить все процессы, не связанные с терминалом |
Kill | принудительное завершение процесса |
Fg | Команды выполнения процессов в фоновом режиме - jobs, fg, bg Команда jobs выводит список процессов, которые выполняются в фоновом режиме, fg - переводит процесс в нормальные режим ("на передний план" - foreground), а bg - в фоновый. Запустить программу в фоновом режиме можно с помощью конструкции <команда> & |
Bg | |
Jobs |
Putty
SSH-доступ позволяет удаленно работать на сервере в текстовом режиме. Все, что передается по ssh, - шифруется.
Некоторые ftp-клиенты (например, CuteFTP, TurboFTP) могут работать по ssh-протоколу вместо ftp. Из соображений безопасности предпочительно пользоваться ssh и для передачи файлов.
Putty - лучшая (и при этом бесплатная) программа для работы по ssh из Windows. Сайт, с которого можно ее скачать:www. chiark. greenend. org. uk, тут прямая ссылка на программу.
После установки программы нужно настроить Putty следующим образом:
- в качестве Host Name введите имя Вашего домена (например, example. ru или как на картинке ниже пример для демо-сайта); в качестве Saved Sessions (имени коннекта), например: openhosting. Дальше Save.

Войдите в категорию SSH (слева), выберите протокол SSH версии 2 only. Чтобы соединиться с сервером, нажмите Open

В качестве логина введите свой id клиента, пароль на ssh

После этого Вы попадете в командную строку Unix и сможете насладиться всей его мощью и полнотой.
Ниже приведены примеры некоторых полезных команд, которые можно выполнять по ssh.
Полезные команды
- man команда - выдаст подробный help по команде; ls (list) - список файлов;
- ls - lha - покажет все файлы (включая скрытые), размер файлов, права на них, дату последнего изменения; ls - lha | less - позволит просматривать файлы постранично (если их много);
- > access. log > error. log > combined. log
то очистятся логи, а вот их удаление, как и удаление других служебных файлов, может привести к прекращению работы Вашего сайта.
- du - h --max-depth=1 .
Так можно посмотреть, сколько места используется под сайт. Точка означает текущую директорию, вместо нее можно подставить имя любой другой интересующей Вас директории. mc - клон Нортон Командера, в котором удобно работать с файлами, а также возможно работать с ними по ftp (ftp внутри ssh)

Telnet
Что такое Telnet?
Telnet – это простая программа с текстовым интерфейсом, позволяющая подключаться к другому компьютеру через Интернет. Если владелец или администратор другого компьютера дал вам право подключаться к нему, программа Telnet позволит вам вводить команды для доступа к программам и службам, находящимся на удаленном компьютере, как будто вы работаете непосредственно за ним. Telnet можно использовать для разных задач, в том числе для доступа к электронной почте, базам данных или файлам.
Windows 7: Установка клиента Telnet
1. Нажмите Start, затем выберите Control Panel.
2. Нажмите Programs and Features.
3. Нажмите Turn Windows features on or off.

4. Отметьте чекбокс напротив Telnet Client.

5. Нажмите OK.
6. Начнется процесс установки

Когда он закончиться, клиент установлен и готов к работе.
Как использовать Telnet в Windows?
Прежде чем использовать Telnet, необходимо установить клиент Telnet на компьютере. Для этого выполните шаги, описанные выше. После установки клиента Telnet откройте его. Для этого выполните действия, описанные далее.
Открытие клиента Telnet
· Запустите программу Telnet: нажмите кнопку Пуск,
в поле Поиск введите Telnet и нажмите кнопку ОК.
Команды Telnet
open имя_ЭВМ [ порт ] | open открывает связь с ЭВМ, имя которой указано в обращении. Если номер порта явно не указан, telnet пытается использовать для связи с сервером номер порта по умолчанию. Вместо имени ЭВМ-сервера может использоваться ее IP-адрес. |
display [ аргумент... ] | Отображает все, или часть, набора параметров telnet (см. описание команды send). |
close | Закрывает сессию telnet и возвращает систему в командный режим. |
quit | Закрывает любую сессию telnet. |
mode type | Управляет режимом ввода ("построчный" или "посимвольный"). Удаленной машине посылается запрос на переход в соответствующий режим. Если она готова (способна) работать в запрошенном режиме, будет произведено соответствующее переключение. |
status | Отображает текущий статус telnet. В перечень информации входит имя удаленной ЭВМ и действующий режим обмена. |
? [ команда ] | Выдает справочную информацию о команде, название которой приведено в качестве аргумента |
send arguments | Посылает удаленной ЭВМ один или несколько символьных аргументов. В качестве аргументов могут использоваться: escape, synch, brk, ip, ao, ayt, ecel, ga и др. Смотри таблицу 4.5.3.3. |
escape | Посылает escape символ (например, `^]'). |
SYNCH | Посылает synch-последовательность. Эта последовательность позволяет аннулировать все, что было до этого напечатано, но еще не считано. Эта последовательность посылается как срочная (важная) TCP-информация (может не сработать, если удаленной системой является 4.2 BSD). Если она не сработала, на терминал будет послан символ "r". |
brk | Посылает Break-последовательность при нажатии клавиши Break (Pause). (Исчерпывающую информацию об аргументах можно найти в описании используемого программного обеспечения или с помощью команд Help или Man) |
set argument value | Присваивает любому числу переменных telnet новые значения. Специальное значение "off" выключает функцию, соответствующую данной переменной |
Для проверки соединения я выбрал Пуск ‘ Командная строка. Из командной строки Windows я связался через telnet с моим сервером Telnet Server и смог успешно подключиться от имени пользователя без прав администратора (обратите внимание на имя пользователя, с которым я вошел в систему). 



а мой взгляд из показанных выше рисунков есть два важных момента, которые следует отметить:
Исходя из сообщения на рисунке 6, Telnet является небезопасным протоколом. Весь передаваемый трафик (включая имя пользователя и пароль) передается чистым текстом через сеть. Это означает, что ваше имя пользователя и пароль могут просматриваться теми пользователями, которые расшифровывают пакеты в вашей сети. Это угроза безопасности даже в безопасной локальной сети. Однако, как видно из рисунка 9, Windows Telnet поддерживает NTLM аутентификацию. Вы можете принудить telnet сервер разрешать только NTLM аутентификацию, что сделает telnet сервер гораздо более безопасным.К тому же, если вы прочитаете официальное руководство Microsoft по работе telnet, вы узнаете, как настраивать конфигурацию для telnet, а также о таких изменениях как смена номера используемого порта, время простоя, максимальное количество одновременных пользователей и т. д.
Существует множество преимуществ добавления сервера Telnet Server на вашу систему Windows Server 2008. Мы узнали, что нужно сделать нечто большее перед использованием сервера telnet, чем просто установить функцию. Сервер необходимо запустить, а также нужно настроить аутентификацию пользователей, прежде чем использовать эту функцию. Сервер telnet можно использовать для выполнения различных типов администрирования, мониторинга и диагностирования вашей системы Windows 2008 Server с помощью командной строки.
Вывод:
В ходе лабораторной работы были рассмотрены методы удаленного доступа к операционной системе Unix а так же подробно изучено назначение основных команд. Получены основные теоретические данные по удаленному доступу и навыки подключения удаленного доступа и работы в удаленном терминале.


