Для того чтобы иметь право создания или удаления файлов, необходимо иметь разрешение записи на директорию. Это немного сбивает с толку начинающих администраторов, т.к. им непонятно, почему при наличии всех прав на файл его нельзя удалять.
4.1.1. Назначение прав
Для изменения режима доступа на объекты файловой системы используется команда chmod
. В ней можно указывать новые права на объект как в символьном (применяется для изменения относительно текущего состояния), так и в числовом виде (абсолютное задание). Для начала рассмотрим символьный режим:
chmod параметры права файл
Параметры могут включать комбинацию значений изменения прав по категориям пользователей:
□ u
— владельца;
□ g
— группы;
□ о
— остальных пользователей;
□ a
— все права (то же самое, что передать значение ugo
).
Перед указанием прав можно задать режим их изменения относительно существующих:
□ +
— добавить;
□ -
— удалить;
□ =
— заменить новыми (старые значения будут уничтожены). После этого устанавливается режим доступа:
□ r
— чтение;
□ w
— запись;
□ x
— выполнение;
□ X
— выполнение, если файл является каталогом или уже имеет аналогичные права для какого-либо пользователя;
□ s
— setuid- или setgid-бит;
□ t
— sticky-бит. В этом случае только владелец файла и каталога сможет выполнить удаление;
□ u
— всем пользователям, как и у владельца;
□ g
— всем пользователям, как и у группы;
□ o
—для остальных, как у пользователей, не входящих в группу файла и не являющихся его владельцем.
В случае с числовым представлением команда выглядит следующим образом:
chmod права файл
Права передаются в виде восьмеричного числа из четырех разрядов:
□ первый — определяет дополнительный бит и может принимать одно из значений:
• 1
— бит принадлежности;
• 2
— setgid-бит;
• 4
— setuid-бит;
□ второй — права пользователя. Это число может быть от 0 до 7;
□ третий — права группы. Значение в диапазоне от 0 до 7;
□ четвертый — права остальных пользователей. Это число может быть от 0 до 7.
Например, мы хотим, чтобы владелец и группа имели все права (число 7), а остальные пользователи могли только выполнять файл (число 1). Значит, команда будет выглядеть следующим образом:
chmod 771 filename
Число 771 в символьном виде соответствует правам rwxrwx--x
. Следующая команда отменит возможность чтения файла группой:
chmod g-r text
После этой команды права доступа на файл станут rwx-wx--x
. Теперь давайте запретим всем запуск файла. Для этого можно выполнить команду:
chmod ugo-x text
или
chmod a-x text
После наших манипуляций права доступа на файл станут rw--w----
.
4.1.2. Владелец файла
Для изменения владельца файла существует команда chown
:
chown имя файл
Через параметр имя
определяется пользователь, которому нужно передать права на указанный файл. Например, давайте сделаем владельцем файла test администратора root. Для этого нужно выполнить следующую команду:
chown root test
Изменить можно и группу, к которой принадлежит файл. Для этого выполните команду chgrp
:
chgrp имя файл
Здесь задается имя группы, которой предоставляются права на указанный файл. Например, для файла test укажите группу администратора root с помощью такой команды:
chgrp root test
4.1.3. Правила безопасности
При назначении прав на доступ к файлам и папкам вы должны следовать принципу минимализма, описанному в
Любые лишние объекты могут оказаться фатальными для безопасности системы не только с точки зрения взлома, но и утечки информации. Например, файлы бухгалтерской отчетности должны быть доступны только для тех, кто с ними работает. Если показать эти документы всем, то финансовые данные, возможно, станут достоянием общественности, и это нежелательным образом отразится на благосостоянии компании.
Самое главное для защиты вашей системы — не дать пользователям возможность изменять системные файлы. В Linux основные конфигурационные файлы находятся в каталоге /etc. Только администратор root должен иметь право их модифицировать. Производители дистрибутивов настраивают систему по умолчанию именно так, и не следует повышать статус пользователей без особой надобности.
4.1.4. Права по умолчанию
Когда пользователь создает новый файл или директорию, то им назначаются права по умолчанию. Давайте разберем это на примере. Для создания файла выполним команду ls
и перенаправим вывод в файл:
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии