Права доступа к каталогам
В Linux, как и в остальных UNIX, каталоги также считаются файлами. Например, выполним следующую команду ls, чтобы увидеть разрешения на доступ:
$ mkdir foo
$ ls –ld foo
Drwxrwxr-x 2 bball bball 4096 jul 23 12:37 foo
В данном примере команда mkdir создает каталог. Команда ls с параметром –ld отображает разрешения на доступ и иную информацию, касающуюся этого каталога в целом, но не его содержание. Здесь можно видеть, что права доступа к каталогу имеют значения 775 (владелец имеет все права 4+2+1, группа также все права, а весь остальной мир не может ничего изменять в нем 4+1).
Отсюда видно, что владелец и члены группы могут выводить содержание каталога и записывать в него. Все остальные пользователи могут только выводить содержание каталога. (Чтобы увидеть содержание каталога, необходимо иметь разрешение на выполнение).
Вы заметили, что в выходных данных команды ls в правах доступа стоит первой буква d. Это значит, что данный файл является каталогом; у обычного файла на этом месте стоит пробел. Другие буквы указывают на специальный тип файла. Например, если с помощью команды ls вывести информацию о файле устройства для последовательного порта, то можно увидеть следующее:
$ ls –l /dev/ttyS0
crw-rw---- 1 root uucp 4,64 Mar 23 23:38 /dev/ttyS0
Файл /dev/ttyS0 представляет символьное устройство (последовательный порт); владеет данным файлом пользователь root и этот файл доступен также любому члену группы uucp. Права доступа к файлу имеют значения 660 (чтение+запись, чтение+запись, нет прав).
Изменить права доступа к файлу можно с помощью команды chmod. Чтобы задать желаемое изменение в этой команде используют разные формы записи, включая восьмеричную и мнемоническую. В мнемонической форме параметры команды chmod обозначают следующее (со знаком плюс (+) они используются для добавления права на доступ, со знаком минус – для их удаления):
u | Добавить (или удалить) право на какую-либо операцию с файлом (каталогом) для пользователя |
g | Добавить (или удалить) право для группы |
o | Добавить (или удалить) право для всех остальных |
a | Добавить (или удалить) право всем пользователям (all) |
r | Добавить (или удалить) право на чтение |
w | Добавить (или удалить) право на запись |
x | Добавить (или удалить) право на выполнение |
Из комбинации этих слов и складывается указание о том, как следует изменить права доступа. Например, если создать файл readme.txt, то для этого файла будут установлены разрешения, используемые по умолчанию (они определяются маской unmask в файле /etc/bsdhrc);
-rw-rw-r-- 1 bball bball 12 Oct 2 16:48 readme.txt
Допустим, мы хотим запретить всем без исключения пользователям модифицировать этот файл. Сделать это можно с помощью команды Chmod:
$ chmod –aw readme.txt
$ ls –l readme.txt
-r--r--r-- 1 bball bball 12 Oct 2 16:48 readme.txt
Теперь никто не сможет записывать в файл. Впрочем, владелец, если файл находится в его домашнем каталоге или каталоге /tmp, сможет изменять этот файл – поскольку имеет право на доступ к этим каталогам. Чтобы восстановить право на чтение и запись для владельца, можно выполнить такую команду:
$ chmod u+rw readme.txt
$ ls –l readme.txt
-rw------- 1 bball bball 12 Oct 2 16:48 readme.txt
Чтобы только владелец мог читать файл и записывать в него, можно также использовать восьмеричную форму записи командой chmod. Для этого необходимо выполнить команду chmod со значениями прав доступа, равными 600:
$ chmod 600 readme.txt
Если убрать права на выполнение некоторого каталога, то файлы, в нем содержащиеся, будут скрыты внутри каталога, не видны и не доступны никому, кроме владельца (и, конечно, пользователя root, который имеет доступ ко всем файлам операционной системы). Используя комбинации различных прав доступа можно легко и быстро создать безопасную среду.
Выключение системы
Для выключения системы используйте команду shutdown. Эта команда имеет некоторое число опций, позволяющих например, выключить машину в заранее определенное время. Но если нужно выключить машину немедленно, можно воспользоваться опциями –h или halt:
# shutdown –h now
Или
# shutdown –h 0
Linux завершит работу. Важно понимать, что нельзя просто выключить Linux. Для обеспечения нормальной последующей загрузки система должна размонтировать все разделы. Простое выключение компьютера может привести к порче данных на жестком диске.
Перезагрузка системы
Для перезагрузки системы также можно воспользоваться командой shutdown. Если необходимо перезагрузить систему, воспользуйтесь опцией –r (reboot); для немедленной перезагрузки укажите после опции now или 0 (ноль):
# shutdown –r now
Или
# shutdown –r 0
Другими командами, которые можно использовать для выключения системы и её перезагрузки, являются halt и reboot.
Практическая часть
Практическая работа состоит из двух частей:
· выполнение основных операций по работе с linux;
· выполнение индивидуального задания и ответы на вопросы преподавателя.
Порядок выполнения
Задание 1.
Запустить linux.
Задание 2.
Запустить консоль Linux (в русифицированных графических оболочках Linux консоль обычно обозначается как «Терминал»).
Задание 3.
Перейти в корневой каталог и просмотреть его содержимое.
Перейти в корневой каталог:
cd /
Просмотрите его содержимое командой ls либо dir.
Можно использовать команду ls с дополнительными опциями:
Ls –l
Задание 4. Навигация по файловой системе в режиме командной строки.
Перейдите в режим консоли.
Перейдите в домашний каталог (домашний каталог обозначается
символом «тильда» ~):
Создайте новый каталогlab1
Перейдите в созданный каталог
Задание 5. Работа с текстовым редактором Vi.
Создайте в каталоге lab1 текстовый файл file1.txt
Чтобы начать вводить текст нажмите одну из клавиш a, i или o. Для начала ввода текста можно также воспользоваться клавишей <Insert>. Напечатайте в текстовом файле в первой строке свою фамилию и имя, номер группы. В последующих строках наберите произвольный текст. В конце файла ещё раз напечатайте свою фамилию и имя. Ввод каждой из строк заканчивается нажатием клавиши <Enter>.
Просмотрите созданный вами файл
Задание 6. Управление файлами.
Зайдите в каталог lab1.
Переименуйте файл file1.txt в file.txt.
Создайте копию файла file.txt под именем file2.txt.
Удалите файл file.txt.
Найдите в файле file2.txt строки, содержащие ваше имя и отобразите их на экране.
Задание 7. Задание прав доступа к файлам и каталогам.
Зайдите в каталог lab1
Просмотрите, какие права установлены для файла file2.txt
Установите права для файлов file2.txt и file.txt следующим образом: владелец, группа и все остальные имеют права на запись, чтение и выполнение файла file2.txt, владелец имеет полный набор прав на файл file.txt, его группа имеет права на чтение и выполнение файла, а все остальные могут только читать файл.
Задание 8. Получение справки по командам.
Откройте консоль.
Получите справку по команде cd. Для этого введите в командной строке help cd
Аналогичным образом получите справку для команд: dir, su, help.
1.5 Контрольные вопросы
- Какие основные каталоги содержаться в корневом каталоге в Linux?
- Какую команду необходимо использовать, чтобы просмотреть содержимое каталога?
- Как обозначаются родительский каталог и домашний каталог пользователя? Какая команда используется для навигации по файловой системе?
- Как запустить текстовый редактор vi? Какие клавиши нужно нажать, чтобы начать вводить текст в этом текстовом редакторе? Как сохранить текст и выйти из программы vi?
- Как удалить всю строку целиком в текстовом редакторе vi? Какие ещё команды vi для работы с текстом вы знаете?
- Как просмотреть содержимое текстового файла?
- Какой командой осуществляется поиск в файле и вывод на экран строк, содержащих заданный текст?
- Какие существуют права доступа к файлам и каталогам? Как задать права для файла, чтобы он был доступен только для чтения для всех пользователей; для выполнения и записи – только для владельца файла?
- Как завершить работу с системой Linux?
- Что означают права доступа к файлу, обозначенные числом 762?