Шукати в цьому блозі

пʼятницю, 28 вересня 2012 р.

Дополнительные атрибуты

Для начала небольшой примерчик:
root@terminal:/tmp# touch text.txt
root@terminal:/tmp# ls -l text.txt 
-rw-r--r-- 1 root root 0 2012-09-28 18:41 text.txt
root@terminal:/tmp# lsattr text.txt 
-----------------e- text.txt
Теперь о том, что всё это значит.
Через команду chattr можно добавить и удалить дополнительные атрибуты. Какие же они бывают?

Usage: chattr [-RVf] [-+=AacDdeijsSu] [-v version] files...
  • i: Файл с установленным атрибутом 'i' становится полностью не модифицируемым (недосягаемым): он не может быть удален или переименован, никакие ссылки не могут быть созданы на этот файл и никакие данные не могут быть записаны в него. Только суперпользователь или процесс, обладающий возможностью CAP_LINUX_IMMUTABLE может установить или очистить такой атрибут.
    root@terminal:/tmp# chattr +i text.txt 
    root@terminal:/tmp# lsattr text.txt 
    ----i------------e- text.txt
    root@terminal:/tmp# echo test >> text.txt 
    bash: text.txt: Отказано в доступе
    root@terminal:/tmp# chattr -i text.txt 
    root@terminal:/tmp# echo test >> text.txt 
  • j: Для файла с установленным атрибутом 'j' все его данные прежде, чем быть записанными непосредственно в файл, сохраняются в журнал, правда, это происходит в том случае, если файловая система смонтирована с опциями "data=ordered" или "data=writeback". Когда файловая система смонтирована с опцией "data=journal" все данные файла уже журналируются и этот атрибут не имеет никакого эффекта. Только суперпользователь или процесс, обладающий возможностью CAP_SYS_RESOURCE, может установить или очистить этот атрибут.
  • s: при удалении файла с установленным атрибутом 's' выполняется обнуление его блоков и запись их обратно на диск.
  • S: модифицируя файл с атрибутом `S', внесенные изменения синхронно записываются на диск; использование этого атрибута эквивалентно применению опции монтирования `sync' к подмножеству расположенных файлов.
  • u: при удалении файла с атрибутом 'u', его содержимое сохраняется (остается не тронутым) на диске. Это позволяет пользователю в последующем восстановить такой файл.
  • d: указывает на то, что не нужно делать резервные копии файла. Файл будет проигнорирован командой dump.
  • а: указывает, что в файл можно добавлять информацию, но нельзя удалять.
  • A: не обновлять время доступа к объекту. Теоретически установка этого атрибута должна повысить производительность файловой системы и соответственно системы в целом.
  • c: файл использующий этот атрибут автоматически сжимается ядром при записи на диск. При чтении с диска он автоматически будет распакован.
  • D: при изменении директории с установленным флагом все изменения синхронно записываются на диск.

Дополнительно можно почитать тут https://rstcenter.com/forum/35191-advanced-file-permissions-extended-attributes.rst

Немає коментарів: