KnigaRead.com/

Михаил Флёнов - Linux глазами хакера

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Михаил Флёнов, "Linux глазами хакера" бесплатно, без регистрации.
Перейти на страницу:

cat /home/root/need.txt

tac

Эта команда обратная для cat (даже название команды — это слово cat наоборот), т.е. выводит на экран файл в обратном порядке, начиная с последней строки до первой.

cd

Эта команда позволяет сменить текущий каталог. Для этого необходимо в качестве параметра задать нужную папку:

cd /home/flenov

Если вы находитесь в каталоге /home и хотите внутри него перейти в подкаталог flenov, то достаточно набрать только имя папки flenov:

cd flenov

Если нужно переместиться на уровень выше, например, из подкаталога /home/flenov в каталог /home, нужно выполнить команду:

cd ..

Как мы знаем, папка с именем из двух точек указывает на родительский каталог. Если перейти на нее, то мы попадем на предыдущий уровень.

cp

Команда копирования файла. С ее помощью можно выполнять несколько различных действий:

1. Копирования содержимого файла в другой документ той же папки:

cp /home/root/need.txt /home/root/need22.txt

Здесь содержимое файла /home/root/need.txt (источник) будет скопировано в файл /home/root/need22.txt (назначение).

2. Копирования файла в другой каталог:

cp /home/root/need.txt /home/flenov/need.txt

или

cp /home/root/need.txt /home/flenov/need22.txt

Обратите внимание, что в этом случае в папке назначения файл может быть как с новым, так и со старым именем.

3. Копирование несколько файлов в новый каталог. Для этого нужно перечислить все файлы в источнике и последним параметром указать папку назначения:

cp /home/root/need.txt /home/root./need22.txt /home/new/

В этом примере файлы /home/root/need.txt и /home/root/need22.txt будут скопированы в директорию /home/new. Можно копировать файлы и из разных каталогов в один:

cp /home/root/need.txt /home/flenov/need22.txt /home/new/

В этом примере файлы /home/root/need.txt и /home/flenov/need22.txt будут скопированы в директорию /home/new.

4. Копирование группы (всех) файлов каталога.

А что если надо скопировать все файлы, начинающиеся на букву "n" из одной директории в другую? Неужели придется их все перечислять? Нет, достаточно указать маску n*, где звездочка заменяет любые символы, начиная со второго:

cp /home/root/n* /home/new/

Если нужно скопировать все файлы, имена которых начинаются символами "ra" и заканчиваются буквой "t", то маска будет выглядеть как ra*t.

mkdir

Создание новой директории. Например, если вы хотите создать подкаталог newdir в текущей директории, то нужно выполнить команду:

mkdir newdir

rm

Команда позволяет удалить файл или директорию (должна быть пустая):

rm /home/flenov/need22.txt

В качестве имен файлов можно использовать и маски, как в команде cp. Для удаления директории может понадобиться указание следующих ключей:

□ -d — удалить директорию;

□ -r — рекурсивно удалять содержимое директорий;

□ -f — не запрашивать подтверждение удаляемых файлов. Будьте внимательны при использовании этого параметра, потому что файлы будут удаляться без каких-либо дополнительных вопросов. Вы должны быть уверены, что команда написана правильно.

Пример удаления директории:

rm -rf /home/flenov/dir

df

Эта команда позволяет определить свободное место на жестком диске или разделе. Если устройство не указано, то на экран выводится информация о смонтированных файловых системах.

Пример результата выполнения команды:

Filesystem 1k-blocks   Used Available Use% Mounted on

/dev/hda2  16002200 2275552  12913760  15% /

none         127940       0    127940   0% /dev/shm

Результирующая таблица состоит из следующих колонок:

□ Filesystem — диск, файловая система которого смонтирована;

□ 1k-blocks — количество логических блоков;

□ Used — количество использованных блоков;

□ Available — количество доступных блоков;

□ Use% — процент использованного дискового пространства;

□ Mounted on — монтировка файловой системы.

mount

Команда предназначена для монтирования файловых систем. Она достаточно сложна, и ее используют системные администраторы.

Если вы работали с ОС Windows, то скорей всего привыкли к тому, что дискеты, CD-диски и другие съемные носители становятся доступными сразу же, как только вы поместили их в устройство чтения. В Linux это не так, и многие не могут сжиться с этой особенностью. К таким пользователям отношусь и я, т.к. до сих пор не могу привыкнуть, что нужно выполнять дополнительные команды, хотя и прекрасно понимаю, что они необходимы.

Итак, чтобы CD-ROM стал доступным, надо выполнить команду mount, указав в качестве параметра устройство /dev/cdrom:

mount /dev/cdrom

После этого содержимое CD можно посмотреть в директории /mnt/cdrom. Получается, что файлы и директории диска как бы сливаются с файловой системой.

Почему именно в директорию /mnt/cdrom подсоединяется CD-ROM? Секрет заключается в том, что для подключения CD-ROM нужно намного больше данных, чем дает одна команда mount dev/cdrom. Эти сведения хранятся в двух файлах, уже имеющихся в ОС и описывающих основные устройства и параметры по умолчанию — файлы fstab и mtab. Давайте по очереди разберем эти файлы.

Для начала взглянем на fstab:

# /etc/fstab: static file system information.

#

# <file system> <mount point> <type>  <options>             <dump> <pass>

/dev/hda2       /             ext3    defaults,errors=remount-ro 0 1

/dev/hda1       none          swap    sw                         0 0

proc            /proc         proc    defaults                   0 0

none            /dev/shm      tmpfs   defaults                   0 0

none            /dev/pts/     devpts  gid=5,mode=620             0 0

/dev/cdrom      /mnt/cdrom    iso9660 noauto,owner,kudzu,ro      0 0

/dev/fd0        /mnt/floppy   auto    noauto,owner,kudzu         0 0

Файл содержит строки для основных дисков. Каждая запись состоит из 6 колонок. Обратите внимание на первую строку. Здесь описывается подключение диска hda2. В моей файловой системе это основной диск, поэтому второй параметр — "/". Это значит, что диск будет монтирован как корневой. Третья колонка описывает файловую систему, в данном случае это Ext2. Параметр rw указывает на то, что устройство доступно для чтения и записи.

Предпоследняя строка в файле описывает устройство CD-ROM. Посмотрите внимательно на второй параметр /mnt/cdrom. Вот откуда берется путь к содержимому CD-диска. Четвертая колонка содержит опции монтирования, в которых можно описать параметры безопасности. В данном случае для CD-ROM здесь указано несколько опций: noauto, owner, kudzu, ro. Очень важным здесь является параметр ro, который говорит о возможности только чтения CD-ROM. Вполне логично установить этот параметр для всех приводов и устройств, с помощью которых хакер сможет снять информацию с сервера.

Файл mtab имеет примерно такое же содержимое:

# <file system> <mount point>            <type>  <options>       <dump> <pass>

/dev/hda2       /                        ext3    rw,errors=remount-ro 0 0

proc            /proc                    proc    rw                   0 0

none            /dev/shm                 tmpfs   rw                   0 0

none            /dev/pts                 devpts  rw,gid=5,mode=620    0 0

none            /proc/sys/fs/binfmt_misc binfmt  misc rw              0 0

/dev/cdrom      /mnt/cdrom               iso9660 ro,nosuid,nodev      0 0

Если вы создали какие-то разделы на отдельных дисках, то сможете настраивать и их. Я вам рекомендовал выделить таким образом раздел /home с пользовательскими директориями. Если вы так и сделали, то в файле может быть еще одна строка примерно следующего вида:

/dev/hda3 /home ext3 rw,errors=remount-ro 0 0

Посмотрим на четвертый параметр. В нем содержатся опции монтирования, которыми можно управлять для повышения безопасности системы. Они перечислены через запятую. В нашем примере это rw, errors=remount-ro. В качестве опций монтирования дополнительно можно использовать:

□ noexec — запрет выполнения файлов. Если вы уверены, что в разделе не должно быть исполняемых файлов, то можно использовать эту опцию. Например, в некоторых системах директория /home должна хранить только документы. Чтобы хакер не смог записать в этот раздел свои программы, с помощью которых будет происходить взлом, добавьте этот параметр. Точнее сказать, программы поместить можно будет, а запустить — нет;

□ nosuid — запрещает использование программ с битами SUID и SGID. В разделе /home их быть не должно, поэтому можно явно запретить применение привилегированных программ. О SUID- и SGID-программах мы поговорим в разд. 4.5;

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*