Добавить в Twitter  Поделиться в контакте  Опубликовать в своем блоге livejournal.com Добавить в Google Buzz Поделиться в Facebook

GNU/Linux: Основы работы

27 10 2009 | Рубрика: Система | Печать статьи |

В предыдущей статье вы познакомились с процессом установки, и началом работы с операционной системой GNU/Linux. Сейчас рассмотрим основы работы. Данные знания понадобятся в дальнейшем, когда будет рассматриваться практическое применение системы.

Интерфейсы пользователя GNU/Linux

GNU/Linux имеет два типа интерфейса: текстовый и графический (далее, GUI). GUI удобен для обычного пользователя, однако, далеко не всегда подходит для администрирования системы. К тому-же, использование графики не рационально для серверов, поскольку впустую расходует аппаратные ресурсы. Текстовый же интерфейс, помимо того, что использует мало аппаратных ресурсов, позволяет получить наиболее полный и быстрый доступ ко всем составляющим системы (особенно к утилитам и конфигурационным файлам). Так-же использование текстового интерфейса безопаснее и надежнее, поскольку не используется множество графических библиотек и утилит, которые увеличивали бы общее число уязвимостей и ошибок в системе.

Простая разновидность текстового интерфейса, это интерфейс командной строки. Работа с системой в данном случае происходит за счет ввода команд с клавиатуры, и вывода информации в текстовой форме на экран (так-же принтер, передача по сети, и пр.). Обработкой команд занимается интерпретатор,так же называемый консолью. Интерпретаторов существует несколько (bash, csh и пр.), каждый обладает своими особенностями (различия в некоторых командах, и различная реакция на управляющие клавиши). В настоящее время чаще всего используется интерпретатор bash.

Чтобы перейти к работе в консоли, в меню загрузчика системы выберите пункт «Single user mode». Для учебных целей, а так-же, если основная работа происходит в GUI, но иногда возникает потребность в администрировании, можно использовать эмуляторы консоли. В различные дистрибутивы включены различные эмуляторы: XTerm, Терминал, и др.. Ссылки для запуска их находятся обычно в подменю «Стандартные» или «Системные утилиты».

Файловая система.

Файловая система основана на модели иерархического дерева каталогов. В GNU/Linux отсутствуют логические диски, все каталоги являются подкаталогами единого дерева, начинающегося с «корневого каталога», обозначаемого «/». Структуру каталогов представлена в следующем виде:

/ корневой каталог

/bin основные системные программы

/boot файлы загрузчика

/dev каталог устройств компьютера

/etc конфигурационные файлы системы и подкаталоги с конфигурационными                                                файлами прикладных программ

/home каталоги пользователей

/lib библиотеки

/lost+found информация об удаленных файлах

/mnt каталог для монтирования устройств

/media                 в некоторых дистрибутивах (в том числе и в Ubuntu) служит для монтирования                    компакт-дисков и flash-накопителей

/root домашний каталог суперпользователя

/sbin системные программы

/usr прикладные программы и библиотеки

/var каталоги программ для хранения изменяющихся данных (например, каталоги                     веб-сервера).

Вообще, в Unix-системах, каталог является файлом, содержащим ссылки на другие «вложенные в него» файлы и каталоги. Но, для удобства изложения, здесь будут различаться файлы и каталоги.

При использовании консоли можно использовать шаблоны: неточные имена (файлов и каталогов). Здесь вместо части имени используется символ ‘*’ для обозначения любого количества любых символов, а ‘?’ для обозначения любого одиночного символа. Например, fil* означает любой файл или каталог, начинающийся на fil (fil, film, file, и пр.). Оба шаблонных символа могут находится как по краям имен, так и внутри.

Для выполнения каких-либо действий используются утилиты. Использование утилиты так же называется выполнением команды.

Рассмотрим основные команды (утилиты) для работы с каталогами и файлами:

man — отображает подробную справочную информацию о команде, введенной после man. Например:

man pwd

отобразит справку о команде pwd. Перемещение по справке осуществляется клавишами «вверх», «пробел», и «вниз», выход клавишей ‘q’;

pwd — показывает текущий каталог;

cd — сменить каталог. Для перехода в подкаталог (или в подкаталог подкаталога, и далее) текущего каталога, используется относительный путь. Например, если вы находитесь в каталоге «/», то для перехода в подкаталог username, располагающийся в каталоге /home, выполните

cd home/username

Для перехода на каталог уровнем выше, используется «..». Так же можно использовать абсолютный адрес. В этом случае перейти можно в любой каталог, вне зависимости, находится ли он в иерархии текущего. Например, при текущем каталоге /home/username, команда

cd /bin

осуществит переход в /bin;

ls — показывает содержание текущего каталога. Если после команды ввести путь к другому каталогу, то команда покажет его содержимое. Чтобы отобразить скрытые каталоги и файлы, используйте параметр ‘a’ (ls -a). Для отображение свойств файлов и каталогов, используется параметр ‘l’ (строчная L) (ls -l). Оба параметра можно объединить (ls -al). Путь к каталогу всегда указывается после параметров;

cat — отображает содержимое текстовых файлов;

tac — аналогично команде cat, только отображает содержимое файлов в обратном порядке (построчно);

cp — копирует файл. Используется в нескольких формах:

cp файл1 файл2

копирует файл1 (должен существовать) в файл2 (может отсутствовать, но если существует, то перезаписывается),

cp файл1 файл2 … файлN каталог

копирует группу файлов в указанный каталог

cp -r кат1 кат2

копирует содержимое каталога кат1 в новый каталог с именем кат2. Если кат2 существует, то кат1 копируется как каталог внутрь кат2, Можно копировать сразу несколько каталогов (аналогично копированию файлов).

rm — удаляет указанный файл. При использовании параметра ‘r’ удаляет каталог (сначала убедитесь, что в удаляемом каталоге отсутствуют нужные Вам файлы).

Для воздействия на файлы и каталоги, необходимо обладать соответствующими правами. Находясь в домашнем каталоге, выполните последовательно команды

mkdir test

ls -l

Среди всего вывода Вы увидите строку, похожую на

drwxr-xr-x  2 techni techni      4096 2009-10-18 12:25 test

Первая колонка, состоящая из 10 символов, показывает права доступа. Первый символ означает тип файла:

—           обычный файл;

d             каталог;

А так-же ‘l’, ‘s’ и ‘p’, которые здесь рассматривать не будем.

Следующие 9 символов состоят из трех групп по три символа, указывающие права для различных типов пользователей:

первая тройка (здесь rwx) — для владельца;

вторая тройка (здесь r-x) — для пользователей, входящих в группу владельца;

третья тройка (здесь r-x) — для всех остальных пользователей;

Символы означают следующее:

— – нет прав;

r — право на чтение (просмотр содержимого);

w — право на запись (изменение содержимого);

x — для файла возможность исполнения, для каталога возможность перейти в него командой cd.

Будьте внимательны, для удаления файла необходимы права на запись в каталог.

————————————————————-

врезка

Что такое группа? Это метод логического объединения пользователей, позволяющий им задавать одинаковые права на общие файлы. Допустим, предприятие состоит из нескольких отделов, и имеется некоторый файл, доступ к которому должен иметь только сотрудники одного отдела. В этом случае, пользователи, работающие в данном отделе, объединяются в группы. Один пользователь может входить в различное число групп, в зависимости от потребностей.

————————————————————-

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

chmod XXX name

где name – имя файла, каталога, XXX это цифры, означающие новые права для каждого типа пользователей.

Возможны следующие значения:

0 — запрещено все

1 — право на выполнение

2 — право на запись

3 — право на запись и выполнение

4 — право на чтение

5 — право на чтение и выполнение

6 — право на чтение и запись

7 — разрешено все

Например,

chmod 777 test

разрешит совершать любые действия с каталогом test всем пользователям.

Изменять права можно только на файлы и каталоги, владельцем которых Вы являетесь. Изменять права любых файлов и каталогов может только пользователь root.

Архивирование

Потребовалось отправить письмо, и прикрепить к нему несколько файлов? Можно вложить файлы по отдельности, а можно вложить их в один файл (то, что в Windows называется архивом). В Unix-системах изначально архивирование разделено на два этапа: упаковывание (объединения в дин файл) и сжатие.

Для упаковывания используется команда tar. Например,

tar -cvf name.tar file1 file2 … fileN

упакует файлы file1 … fileN в name.tar

tar -xvvf name.tar

распаковывает name.tar в текущий каталог

Команда имеет множество параметров, с которыми можете ознакомиться в справочной системе:

man tar

Сжатие производят утилиты gzip или bzip2. Так-же применяются универсальная (упаковка и сжатие) утилита zip.

На этом ознакомление с системой окончено. В следующий раз начнем рассматривать практическое применение.

Михаил Techni Храмов
q@sa-sec.org
SASecurity gr.


Тэги: , , ,

Возник вопрос после прочтения? Или автор не описал важный момент? Есть что сказать на эту тему, а комментарий - это не твое?


Тогда Go на наш форум.
Общайся на темы ИТ свободно, развивайся и рассказывай новое другим! Мы будем рады принять тебя в нашу компанию

6 Комментария (ев)

SLANIST

21 Ноя 2009

Полезные статьи. Автору спасибо. Ждем продолжения.

Эрика

06 Июн 2010

А как установить права на rwx только для создателя файла?

Автор

07 Июн 2010

>> А как установить права на rwx только для создателя файла?

Под учетной записью создателя файла:
chmod 700 file_name

михалыч76

19 Июл 2010

У Линуха один,но ооочень большой недостаток – дистрибутивы разрабатывают МНОЖЕСТВО людей во всём мире, что ведёт к несовместимости, например, deb-пакетов в Ubuntu или rpm – в Mandriva!
Поэтому FreeBSD – которая «собирается» компактно – FOREVER!!!
Да там и логики побольше… ;)

михалыч76

19 Июл 2010

Да, а за статью спасибо!
Хотя и без картинок…

 :D

Spider Agent

19 Июл 2010

У Линуха один,но ооочень большой недостаток – дистрибутивы разрабатывают МНОЖЕСТВО людей во всём мире, что ведёт к несовместимости, например, deb-пакетов в Ubuntu или rpm – в Mandriva!
Поэтому FreeBSD – которая «собирается» компактно – FOREVER!!!

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

Оставьте комментарий

:mrgreen: :neutral: :twisted: :shock: :smile: :???: :cool: :evil: :grin: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: