Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Права доступа, жесткие ссылки.⇐ ПредыдущаяСтр 13 из 13
Механизмы разграничения доступа, разработанные для системы 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 вы сможете следующее:
Установить 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.domainssh запросит вас ввести пароль пользователя. В качестве имени пользователя для установки соединения будет использовано имя текущего пользователя, то есть имя, под которым вы сейчас зарегистрированы в системе. В случае, если аутентификация пройдет успешно, начнется сеанс связи. Прекратить сеанс можно комбинацией клавиш Ctrl+D. Если вам нужно указать другое имя пользователя, используйте параметр -l программы ssh: $ ssh -l user hostname.ruКоманды ssh полностью аналогичны командам консоли (=оболочки, shell) на локальном компьютере. Задания: 1. Подключиться к компьютеру соседа, используя ssh 2. Создать на компьютере соседа нового пользователя (используя права root’а) 3. Измените пароль соседа 4. Посмотрите документы соседа в его домашней директории 5. Скопируйте пару файлов из его документов 6. *Установите Firefox на компьютер соседа 7. …
Популярное:
|
Последнее изменение этой страницы: 2016-03-22; Просмотров: 1679; Нарушение авторского права страницы