Відповіді:
Атрибути, якими обробляється lsattr
/ chattr
в Linux, а деякі з них можуть зберігатися у небагатьох файлових системах (ext2 / 3/4, reiserfs, JFS, OCFS2, btrfs, XFS, nilfs2, hfsplus ...) і навіть запитуватися через CIFS / SMB (коли з розширеннями POSIX) - це прапори. Тільки біти, ніж можна включити або вимкнути, щоб відключити або включити атрибут (наприклад, незмінний або архівний ...). Як вони зберігаються, залежить від файлової системи, але, як правило, 16/32/64 бітовий запис у inode.
Повний список прапорів знаходиться в нативних файлових системах Linux (ext2 / 3/4, btrfs ...), хоча не всі прапори застосовуються до всіх FS, а для інших, що не належать до FS, Linux намагається відзначити їх еквівалентом функції у відповідній файловій системі. Наприклад, імітаційний прапор, який зберігається OSX у файлових системах HFS +, відображається у відповідному незмінному прапорі в Linux chattr
. Який прапор підтримується якою файловою системою, майже не підтверджено. Часто читання вихідного коду ядра є єдиним варіантом.
З іншого боку, розширені атрибути, встановлені з Linux setfattr
або attr
зберігають більше, ніж прапорів. Вони також додаються до файлу і являють собою пари ключів / значень, які можуть бути (як ключовими, так і значеннями) довільними масивами байтів (хоча з обмеженням розміру в деяких файлових системах).
Ключ може бути, наприклад: system.posix_acl_access
або user.rsync.%stat
. system
Площа зарезервована для системи (не змінить POSIX ACL , з setfattr
, але більше з setfacl
, POSIX ACL - списки просто трапляється бути збережені як розширені атрибути , по крайней мере на деяких файлових системах), в той час як user
простір імен може використовуватися додатками (тут rsync
використовує його для своєї --fake-super
опції, щоб зберігати інформацію про право власності чи дозволи, коли ви не є суперпользователем).
Знову ж таки, те, як вони зберігаються, залежить від файлової системи. Для отримання додаткової інформації див. WikiPedia .
lsattr
/ chattr
працювати для нефайлових ext
систем? Якщо ні, як би ви змінили прапори на несистемних ext
системах в Linux? Також на attr
сторінці man пише, що вона написана для XFS (навіть якщо вона працює для мене ext4
). Я фактично провів довгий час, розглядаючи це вчора, хорошої інформації важко прийти. Будь ласка, дивіться - unix.stackexchange.com/questions/118840/…
lsattr/chattr
призначені для прапорів файлів. Не всі прапори підтримуються всіма файловими системами, наприклад, деякі з них, як стиснення, не працюватимуть на ext4, але працюватимуть на btrfs.
reiserfs
.
Все було порушено. inode
Коли ви змінюєте файл, ви дійсно змінюєте його. Для створення inode
сценаріїв ви добре володієте командою:
stat --format=%a yourfile
Ви можете використовувати %variable
та повертати корисне зinode
Але ваша відповідь:
xattr
є на MacOS та chattr
на linux box.
attr
команда призначена для файлових систем XFS, еквівалентною командною файловою системою є незалежна командаsetfattr