Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Права доступа к файлам и каталогам



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

Вы можете проверить, какие права по умолчанию установлены для файла, который вы создали. Для этого можно воспользоваться командой uname. Ниже дан практический


пример создания файла с помощью команды touch и проверки прав доступа к нему с помощью команды ls:

$ touch file $ ls –l file

-rw-rw-r-- 1 bbal bball 0 jul 23 12:28 file

Рассмотрим вывод команды ls подробнее.

•Права доступа к файлу представляют собой группу символов: -rw-rw-r--. Первый символ (-) указывает на тип объекта. Дефис говорит о том, что это обычный файл, d означает каталог, c – символьное устройство, b указывает на блок-ориентированное устройство.

•Права доступа указываются последовательно – для пользователя, группы и всех остальных. Отсутствие права на какой-либо вид доступа обозначается знаком дефиса. Тремя основными типами прав доступа являются: r – право на чтение, w – право на запись и x – право на выполнение.

•Далее следует число ссылок на данный файл.

•Владелец. Другими словами, здесь указывается, какой учетной записи принадлежит этот файл. Изменить владельца можно с помощью команды chown.

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

•Размер файла и дата его создания (модификации). Назначение прав доступа

Права доступа к объекту могут быть заданы двумя способами: в цифровой или в буквенной форме. При использовании буквенной формы эти три категории обозначаются так: u – пользователь (владелец), g – группа, o – остальные и a – все эти категории вместе. Тремя основными типами прав доступа являются: r – право на чтение, w – право на запись и x – право на выполнение. Комбинации r, w и x для трех категорий и являются правами доступа к файлу:

User Group Others rwx rwx rwx

Многие пользователи предпочитают представлять права доступа с помощью цифрового кода, базирующегося на 8-ричной системе счисления. Ниже даны значения прав доступа в числовой нотации:

•4 означает право на чтение; •2 означает право на запись (модификацию);


•1 означает право на выполнение.

Предыдущий пример (-rw-rw-r--) в восьмеричной нотации записывается короче – 664. Получается это число просто: старший разряд – права владельца файла, т.е. чтение и запись (4+2), далее идет группа (4+2) и весь остальной мир (только чтение – 4).

Права доступа к каталогам

В 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----   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, который имеет доступ ко всем файлам операционной системы). Используя комбинации различных прав доступа можно легко и быстро создать безопасную среду.

Работа в качестве root


В UNIX и Linux пользователь root, суперпользователь, -– это царь и бог в системе. У него специальная учетная запись, которая разрешает ему делать все, что ему заблагорассудится. После регистрации в качестве пользователя root, вы имеете возможность полностью разрушить работающую систему просто вызвав команду rm:

# rm –fr /

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

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

Добавление пользователей

Чтобы быстро добавить пользователя, выполните команду useradd и задайте в ней имя пользователя:

# useradd winky

После добавления пользователя необходимо с помощью команды passwd ввести начальный пароль для этого пользователя:

# passwd winky

Changing password for user winky. New password:

Retype new password:

Passwd: all authentication tokens updated successfully.

Если для нового пользователя не ввести начальный пароль, то он не сможет зарегистрироваться и войти в систему. Чтобы увидеть используемые по умолчанию параметры для нового пользователя, выполните команду useradd с парметром –D:

# useradd –D Group=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKELL=/etc/skel

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


пароля не ограничен), используемый по умолчанию командный интерпретатор и каталог, в котором хранятся параметры командного интерпретатора, используемые по умолчанию. Удаление пользователей

Для удаления учетной записи используется команда userdel. Эта команда удаляет запись, принадлежащую данному пользователю, из системного файла /etc/passwd. Чтобы удалить все его файлы и каталоги (например, файл почтовой очереди в каталоге /var/spool/mail), следует воспользоваться параметром -r:

# userdel –r winky

В противном случае вам придётся вручную удалять все эти файлы. Выключение системы

Для выключения системы используйте команду shutdown. Эта команда имеет некоторое число опций, позволяющих например, выключить машину в заранее определенное время. Но если нужно выключить машину немедленно, можно воспользоваться опциями –h или halt:

# shutdown –h now

Или

# shutdown –h 0

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

Перезагрузка системы

Для перезагрузки системы также можно воспользоваться командой shutdown. Если необходимо перезагрузить систему, воспользуйтесь опцией –r (reboot); для немедленной перезагрузки укажите после опции now или 0 (ноль):

# shutdown –r now

Или

# shutdown –r 0

Другими командами, которые можно использовать для выключения системы и её перезагрузки, являются halt и reboot.

Практические задания





Дата публикования: 2015-10-09; Прочитано: 698 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...