Unix dosya izinlerinde “@” ne anlama geliyor?


49

MacBook Pro'muzda aşağıdaki izinlere sahip bir dosyam var:

-rwxr-xr-x@ 1 root wheel 101K Feb 29 17:09 apachectl

@Stand ne anlama geliyor ? Dosyayı çalıştıramıyorum ve bu bana duran tek şey. Ondan nasıl kurtulabilirim?

Bazı arka planlar gibi, bunu Time Machine yedeğinden kopyaladım.

Yanıtlar:


35

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 lsOS X:

-@      Display extended attribute keys and sizes in long (-l) output.

xattrProgram 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 

22

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.
  • Eğer hem niteliğiniz hem de ACL'niz varsa göreceksiniz @.

ls -le filenameAyarlanmış 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 filenameiçin bir dosya veya echo | sudo chmod -R -E directory namedizin için çalıştırın .

Bkz chmod adam sayfasını .


cevap için teşekkürler. ondan nasıl kurtulabilirim?
VinnyD

Çalışması gerektiğine inandığım bir cevapla güncellendi.
Zoredache

@ Zedadache ACL izinleri bir artı işareti ile birlikte gelir. @ "Genişletilmiş öznitelikler" dir.

Evet, kontrol ettiğimde bunu görüyorum. Geriye hatırlamış olmalıyım. Ve bir dosya her ikisine de sahip olduğunda ne olur?
Zoredache

Boşver, bir mac açtım. Bir varsa @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.
Zoredache

8

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

OP ayrıca “@ ne anlama geliyor?”
Kamafeather

3

@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.


0

Kullanırken bile -Eya -Nda aslında görünmez olduğunu buldum sudo. Düzeltebilmemin tek yolu root olarak giriş yapmaktı.


Bu bir cevap değil. Bahsettiğiniz cevaba muhtemelen bir yorum olmalıdır.
Kamafeather
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.