Файлы на дисках имеют 4 атрибута, которые могут быть сброшены и установлены пользователем

Обновлено: 06.07.2024

Установите параметры памяти, выбрав «Правка» > «Установки» > «Память» (Windows) или «After Effects» > «Установки» > «Память» (Mac OS).

По мере изменения настроек в диалоговом окне «Память» After Effects динамически обновляет полезный текст в диалоговом окне, в котором сообщается, как он будет выделять и использовать память и ЦП.

Настройка ОЗУ, зарезервированная для других приложений, актуальна независимо от того, выбран ли параметр «Визуализация нескольких кадров одновременно».

ОЗУ зарезервировано для других приложений

Увеличьте это значение, чтобы оставить больше оперативной памяти доступной для операционной системы и приложений, отличных от After Effects и приложения, с которым оно использует общий пул памяти. Если вы знаете, что будете использовать определенное приложение вместе с After Effects, проверьте его системные требования и установите для этого значения как минимум минимальный объем ОЗУ, необходимый для этого приложения. Поскольку производительность выше, когда для операционной системы остается достаточно памяти, вы не можете установить это значение ниже минимального базового значения.

Общий пул памяти между After Effects, Premiere Pro, Prelude, Media Encoder, Photoshop и Audition

After Effects использует общий пул памяти с приложениями Adobe CC. На панели настроек памяти это отображается значками каждого из этих приложений в верхней части панели. Значки неактивных приложений затемнены.

Балансировщик памяти предотвращает подкачку ОЗУ на диск, динамически управляя памятью, выделенной каждому из приложений. Каждое приложение регистрируется в балансировщике памяти с некоторой базовой информацией: минимальные требования к памяти, максимальный объем памяти, который можно использовать, текущая используемая память и приоритет. Приоритет имеет три настройки: низкий, нормальный и высокий. Самый высокий в настоящее время зарезервирован для After Effects и Premiere Pro, когда это активное приложение. Обычный — для After Effects в фоновом режиме или Adobe Media Encoder на переднем плане. Низкий — для фоновых серверов Premiere Pro или Adobe Media Encoder в фоновом режиме.

Примером практического результата использования общего пула памяти является то, что запуск Premiere Pro уменьшит объем оперативной памяти, доступной After Effects для предварительного просмотра; выход из Premiere Pro немедленно освободит оперативную память для After Effects и продлит возможную продолжительность предварительного просмотра.

Диалоговое окно "Память"

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

Чтобы открыть диалоговое окно, выберите «Правка» > «Установки» > «Память» (Windows) или «After Effects» > «Установки» > «Память» (Mac OS) и нажмите кнопку «Подробности» в нижней части диалогового окна настроек.

Вы можете скопировать информацию в буфер обмена с помощью кнопки "Копировать".

Требования к памяти (RAM) для рендеринга

Требования к памяти для рендеринга кадра (либо для предварительного просмотра, либо для окончательного вывода) увеличиваются с увеличением потребности в памяти самого интенсивного слоя в композиции.

After Effects визуализирует каждый кадр композиции по одному слою за раз. По этой причине потребность в памяти для каждого отдельного слоя имеет большее значение, чем продолжительность композиции или количество слоев в композиции, при определении того, может ли данный кадр быть отрендерен с доступной памятью. Требования к памяти для композиции эквивалентны требованиям к памяти для самого интенсивного памяти слоя в композиции.

Требования слоя к памяти увеличиваются при нескольких обстоятельствах, включая следующие:

Увеличение разрядности цвета проекта

Увеличение разрешения композиции

Использование исходного изображения большего размера

Включение управления цветом

Добавление посимвольных 3D-свойств

Предварительная композиция без сворачивания преобразований

Использование определенных режимов наложения, стилей слоев или эффектов, особенно включающих несколько слоев

Применение определенных параметров вывода, таких как раскрытие 3:2, обрезка и изменение размера

Добавление теней или эффектов глубины резкости при использовании 3D-слоев

After Effects требует непрерывного блока памяти для хранения каждого кадра; он не может хранить кадр по частям в фрагментированной памяти. Сведения о том, сколько оперативной памяти требуется для хранения несжатого кадра, см. в разделе Требования к хранилищу для выходных файлов.

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

Очистка памяти (ОЗУ)

Иногда After Effects может отображать предупреждающее сообщение о том, что для отображения или рендеринга композиции требуется больше памяти. Если вы получаете предупреждение о нехватке памяти, освободите память или уменьшите требования к памяти для наиболее интенсивно использующих память слоев, а затем повторите попытку.

Вы можете немедленно освободить память с помощью команд из меню Правка > Очистить:

  • Вся память
  • Кэш-память изображений
  • Вся память и дисковый кэш
  • Отменить
  • Снимок

Очистка памяти выполняется быстрее для больших проектов. Очистка памяти не синхронизирует базу данных проекта; Если вы хотите принудительно синхронизировать базу данных проекта, нажмите клавишу Option (Mac OS) или Alt (Windows) и выберите «Правка» > «Очистить» > «Вся память». Это можно сделать, если вы видите, что панель «Композиция» не обновляется корректно и команды «Очистить» > «Вся память» или «Вся память и кэш диска» не помогают.

Устранение неполадок с памятью

Ошибка: «Не удалось выделить достаточно памяти для рендеринга текущего кадра. ”

Либо уменьшите требования к памяти для рендеринга этого кадра, либо установите больше оперативной памяти.

Ошибка: «Невозможно выделить [n] МБ памяти. ”

Либо уменьшите требования к памяти для рендеринга этого кадра, либо установите больше оперативной памяти.

Ошибка: «Буферы изображений размером [ширина]x[высота] @[глубина] бит/канал ([n] ГБ) превышают внутренние ограничения. ”

Уменьшите требования к памяти для рендеринга этого кадра.

Максимальный объем памяти, который может занимать один кадр, – 2 ГБ.

Ошибка: «Выделение памяти [n] ГБ превышает внутренние ограничения. ”

Уменьшите требования к памяти для рендеринга этого кадра.

Максимальный размер одного выделения памяти – 2 ГБ.

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

(высота в пикселях) x (ширина в пикселях) x (количество бит на канал) / 2 097 152

Значение 2 097 152 — это коэффициент преобразования, учитывающий количество байтов на мегабайт (2 20 ), количество битов на байт (8) и количество каналов на пиксель (4).

Некоторые примеры размеров кадров и требований к памяти в мегабайтах (МБ) на кадр:

Кадр HDTV (1920 x 1080) в 16-битном проекте: 16 МБ

Кадр цифрового кино 4K (4096 x 2304) в проекте с частотой 32 бита на канал: 144 МБ

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

Когда вы работаете над композицией, After Effects временно сохраняет некоторые визуализированные кадры и исходные изображения в ОЗУ, чтобы предварительный просмотр и редактирование могли выполняться быстрее. After Effects не кэширует кадры, для рендеринга которых требуется мало времени. Кадры остаются несжатыми в кэше изображений.

After Effects также кэширует на уровне видеоряда и слоя для более быстрого предварительного просмотра; измененные слои визуализируются во время предварительного просмотра, а неизмененные слои компонуются из кэша.

Когда кэш ОЗУ заполнен, любой новый кадр, добавляемый в кеш ОЗУ, заменяет ранее кэшированный кадр. Когда After Effects обрабатывает кадры для предварительного просмотра, он прекращает добавлять кадры в кэш изображений, когда кэш заполнен, и начинает воспроизводить только те кадры, которые могут поместиться в кэш ОЗУ.

Зеленые полосы на шкале времени на панелях «Таймлайн», «Слой» и «Видеоряд» отмечают кадры, кэшированные в ОЗУ. Синие полосы на панели «Таймлайн» отмечают кадры, кэшированные на диск.

Индикаторы кэша слоев

Индикаторы кэша слоев позволяют визуализировать кэшированные кадры для каждого слоя. Это полезно при попытке определить, какие слои кэшируются в композиции.

Включите параметр «Индикаторы кэша слоев», нажав клавишу Ctrl (Windows) или Command (Mac), а затем выберите «Показать индикаторы кэша» в меню панели «Таймлайн». Чтобы увидеть индикаторы, в меню должен быть включен параметр «Показать индикаторы кеша».

Отображение индикаторов кеша немного снижает производительность.

Кэш ОЗУ автоматически очищается при выходе из After Effects.

Вы можете очистить кеш ОЗУ или кеш ОЗУ и кеш диска в меню «Правка» > «Очистить».

Выберите «Правка» > «Очистить» > «Вся память и кэш диска», чтобы очистить содержимое всех кэшей ОЗУ (например, существующая команда «Вся память») и содержимое кэша диска (например, существующая кнопка «Очистить кэш диска» в меню «Кэш носителя и диска»). предпочтения).

After Effects быстрее очищает память для больших проектов. Очистка памяти не синхронизирует базу данных проекта. Если вы хотите принудительно синхронизировать базу данных проекта, нажмите клавишу Option (Mac OS) или Alt (Windows) и выберите «Правка» > «Очистить» > «Вся память». Это можно сделать, если вы видите, что панель «Композиция» не обновляется корректно и команды «Очистить» > «Вся память» или «Вся память и кэш диска» не помогают.

Очистка кэша диска для одной версии After Effects не приводит к очистке кэша для других версий. Например, очистка дискового кэша After Effects CC не повлияет на дисковый кэш After Effects CS6.

Глобальный кэш производительности состоит из следующих компонентов:

Глобальный кэш ОЗУ: при изменении композиции кадры в кеше ОЗУ не стираются автоматически и используются повторно, если вы отменяете изменение или восстанавливаете предыдущее состояние композиции. Самые старые кадры в кэше ОЗУ стираются, когда кэш ОЗУ заполнен, и After Effects необходимо кэшировать новые кадры.
Постоянный дисковый кеш. Кадры, сохраненные в кеше на диске, по-прежнему доступны даже после закрытия After Effects.

Дополнительные сведения о глобальном кэше производительности см. в записи блога под названием "Функции графического процессора (CUDA, OpenGL) в After Effects" в блоге команды разработчиков After Effects.

Видео: глобальный кэш производительности

В этом видео Брайан Маффитт и Total Training узнайте, как функции глобального кэша производительности могут сэкономить время при композитинге.

chattr (Change Attribute) — это утилита командной строки Linux, которая используется для установки/отмены определенных атрибутов файла в системе Linux для защиты от случайного удаления или изменения важных файлов и папок, даже если вы вошли в систему как пользователь root. пользователь.

В родных файловых системах Linux, т. е. ext2, ext3, ext4, btrfs и т. д., поддерживаются все флаги, хотя не все флаги поддерживаются всеми неродными файловыми системами. Нельзя удалить или изменить файл/папку после того, как атрибуты установлены с помощью команды chattr, даже если у вас есть полные права доступа к ней.

примеры команд chattr

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

Синтаксис chattr
Атрибуты и флаги

Ниже приведен список общих атрибутов и соответствующих флагов, которые можно установить/снять с помощью команды chattr.

  1. Если доступ к файлу осуществляется с установленным атрибутом «A», его запись времени не обновляется.
  2. Если файл изменен с установленным атрибутом «S», изменения синхронно обновляются на диске.
  3. Файл имеет атрибут «a», его можно открыть только в режиме добавления для записи.
  4. Файл имеет атрибут «i», не может быть изменен (неизменяемый). Означает, что нельзя переименовывать, создавать символические ссылки, выполнять, запрещать запись, только суперпользователь может отменить установку атрибута.
  5. Файл с атрибутом «j» установлен, вся его информация обновляется в журнале ext3 перед обновлением в самом файле.
  6. Файл устанавливается с атрибутом t, без слияния хвостов.
  7. Файл с атрибутом «d» больше не будет кандидатом на резервное копирование при запуске процесса создания дампа.
  8. При удалении файла с атрибутом «u» его данные сохраняются. Это позволяет пользователю запросить его восстановление.
Оператор
  1. + : добавляет атрибут к существующему атрибуту файлов.
  2. – : удаляет атрибут существующего атрибута файлов.
  3. = : сохранить существующие атрибуты файлов.

Здесь мы собираемся продемонстрировать некоторые примеры команд chattr для установки/отмены атрибутов файла и папки.

1. Как добавить атрибуты к файлам для защиты от удаления

Для демонстрационных целей мы использовали папку demo и файл Important_file.conf соответственно. Перед настройкой атрибутов убедитесь, что существующие файлы имеют какие-либо атрибуты, установленные с помощью команды «ls -l». Вы видели результаты? В настоящее время атрибуты не установлены.

Чтобы установить атрибут, мы используем знак +, а для отмены — знак – с командой chattr. Итак, давайте установим неизменяемый бит для файлов с флагами +i, чтобы никто не мог удалить файл, даже если у пользователя root нет прав на его удаление.

Примечание. Неизменяемый бит +i может быть установлен только пользователем с правами суперпользователя (т. е. root) или пользователем с привилегиями sudo.

После установки неизменяемого бита давайте проверим атрибут с помощью команды «lsattr».

Теперь попытался принудительно удалить, переименовать или изменить разрешения, но это не разрешено, пишет «Операция не разрешена».

2. Как отключить атрибут в файлах

В приведенном выше примере мы видели, как установить атрибут для защиты и предотвращения случайного удаления файлов, здесь, в этом примере, мы увидим, как сбросить разрешения (сбросить атрибут) и сделать файлы изменяемыми или можно изменить с помощью флага -i.

После сброса разрешений проверьте неизменность файлов с помощью команды lsattr.

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

3. Как защитить файлы /etc/passwd и /etc/shadow

Установка неизменяемого атрибута для файлов /etc/passwd или /etc/shadow защищает их от случайного удаления или изменения, а также отключает создание учетной записи пользователя.

Теперь попробуйте создать нового системного пользователя, вы получите сообщение об ошибке «невозможно открыть /etc/passwd».

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

4. Добавить данные без изменения существующих данных в файле

Предположим, вы хотите только разрешить всем добавлять данные в файл без изменения или изменения уже введенных данных, вы можете использовать атрибут «a» следующим образом.

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

Теперь попробуйте заменить уже существующий контент в файле example.txt, вы получите сообщение об ошибке «Операция не разрешена».

Теперь попробуйте добавить новый контент в существующий файл example.txt и проверить его.

5. Как защитить каталоги

Чтобы защитить весь каталог и его файлы, мы используем переключатель ‘-R’ (рекурсивно) с флагом ‘+i‘ вместе с полным путем к папке.

После установки рекурсивного атрибута попробуйте удалить папку и ее файлы.

Чтобы отменить разрешение, мы используем тот же переключатель ‘-R’ (рекурсивно) с флагом ‘-i’ вместе с полным путем к папке.

Вот оно! Чтобы узнать больше об атрибутах, флагах и параметрах команды chattr, используйте справочные страницы.

Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

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

Настройки разрешений в нижней части информационного окна .

Назначить разрешения пользователям и группам

На Mac выберите диск, папку или файл, затем выберите «Файл» > «Информация».


Если информация в разделе «Общий доступ и разрешения» не отображается, нажмите стрелку .


Если замок в правом нижнем углу заблокирован , щелкните его, чтобы разблокировать параметры получения информации, а затем введите имя и пароль администратора.

Нажмите на пользователя или группу в столбце «Имя», затем выберите параметр привилегий во всплывающем меню.

Чтение и запись: позволяет пользователю открыть элемент и изменить его.

Только чтение. Позволяет пользователю открывать элемент, но не изменять его содержимое.

Только запись (Drop Box): Превращает папку в drop box. Пользователи могут копировать элементы в папку для сброса, но не могут ее открыть. Только владелец почтового ящика может открыть его.

Нет доступа: блокирует любой доступ к элементу.


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

Применить разрешения ко всем элементам в папке или на диске

На Mac выберите папку или диск, затем выберите «Файл» > «Информация».


Если замок в правом нижнем углу заблокирован , щелкните его, чтобы разблокировать параметры получения информации, а затем введите имя и пароль администратора.


Нажмите всплывающее меню «Действие» и выберите «Применить к вложенным элементам».

Изменить владельца элемента

На Mac выберите объект, затем выберите «Файл» > «Информация».


Если замок в правом нижнем углу заблокирован , щелкните его, чтобы разблокировать параметры получения информации, а затем введите имя и пароль администратора.


Если имя нового владельца не указано в столбце «Имя» в разделе «Общий доступ и разрешения», нажмите кнопку «Добавить», чтобы добавить нового владельца.


Выберите нового владельца в столбце «Имя», нажмите всплывающее меню «Действие» и выберите «Назначить __ владельцем».


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

Добавить или удалить пользователя или группу в столбце «Имя»

На Mac выберите объект, затем выберите «Файл» > «Информация».


Если замок в правом нижнем углу заблокирован , щелкните его, чтобы разблокировать параметры получения информации, а затем введите имя и пароль администратора.

В разделе «Общий доступ и разрешения» выполните любое из следующих действий:


Добавить пользователя или группу. Нажмите кнопку "Добавить" под списком, выберите пользователя или группу, затем нажмите "Выбрать".


Удалить пользователя или группу. Выберите пользователя или группу, затем нажмите кнопку «Удалить» под списком.


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

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

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

Содержание

Просмотр разрешений

Используйте параметр -l команды ls для просмотра разрешений (или файлового режима), установленных для содержимого каталога, например:

Первый столбец — это то, на чем мы должны сосредоточиться. На примере значения drwxrwxrwx+ значение каждого символа объясняется в следующих таблицах:

d rwx rwx rwx +
Тип файла, технически не являющийся частью его разрешений. См. info ls -n "Какая информация указана" для объяснения возможных значений. Разрешения, которые имеет владелец файла, поясняются ниже. Разрешения, которые Группа имеет доступ к файлу, как описано ниже. Разрешения, которые все остальные пользователи имеют для файла, как описано ниже. Один символ, указывающий, применяется ли альтернативный метод доступа к файлу. файл. Когда этот символ является пробелом, альтернативного метода доступа нет. А . указывает на файл с контекстом безопасности, но без другого альтернативного метода доступа. Файл с любой другой комбинацией альтернативных методов доступа помечается символом +, например, в случае списков контроля доступа.

Каждая из трех триад разрешений ( rwx в приведенном выше примере) может состоять из следующих символов:

< td style="text-align:center;">-
Символ Влияние на файлы Влияние на каталоги
Разрешение на чтение (первый символ) - Файл не может быть прочитан. Содержимое каталога не может быть показано.
r Файл можно прочитать. Может быть показано содержимое каталога.
Разрешение на запись (второй символ) Файл не может быть изменен. Содержимое каталога не может быть изменено.
w Файл можно изменить. Содержимое каталога можно изменить (создать новые файлы или папки, переименовать или удалить существующие файлы или папки); необходимо также установить разрешение на выполнение, иначе это разрешение не действует.
Разрешение на выполнение (третий символ ) - Файл не может быть выполнен. К каталогу нельзя получить доступ с помощью cd.
x Файл может быть выполнен. Доступ к каталогу можно получить с помощью cd; это единственный бит разрешения, который на практике можно считать «унаследованным» от каталогов-предков, фактически, если какая-либо папка в пути не имеет установленного бита x, конечный файл или папка к нему также нельзя получить доступ, независимо от его разрешений; см. path_resolution(7) для получения дополнительной информации.
s Бит setuid, когда находится в пользовательской триаде; бит setgid, если он находится в триаде группы; его нет в других триадах; это также подразумевает, что x установлен.
S То же, что и s , но х не установлен; редко встречается в обычных файлах и бесполезен в папках.
t Залипающий бит ; его можно найти только в триаде других; это также означает, что x установлен.
T То же, что и t , но х не установлен; редко в обычных файлах.

Подробнее см. информацию Coreutils -n "Структура режима" и chmod(1).

Примеры

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

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

У Арчи есть полный доступ, за исключением того, что он не может создавать, переименовывать и удалять любые файлы. Он может перечислить файлы и (если позволяет разрешение файла) может получить доступ к существующему файлу в Документах.

Арчи не может использовать 'ls' в Документах, но если он знает имя существующего файла, он может перечислить, переименовать, удалить или (если разрешение файла позволяет ему) получить к нему доступ. Также он умеет создавать новые файлы.

Арчи может (если разрешение файла позволяет ему) получить доступ только к тем файлам в Документах, о которых он знает. Он не может перечислить уже существующие файлы или создать, переименовать, удалить любой из них.

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

Давайте посмотрим на другой пример, на этот раз с файлом, а не с каталогом:

Здесь мы видим, что первая буква не d, а - . Итак, мы знаем, что это файл, а не каталог. Далее права владельца — rw, поэтому владелец имеет возможность читать и писать, но не выполнять. Это может показаться странным, что владелец не имеет всех трех разрешений, но разрешение x не требуется, так как это текстовый файл/файл данных, который может быть прочитан текстовым редактором, таким как Gedit, EMACS, или программным обеспечением, таким как R, а не исполняемый файл сам по себе (если бы он содержал что-то вроде кода программирования Python, тогда это вполне могло бы быть). Разрешения группы установлены на r-- , поэтому у группы есть возможность читать файл, но не записывать/редактировать его каким-либо образом — по сути, это похоже на настройку чего-либо только для чтения. Мы видим, что те же разрешения применяются и ко всем остальным.

Изменение разрешений

chmod — это команда в Linux и других Unix-подобных операционных системах, которая позволяет изменитьразрешения (или получить доступ к mode) файла или каталога.< /p>

Текстовый метод

Где кто — любая из букв, каждая из которых означает, кому дается разрешение. Они следующие:

  • u : пользователь, которому принадлежит файл.
  • g : группа пользователей, к которой принадлежит файл.
  • o : другие пользователи, то есть все остальные.
  • a : все вышеперечисленное; используйте это вместо ввода ugo .

Теперь взгляните на несколько примеров использования этой команды. Предположим, вы стали очень бережно относиться к каталогу «Документы» и хотите запретить всем, кроме себя, права на чтение, запись и выполнение (или, в данном случае, поиск/просмотр) в нем:

После: drwx------ 6 пользователей archie 4096 6 июля 17:32 Документы

Здесь, поскольку вы хотите запретить разрешения, вы не ставите никаких букв после знака =, где будут вводиться разрешения. Теперь вы можете видеть, что только разрешения владельца - rwx, а все остальные разрешения - .

Это можно отменить с помощью:

После: drwxr-xr-x 6 пользователей archie 4096 6 июля 17:32 Документы

В следующем примере вы хотите предоставить разрешения на чтение и выполнение группе и другим пользователям, поэтому вы помещаете буквы разрешений ( r и x ) после = без пробелов.

Вы можете упростить это, поместив более одной буквы who в одну и ту же команду, например:

Примечание. Неважно, в каком порядке вы размещаете буквы who или буквы разрешений в команде chmod: вы можете указать chmod go=rx file или chmod og=xr file . Все то же самое.

Теперь давайте рассмотрим второй пример. Предположим, вы хотите изменить файл foobar, чтобы у вас были права на чтение и запись, а другие пользователи в группе, которые могут быть коллегами, работающими над foobar, также могли читать и писать в него. , но другие пользователи могут только читать его:

После: -rw-rw-r-- 1 archie users 5120 27 июня 08:28 foobar

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

Сочетания клавиш для текстовых методов

Команда chmod позволяет добавлять и удалять разрешения из существующего набора, используя + или - вместо = . Это отличается от приведенных выше команд, которые существенно переписывают разрешения (например, чтобы изменить разрешение с r-- на rw-, вам все равно нужно включить r и w после = в chmod вызов команды. Если вы пропустили r , это лишило бы разрешения r, так как они перезаписываются с помощью = . Использование + и - позволяет избежать этого, добавляя или удаляя из current набор разрешений).

Давайте попробуем этот метод + и - с предыдущим примером добавления разрешений на запись в группу:

После: -rw-rw-r-- 1 archie users 5120 27 июня 08:28 foobar

Еще один пример, запрет на запись для всех (a):

После: -r--r--r-- 1 archie users 5120 27 июня 08:28 foobar

Другим ярлыком является специальный режим X: это не фактический файловый режим, но он часто используется в сочетании с параметром -R, чтобы установить исполняемый бит только для каталогов и оставить его без изменений для обычных файлов, для пример:

Копирование разрешений

Можно сказать chmod скопировать разрешения из одного класса, скажем, владельца, и дать те же самые разрешения группе или даже всем. Для этого вместо того, чтобы ставить r , w или x после = , поставьте другую букву who. например:

После: -rw-rw-r-- 1 archie users 5120 27 июня 08:28 foobar

Эта команда по существу переводится как «изменить разрешения группы ( g= ), чтобы они были такими же, как у пользователя-владельца ( =u ). Обратите внимание, что вы не можете копировать набор разрешений, а также предоставлять новые, например: < /p>

В этом случае chmod выдаст ошибку.

Числовой метод

chmod также может устанавливать разрешения с помощью чисел.

Использование чисел — это еще один метод, который позволяет одновременно редактировать разрешения для всех трех владельцев, групп и других пользователей, а также биты setuid, setgid и sticky. Эта базовая структура кода такова:

Где xxx — это трехзначное число, где каждая цифра может быть любой от 0 до 7. Первая цифра относится к разрешениям для владельца, вторая цифра — к разрешениям для группы, а третья цифра — к разрешениям для всех остальных. .

В этом числовом обозначении значения r , w и x имеют собственное числовое значение:

Чтобы придумать трехзначное число, вам нужно решить, какие разрешения должны быть у владельца, группы и всех остальных, а затем просуммировать их значения. Например, если вы хотите предоставить владельцу каталога права на чтение, запись и выполнение, а также хотите, чтобы группа и все остальные имели права только на чтение и выполнение, вы должны придумать числовые значения следующим образом:

  • Владелец: rwx =4+2+1=7
  • Группа: r-x =4+0+1=5
  • Другое: r-x =4+0+1=5

Это эквивалент использования следующего:

Чтобы просмотреть существующие права доступа к файлу или каталогу в числовой форме, используйте команду stat(1):

Где параметр %a указывает вывод в числовой форме.

Для большинства папок и каталогов установлено значение 755, чтобы разрешить чтение, запись и выполнение для владельца, но запретить запись для всех остальных, а файлы обычно имеют значение 644, чтобы разрешить чтение и запись для владельца, но только чтение для всех остальных; обратитесь к последнему примечанию об отсутствии разрешений x с неисполняемыми файлами: здесь то же самое.

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

После: -rw-rw-r-- 1 archie users 5120 27 июня 08:28 foobar

Если бы это был исполняемый файл, число было бы 774, если вы хотите предоставить разрешение на выполнение владельцу и группе. В качестве альтернативы, если вы хотите, чтобы у всех было только разрешение на чтение, номер будет 444 . Обработка r как 4, w как 2 и x как 1, вероятно, самый простой способ определить числовые значения для использования chmod xxx filename , но есть также двоичный метод, в котором каждое разрешение имеет двоичное число, которое, в свою очередь, преобразуется в число. Это немного более запутанно, но здесь включено для полноты картины.

Рассмотрите этот набор разрешений:

Если поставить 1 для каждого предоставленного разрешения и 0 для каждого непредоставленного, результат будет примерно таким:

Затем вы можете преобразовать эти двоичные числа:

Значение приведенного выше значения, таким образом, будет 775.

Представьте, что мы хотели удалить разрешение на запись для группы:

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

Вы также можете использовать числовой метод для установки битов setuid , setgid и sticky, используя четыре цифры.

Например, chmod 2777 filename установит биты чтения/записи/исполняемого файла для всех, а также активирует бит setgid.

Массовый chmod

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

Для chmod только каталогов до 755:

Для chmod только файлы до 644:

Смена владельца

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

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

Как видите, устройство в /dev принадлежит пользователю root, как и место монтирования ( /media/Backup ). Чтобы изменить владельца места монтирования, можно сделать следующее:

После: drwxr-xr-x 5 archie root 4096 6 июля 16:01 Резервное копирование

Теперь новый владелец, Арчи, может записывать в раздел данные без изменения разрешений (поскольку триада владельцев уже имела разрешения rwx).

  • chown всегда очищает биты setuid и setgid.
  • Пользователи без полномочий root не могут использовать chown для «отдачи» принадлежащих им файлов другому пользователю.

Списки контроля доступа

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

Скрыть маску

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

Атрибуты файла

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

Пакет e2fsprogs содержит программы lsattr(1) и chattr(1), которые выводят и изменяют атрибуты файла соответственно.

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

  • a — только добавление: файл можно открыть только для добавления.
  • c – сжатый: включите сжатие файла на уровне файловой системы.
  • i — неизменяемый: нельзя изменить, удалить, переименовать, связать. Может быть установлен только пользователем root.
  • j — ведение журнала данных. Используйте журнал для записи файловых данных, а также метаданных.
  • m — без сжатия: отключить сжатие файла на уровне файловой системы.
  • A – без обновления времени: время файла не будет изменено.
  • C – без копирования при записи: отключите копирование при записи для файловых систем, которые его поддерживают.

Полный список атрибутов и дополнительную информацию о том, что делает каждый атрибут, см. в chattr(1).

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

Чтобы удалить атрибут файла, просто замените + на - .

Расширенные атрибуты

Из xattr(7): «Расширенные атрибуты — это пары имя:значение, постоянно связанные с файлами и каталогами». Существует четыре расширенных класса атрибутов: безопасность, система, доверенные и пользовательские.

Расширенные атрибуты также используются для установки возможностей.

Расширенные атрибуты пользователя

Расширенные пользовательские атрибуты можно использовать для хранения произвольной информации о файле. Чтобы создать его:

Используйте getfattr для отображения расширенных атрибутов:

Наконец, чтобы удалить расширенный атрибут:

Сохранение расширенных атрибутов

Чтобы сохранить расширенные атрибуты в текстовых редакторах, вам нужно настроить их на усечение файлов при сохранении вместо использования rename(2) .[1]

Советы и рекомендации

Сохранить корень

Используйте флаг --preserve-root, чтобы предотвратить рекурсивное действие chmod на / . Это может, например, помешать удалить исполняемый бит в масштабе всей системы и, таким образом, сломать систему. Чтобы использовать этот флаг каждый раз, установите его в псевдониме. См. также [2].

Читайте также: