Yanıtlar:
Dosya veya dizin genişletilmiş özniteliklere sahipse, izinler alanında bir @ görürsünüz. Genişletilmiş güvenlik bilgileri (ACL'ler) için bir + göreceksiniz.
Gönderen man ls
OS X:
-@ Display extended attribute keys and sizes in long (-l) output.
xattr
Program görüntülemek ve genişletilmiş özelliklerini işlemek için kullanılabilir. Yine de bu özellikleri silerken gitmeye karar vermeden önce orada neler olduğuna bir bakın. Kesinlikle xattr için man sayfasına da hızlıca göz atın.
Referans olarak sakladığım bazı örnek PHP uzlaşma kodlarından hızlı bir örnek:
$ ls -@l php-compromise.php
-rw-r--r--@ 1 user group 502620 Jul 5 2011 php-compromise.php
com.apple.FinderInfo 32
com.apple.TextEncoding 15
Düzeltme için @Jeff'e teşekkürler. Bayanları hatırladım.
@
Bir genişletilmiş özellik ayarlanır ile görüntülenir+
ACL için görüntülenir.@
.ls -le filename
Ayarlanmış herhangi bir ACL olup olmadığını görmek için komutu çalıştırın .
Sorununuz dosyaya erişirken göründüğü için, uzun bir özelliğe ek olarak bir ACL ayarınız olduğuna bahse girerim.
Bir ACL'den kurtulmak echo | sudo chmod -E filename
için bir dosya veya echo | sudo chmod -R -E directory name
dizin için çalıştırın .
Bkz chmod adam sayfasını .
@
genişletilmiş özellik ve +
acl'ler seti, ls bir gösterecektir anlaşılmaktadır @
. Bir dosyaya erişmekte sorun yaşadığı için, bana problemin ACL ile ilgili bir problemi olması ihtimali daha muhtemel görünüyor.
Elma karantina özelliği ile, chmod kaldırmak için yeterli değil.
Özelliği açıkça kaldırmanız gerekir:
sudo xattr -d com.apple.quarantine my_file
@
Standart unix dosya izinlere ek olarak, genişletilmiş özellikler için duruyor.
Genişletilmiş özellikleri kontrol edin:
ls -l@
Tek bir dosya için tüm genişletilmiş öznitelikleri sıfırla:
sudo xattr -c <filepath>
Tüm genişletilmiş öznitelikleri yinelemeli olarak sıfırla:
sudo xattr -rc <directory>
sudo chmod -R -N <directory>
MacOS Yüksek Sierra (10.13) ve macOS Mojave (10.14.6) 'da kontrol edildi.
Kullanırken bile -E
ya -N
da aslında görünmez olduğunu buldum sudo
. Düzeltebilmemin tek yolu root olarak giriş yapmaktı.