-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathlab3.txt
38 lines (30 loc) · 6.26 KB
/
lab3.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Лабораторная работа №3
Требования:
- Изучить утилиты ssh, scp, tar и chmod, изучить права доступа в UNIX
- Архивировать директорию с файлами с помощью утилиты tar, передать архив на удаденный сервер с помощью утилиты scp, подключиться к серверу с помощью утилиты ssh разархивировать переданный архив, продемонстрировать целостность данных из пераданного архива, создать новый файл на строне удаленной машины, добавить его в папку, снова архивировать папку и передать этот файл на локальную машину, после чего разархивировать и убедиться в целостности переданных данных, после чего продемонстрировать работу команды chmod.
Теория:
Работа с удаленными машинами.
В обычной жизни мы как правило работаем с настольными компьютерами и имеем к ним прямой доступ, но в разработке, особенно если речь идёт о веб разработке, то код должен быть запущен не на локальной машине, а на сервере, как правило эти сервера где-то арендуются и прямого доступа к ним нет. Для подключения к удаленным машинам используется протокол SSH (Secure Shell (защищенная командная строка)).
Для подключения к удаленной машине, на которой поднят ssh необходимо ввести команду:
ssh <имя_пользователя>@<адрес_узла>
Под адресом узла понимается ip машины, либо домен, если он привяхан к ip машины, также вы можете указывать порт, если порт не указан, по дефолту используется 22 порт. Также вы можете выполнять одиночные команды на удаленной машине:
ssh <имя_пользователя>@<адрес_узла> <команда>
Можно копировать файлы между даленной и локально машиной с помощью команды scp:
scp /путь/к/локальному/файлу <имя_пользователя>@<адрес_узла>:/путь/на/удаленном/сервере
scp <имя_пользователя>@<адрес_узла>:/путь/к/удаленному/файлу /путь/на/локальном/компьютере
Также с помощью флага -r можно передавать директории, но рекомендуется передавать их в виде архивов.
Утилита tar.
tar -cvf archive.tar file1 file2 - сделает архив
tar -xvf archive.tar - распакует архив
Система прав в UNIX.
В системе UNIX существует 3 типа действий над файлами: read (чтение), write (запись), execute (исполнение как программы если это файл, переход в эту директорию, если это директория). Сокращенно rwx. Уровень доступа можно представить ввиде трехбитного числа, где первый разряд устанавливает права на чтение, второй на запись, а третий на исполнение. Например 0 - значит файл нельзя читать, в него нельзя писать и его нельзя исполнять, 1 - только исполение, 2 - только запись, 3 - чтение и исполнение, 4 - только чтение, 5 - исполнение и чтение, 6 - чтеник и запись, 7 - исполнение, чтение и запись. Также можно записать буквами, например r - только чтение, w - только запись, rw - чтение и запись, x - только исполнение, rx - чтение и исполнение, rwx - чтение, исполнение, запись.
Относительно любого файла существует три категории пользователей:
- Владелец файла (по-умолчанию его создатель, но право владения файла можно передать) - u
- Пользователи из группы владельца - g
- Все остальные пользователи - o
Таким образом права доступа для всех пользователей к конкретному файлу описываются либо шестью символами каждый из которых либо r, либо w, либо x, либо -, либо трехзначным восьмеричным числом. Например rwxrwxrwx соответствует 777.
Утилита chmod.
Утилита предназначенная для изменения прав доступа к файлу. Может работать в двух режимах, изменить контретную категорию доступа, для конкретной категории пользователей, либо сразу установить для всех категорий пользователей.
chmod u+x file - разрешает владельцу исполнение файлов
chmod u-x file - запрещает владельцу исполнение
chmod 744 file - разрешает владельцам все, а группе и остальным только чтение.