Yanıtlar:
Linux tarafından lsattr
/ chattr
Linux tarafından yönetilen ve bazıları oldukça az dosya sistemi (ext2 / 3/4, reiserfs, JFS, OCFS2, btrfs, XFS, nilfs2, hfsplus ...) tarafından saklanabilen ve hatta CIFS üzerinden sorgulanabilen öznitelikler / SMB (POSIX uzantılarındayken) bayraklardır. Bir özniteliği devre dışı bırakmak veya etkinleştirmek için ( değiştirilemez veya arşiv gibi ...) açılabilir veya kapatılabilen bitler . Nasıl saklandıkları dosya sistemine özgüdür, ancak genellikle inode'da 16/32/64 bit kayıt olarak bulunur.
Bayrakların tam listesi Linux yerel dosya sistemlerinde (ext2 / 3/4, btrfs ...) bulunur, ancak tüm bayraklar tüm FS için geçerli değildir ve diğer yerel olmayan FS için Linux bunları eşdeğer olarak eşlemeye çalışır ilgili dosya sistemindeki özellikler. Örneğin , OSX tarafından HFS + dosya sistemlerinde saklanan benzeşebilir bayrak Linux'ta karşılık gelen değişmez bayrağa eşlenir chattr
. Hangi bayrak sistemi hiç bir şekilde belgelenmemektedir. Çoğu zaman, çekirdek kaynak kodunu okumak tek seçenektir.
Genişletilmiş öznitelikler ise Linux ile setfattr
veya attr
Linux'ta ayarlandığı gibi bayraklardan daha fazlasını depolar. Bir dosyaya da eklenirler ve (hem anahtar hem de değer) rastgele bayt dizileri olabilen anahtar / değer çiftleridir (ancak bazı dosya sistemlerinde boyut sınırlaması olsa da).
Anahtar örneğin: system.posix_acl_access
veya olabilir user.rsync.%stat
. system
Ad (Birlikte POSIX ACL değiştirmek olmaz sistem için ayrılmıştır setfattr
, ancak daha fazla olan setfacl
POSIX ACL sadece bazı dosya sistemleri üzerinde en az genişletilmiş özellikler olarak depolanacak olur,) ise, user
ad uygulamalar tarafından kullanılabilecek burada ( rsync
bunu --fake-super
süper kullanıcı olmadığınızda sahiplik veya izinlerle ilgili bilgileri depolamak için kullanır ).
Yine, nasıl saklandıkları dosya sistemine özeldir. Daha fazla bilgi için WikiPedia'ya bakın .
lsattr
/ chattr
olmayan için çalışma ext
dosya sistemleri? Değilse ext
Linux'ta olmayan sistemlerde bayrakları nasıl değiştirirdiniz ? Ayrıca attr
man sayfası XFS için yazıldığını söylüyor (benim için çalışmasına rağmen ext4
). Aslında bunu incelemek için uzun zaman geçirdim, iyi bilgiler bulmak zor. Lütfen bakınız - unix.stackexchange.com/questions/118840/…
lsattr/chattr
dosya bayrakları içindir. Tüm bayraklar tüm dosya sistemleri tarafından desteklenmez, örneğin sıkıştırma gibi bazıları ext4 üzerinde çalışmaz ancak btrfs üzerinde çalışır.
reiserfs
.
Her şey içinde stroed edilmiştir inode
Eğer gerçekten onun değiştirmek, bir dosyayı değiştirmek .her inode
Eğer iyi bir komut var İçerir komut:
stat --format=%a yourfile
Şuradan %variable
yararlı bir ürünü kullanabilirsiniz :inode
Ama cevabınız:
xattr
MacOS'ta ve chattr
linux kutusunda.
attr
komut XFS dosya sistemleri için tasarlanmıştır, eşdeğer dosya sistemi bağımsız komutsetfattr