Jawaban:
Atribut yang ditangani oleh lsattr
/ chattr
di Linux dan beberapa di antaranya dapat disimpan oleh beberapa sistem file (ext2 / 3/4, reiserfs, JFS, OCFS2, btrfs, XFS, nilfs2, hfsplus ...) dan bahkan dipertanyakan melalui CIFS / SMB (ketika dengan ekstensi POSIX) adalah flag. Hanya bit yang dapat dinyalakan atau dimatikan untuk menonaktifkan atau mengaktifkan atribut (seperti yang tidak dapat diubah atau arsip ...). Bagaimana mereka disimpan adalah sistem file khusus, tetapi umumnya sebagai catatan 16/32/64 bit dalam inode.
Daftar lengkap flag terdapat pada sistem file asli Linux (ext2 / 3/4, btrfs ...) meskipun tidak semua flag berlaku untuk semua FS, dan untuk FS non-pribumi lainnya, Linux mencoba memetakannya ke yang setara fitur dalam sistem file yang sesuai. Misalnya flag simmutable yang disimpan oleh OSX pada sistem file HFS + dipetakan ke flag immutable yang sesuai di Linux chattr
. Bendera apa yang didukung oleh sistem file apa yang sulit didokumentasikan sama sekali. Seringkali, membaca kode sumber kernel adalah satu-satunya pilihan.
Atribut yang diperluas di sisi lain, sebagaimana diatur dengan setfattr
atau attr
di Linux menyimpan lebih dari flag. Mereka juga dilampirkan ke file, dan merupakan pasangan kunci / nilai yang dapat (baik kunci dan nilai) array byte yang sewenang-wenang (meskipun dengan batasan ukuran pada beberapa sistem file).
Kuncinya dapat misalnya: system.posix_acl_access
atau user.rsync.%stat
. The system
namespace dicadangkan untuk sistem (Anda tidak akan mengubah POSIX ACL dengan setfattr
, tetapi lebih banyak dengan setfacl
, POSIX ACL hanya terjadi untuk disimpan sebagai atribut diperpanjang setidaknya pada beberapa sistem file), sedangkan user
namespace dapat digunakan oleh aplikasi (di sini rsync
menggunakannya untuk --fake-super
opsinya, untuk menyimpan informasi tentang kepemilikan atau izin ketika Anda bukan pengguna super).
Sekali lagi, bagaimana mereka disimpan adalah sistem file yang spesifik. Lihat WikiPedia untuk informasi lebih lanjut .
lsattr
/ chattr
bekerja untuk ext
sistem file non ? Jika tidak, bagaimana Anda akan mengubah tanda di non ext
sistem di Linux? Juga attr
halaman manual mengatakan bahwa ini ditulis untuk XFS (meskipun berfungsi untuk saya ext4
). Saya benar-benar menghabiskan waktu lama melihat ini kemarin, informasi yang baik sulit didapat. Silakan lihat - unix.stackexchange.com/questions/118840/...
lsattr/chattr
adalah untuk flag file. Tidak semua flag didukung oleh semua sistem file, misalnya, beberapa dari mereka seperti kompresi tidak akan berfungsi pada ext4 tetapi akan bekerja pada btrfs.
reiserfs
.
Semuanya telah di-stroed inode
. Ketika Anda mengubah file, memang Anda mengubah. Untuk inode
skrip Anda memiliki perintah yang baik:
stat --format=%a yourfile
Anda dapat menggunakan %variable
dan mengembalikan yang bermanfaat dariinode
Tapi jawaban Anda:
xattr
ada di MacOS dan chattr
di kotak linux.
attr
perintah ini ditujukan untuk sistem file XFS, perintah independen sistem file yang setara adalahsetfattr