Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Права доступа, жесткие ссылки.



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

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

В индексном дескрипторе каждого файла записаны имя владельца файла и группы, которая имеет права на этот файл. Первоначально, при создании файла его владельцем объявляется тот пользователь, который этот файл создал. Точнее – тот пользователь, от чьего имени запущен процесс, создающий файл. Если выполнить команду ls -l, вы увидите владельца и его группу и, кроме того, в первом поле будут показаны права доступа и тип файла.

$ Is -I /bin/Is

-rwxr-xr-x 1 root root 49940 Sep 12 1999 /bin/Is

Символы в первом поле можно условно разделить на 4 группы. Первая группа, состоящая из единственного символа, определяет тип файла ( - обычный файл; d каталог). Далее следуют три группы по три символа, которые и определяют права доступа к файлу соответственно для владельца файла, для группы пользователей, которая сопоставлена данному файлу, и для всех остальных пользователей системы ( r – право читать, w – записывать, x - исполнять ).

Для изменения прав доступа к файлу используется команда chmod. Ее можно использовать в двух вариантах. В первом варианте вы должны явно указать, кому какое право даете или кого этого права лишаете:

[user]$ chmod wXp имя-файла

где вместо символа w подставляется:

либо символ u (user - то есть пользователь, который является владельцем);

либо g (group - группа);

либо о (все пользователи, не входящие в группу, которой принадлежит данный файл);

либо а (all - все пользователи системы, т. е. и владелец, и группа, и все остальные).

вместо х ставится:

либо + (предоставляем право);

либо - (лишаем соответствующего права);

либо = (установить указанные права вместо имеющихся).

вместо р — символ, обозначающий соответствующее право:

г (чтение);

w (запись);

х (выполнение).

Второй вариант задания команды chmod (он используется чаще) основан на цифровом представлении прав. Для этого мы кодируем символ r цифрой 4, символ w — цифрой 2, а символ х – цифрой 1. Для того чтобы предоставить пользователям какой-то набор прав, надо сложить соответствующие цифры.

Получив, таким образом, нужные цифровые значения для владельца файла, для группы файла и для всех остальных пользователей, задаем эти три цифры в качестве аргумента команды chmod (ставим эти цифры после имени команды перед вторым аргументом, который задает имя файла). Например, если надо дать все права владельцу (4+2+1=7), право на чтение и запись - группе (4+2=6), и не давать никаких прав остальным, то следует дать такую команду:

[user]$ chmod 760 file_name

Жесткие ссылки

Каждому файлу в Linux соответствует так называемый " индексный дескриптор" файла, или " inode". Именно индексный дескриптор содержит всю необходимую файловой системе информацию о файле, включая информацию о расположении частей файла на носителе, типе файла и многое другое. Индексные дескрипторы файлов содержатся в специальной таблице (inode table), которая формируется при создании файловой системы на носителе.

Каждый логический и физический диск имеет собственную таблицу индексных дескрипторов. Дескрипторы в этой таблице пронумерованы последовательно, и именно номер дескриптора файла является его истинным именем в системе (этот номер мы будем называть индексом файла). Однако для человека такая система имен неудобна. Поэтому файлам даются еще " человеческие" имена, и помимо этого файлы группируются в каталоги.

Т.е. имя любого файла в Linux является ни чем иным, как ссылкой на индексный дескриптор файла. Поэтому каждый файл может иметь сколько угодно разных имен. Эти имена называют еще " жесткими" ссылками. Для создания дополнительного имени используется команда ln:

In имя существующего файла новое_имя

Число жестких ссылок на файл (то есть разных имен файла) можно узнать выполнив команду ls с параметром -l. Сразу за перечислением прав доступ к файлу следует число, которое и обозначает число жестких ссылок на файл.

 

Задания:

1. Запустите консоль, перейдите на самый верхний уровень, к каким каталогам в корневой папке вы имеете доступ?

2. Зайдите в папку tmp

3. Создайте текстовый файл

4. Посмотрите его владельца, группу владельца и права доступа

5. Измените права доступа к этому файлу:

a) вы и ваша группа должны иметь право делать с файлом все, остальные – ничего

b) вы – чтение, запись, исполнение; группа – чтение, остальные – ничего

c) вы – ничего, группа – чтение, остальные – чтение, запись, исполнение (получится ли? )

6. Создайте ещё один файл.

a) для этого файла создайте жесткую ссылку

b) поместите её в свой домашний каталог

7.

 

6.6 Установка приложений, RPM, исходные коды.

Источник: Колисниченко Д.Н. ‘Linux сервер своими руками’

В операционной системе Linux существуют три способа установки программного обеспечения: из исходных кодов, из пакетов RPM, с помощью графических менеджеров пакетов.

Установка из исходных текстов

Этот способ заключается в том, что программа распространяется не в собранном виде, а в виде исходных текстов.

Как правило, исходный текст распространяется в архиве. Обычно файл, содержащий исходный текст, имеет двойное расширение: например, tar.gz или tar.bzl. Это означает, что данный файл сжат двумя архиваторами: сначала tar, а потом gzip.

Распаковывать архив нужно по принципу стека: сначала внешним архиватором, а потом внутренним. Предположим, что prg-2.00.tar.gz — это имя файла нашего архива. Для его распаковки нужно ввести команды:

gunzip prg-2.00.tar.gz

tar xvf prg-2.00.tar

Параметр х программы tar означает, что нужно выполнить извлечение файлов из архива (параметр с — создание). Параметр v можете указывать по собственному усмотрению, он обеспечивает большую информативность при работе программы. Последний параметр f является обязательным при работе с файлами.

После успешного завершения первого этапа (распаковки) перейдите в каталог, содержащий исходные тексты. Обычно это каталог < имя_программы-версия>: cd prg-2.00

После этого вам нужно внимательно прочитать файл README и ввести три команды:

. /configure

make

make install

Первая команда конфигурирует устанавливаемую программу для работы с вашей системой. Эта программа также проверяет, может ли устанавливаемая программа работать в вашей системе. Если работа программы невозможна, вы увидите соответствующее сообщение, и процесс установки будет прерван. Обычно такое случается, когда в вашей системе не установлена одна из необходимых новой программе библиотек. Для продолжения установки необходимо установить требуемую библиотеку и попытаться заново ввести команду./configure. После успешного завершения работы программы./configure будет создан файл Makefile, в котором будут указаны необходимые параметры (пути к библиотекам, путь для установки программы) для программы make.

Вторая команда (make) «собирает» программу. На этом этапе программа компилируется, то есть создаются бинарные исполнимые файлы из исходных текстов.

Третья команда — make install -- устанавливает программу и файлы справочной системы в соответствующие каталоги. Обычно программы устанавливаются в каталог /usr/bin, но это зависит от содержимого конфигурационного файла Makefile.

Программа RPM

Установка программного обеспечения в дистрибутивах Red Hat и Mandrake производится с помощью программы rpm. RPM (Red Hat Package Manager) — это менеджер пакетов Red Hat.

В отличие от привычных мастеров InstallShield, которые используются для установки программ для Windows, пакеты RPM (файлы с расширением.rpm) не являются выполняемыми файлами, то есть программами. В пакетах содержатся файлы (как в архиве), которые нужно установить, а также различная информация об этом пакете.

Команда установки пакета выглядит так:

rpm -ihv < пакет>.rpm

Перед установкой программы менеджер RPM проверит зависимости пакета, то есть установлены ли в вашей системе другие пакеты, которые необходимы новой программе или конфликтуют с ней. Если установлены все нужные программе пакеты (или для работы программы вообще не нужны никакие дополнительные пакеты), а также, если новая программа не конфликтует ни с одним уже установленным пакетом, менеджер RPM установит программу. В противном случае вы получите сообщение, что для работы программы нужен какой-то дополнительный пакет или программа конфликтует с уже установленным пакетом. Если нужен дополнительный пакет, просто установите его. А вот, если программа конфликтует с уже установленным пакетом, то вам нужно будет выбрать, какой пакет больше нужен: уже установленный или новый.

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

Программы gnorpm, kpackage

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

Для установки какого-либо пакета просто нажмите на кнопку «Установить».

Задания:

1. Собрать из исходных кодов и установить игру X-tetris

2. Установить, используя gnorpm, почтовый клиент Thunderbird

3.

 

 

Samba, настройка сети.

С помощью Samba вы сможете следующее:

  1. Предоставлять доступ к разделам Linux для рабочих станций Windows.
  2. Получать доступ к ресурсам сети Microsoft.
  3. Распечатывать документы на сетевых принтерах сети Microsoft, а также позволить использовать свой принтер в качестве сетевого.

Установить Samba можно через Установку и удаление программ или из командной строки:

# urpmi samba

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

Для доступа к общим папкам в Windows можно набрать адрес папки в строке адреса Проводника, аналогично в Linux можно набрать адрес в строке адреса Konqueror или использовать команду

$ smbclient //comp_name/share -U user%password

Для просмотра списка общих ресурсов можно использовать комнду

$ smbclient //comp_name -L

Использовать программу smbclient не очень удобно. Гораздо удобнее использовать программу smbmount, которая умеет монтировать удаленный общий ресурс как обычную файловую систему.

# smbmount //comp_name/share/ /mnt/my_folder -U user

 

Задания:

1. Установить Samba

2. Создать в своей домашней директории папку, разрешить к ней доступ на чтение другим компьютерам

3. Проверить, что эта папка доступна и компьютерам под управлением Windows

4. Для ещё одной папки разрешить не только чтение, но и запись. Проверить.

5. Смонтировать чужую общую папку на свою файловую систему

6.

 

FTP-сервер.

Источник: ru.wikipedia.org, Lafox.Net

File Transfer Protocol (букв. «протокол передачи файлов») или просто FTP — сетевой протокол, предназначенный для передачи файлов в компьютерных сетях. Протокол FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер, кроме того возможен режим передачи файлов между серверами (FXP).

FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP в 1971 году. До начала 90-х годов на долю FTP приходилось около половины трафика в сети интернет. Данный протокол и сегодня используется для распространения программного обеспечения и доступа к удалённым хостам.

Протокол не шифруется, при аутентификации передаёт логин и пароль открытым текстом. Если злоумышленник находится в одном сегменте сети с пользователем FTP, то, используя сниффер (например, Ethereal), он может легко «поймать» логин и пароль пользователя, или, при наличии специальной программы, перехватывать передаваемые по FTP файлы без авторизации.

Установка и настройка

Проверяем что установлен или устанавливаем пакет ProFTPd

# urpmi proftpd

Файл конфигурации для FTP сервера ProFTPd это /etc/proftpd.conf. Все настройки и изменения мы будем делать именно в нем.

Запускаем сервер:

# /etc/init.d/proftpd restart

проверяем работоспособность

$ lftp admin@localhost

вводим пароль пользователя admin. Теперь выполняем команду ls и убеждаемся, что мы находимся в домашнем каталоге пользователя admin. Выполняем команду cd / и ls и убеждаемся, что FTP сервер пустил нас выше домашнего каталога пользователя, что часто НЕЖЕЛАТЕЛЬНО. Выходим из FTP клиента (команда quit).

Чтобы этому воспрепятствовать, пишем в файле конфигурации строчечку DefaultRoot ~. Это значит, что мы “запираем” всех пользователей в их домашних каталогах. А если нам все-таки хочется пустить какого-то пользователя (пусть это будет testuser) выше, добавляем еще одну строку DefaultRoot / testuser.

Часто используется анонимный FTP сервер (anonymous ftp). Настроить его легко можно так: добавьте следующий код в конец конфигурационного файла /etc/proftpd.conf (каталог /var/ftp/ по умолчанию является каталогом, где лежат общедоступные файлы и домашним каталогом пользователя ftp, под которым запускается демон ProFTPd):

 

###########################################

< Anonymous /var/ftp/>

User ftp

Group ftp

# Рассматривать клиентов, вошедших под логином anonymous как ftp

UserAlias anonymous ftp

# Лимит на максимальное количество подключений пользователя anonymous

MaxClients 30

# не спрашивать пароля и оболочку.

RequireValidShell off

AnonRequirePassword off

# ограничение ЗАПИСИ(WRITE) везде в anonymous chroot

< Limit WRITE>

Order Deny, Allow

DenyAll

< /Limit>

< /Anonymous>

###########################################

Теперь перезапускаем ProFTPd сервер и проверяем, что анонимный доступ на FTP работает:

$ links ftp: //localhost/

Часто используется анонимный FTP сервер, который предоставляет возможность пользователям загружать файлы на сервер. Для того, чтобы это сделать, сначала необходимо создать каталог внутри корня анонимного FTP сервера, в который эти пользователи будут иметь доступ, и сделать его владельцем пользователя ftp.

# mkdir /var/ftp/uploads

# chown ftp.ftp /var/ftp/uploads

Теперь добавим следующий код конфигурационный файл /etc/proftpd.conf внутрь секции < anonymous> (например перед ее закрытием, то есть перед строкой < /anonymous> ):

< Directory uploads/*>

< Limit READ>

DenyAll

< /Limit>

< Limit STOR>

AllowAll

< /Limit>

< /Directory>

Теперь в каталог /var/ftp/uploads пользователи могут заливать файлы, используя анонимную авторизацию. При этом файлы в этом каталоге никто не сможет читать. Если вам захочется, чтобы загруженные в этот каталог файлы были доступны для чтения анонимным пользователям, тогда просто закомментируйте (или удалите) следующие строки:

# < Limit READ>

# DenyAll

# < /Limit>

Минимальные настройки FTP сервера закончены.

Задания:

7. Установить FTP-сервер.

8. Настроить анонимный доступ.

9. Разрешить пользователям размешать свои файлы на сервере.

10.

Удалённое управление, SSH.

SSH (Secure Shell) — программа, позволяющая вам зарегистрироваться на удаленных компьютерах и установить зашифрованное соединение.

SSH использует криптографию открытого ключа для шифрования соединения между двумя машинами, а также для опознавания пользователей.

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

Оболочка ssh незаменима в тех случаях, когда удаленно нужно администрировать сервер или когда сервер не имеет собственного монитора. При использовании telnet все данные, которые передаются через telnet-соединение, доступны в открытом виде. А значит, имена пользователей и пароли будут доступны всем, кто прослушивает трафик с помощью анализатора (sniffer’а).

Программа состоит из демона (службы) sshd, который запускается на Linux/UNIX-машине, и клиента ssh, который распространяется как для Linux, так и для Windows.

Чтобы подключиться к другому компьютеру наберите команду:

$ ssh hostname.domain

ssh запросит вас ввести пароль пользователя. В качестве имени пользователя для установки соединения будет использовано имя текущего пользователя, то есть имя, под которым вы сейчас зарегистрированы в системе. В случае, если аутентификация пройдет успешно, начнется сеанс связи. Прекратить сеанс можно комбинацией клавиш Ctrl+D.

Если вам нужно указать другое имя пользователя, используйте параметр -l программы ssh:

$ ssh -l user hostname.ru

Команды ssh полностью аналогичны командам консоли (=оболочки, shell) на локальном компьютере.

Задания:

1. Подключиться к компьютеру соседа, используя ssh

2. Создать на компьютере соседа нового пользователя (используя права root’а)

3. Измените пароль соседа

4. Посмотрите документы соседа в его домашней директории

5. Скопируйте пару файлов из его документов

6. *Установите Firefox на компьютер соседа

7.

 


Поделиться:



Популярное:

  1. D. ПРАВА НА ПРОМЫШЛЕННЫЕ ОБРАЗЦЫ
  2. D. ПРАВА, ОХВАТЫВАЕМЫЕ АВТОРСКИМ ПРАВОМ
  3. E. Лица, участвующие в договоре, для регулирования своих взаимоотношений могут установить правила, отличающиеся от правил предусмотренных диспозитивными нормами права.
  4. H. Обособление права публичного и частного в эпоху Великих реформ. - Судебные уставы императора Александра II. - Закон и суд
  5. I. ПРАВА, ВЫТЕКАЮЩИЕ ИЗ РЕГИСТРАЦИИ ТОВАРНЫХ ЗНАКОВ
  6. IV. Ликвидация крепостного права.
  7. J. НАРУШЕНИЕ ПРАВА НА ТОВАРНЫЙ ЗНАК, КОНТРАФАКЦИЯ И ПОДДЕЛКА ЭТИКЕТОК И УПАКОВКИ
  8. А. Бытовая рознь и признаки личной или племенной системы в истории нашего права. - Черты прошлого в современном праве. - Сходство и общность права
  9. Абсолютный идеализм и философия права Г.В.Ф. Гегеля
  10. Авторские и смежные права в системе интеллектуальной собственности
  11. Авторское право и смежные права
  12. Административно-процессуальное право: предмет, метод и задачи. Источники административно-процессуального права. Система а-п права. Административно-процессуальные нормы в системе норм права.


Последнее изменение этой страницы: 2016-03-22; Просмотров: 1624; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.066 с.)
Главная | Случайная страница | Обратная связь