Getfacl neden baştaki / mutlak yol adlarından çıkarır?


10

CentOS / Red Hat 6 için ACL'leri öğrenmenin ortasındayım; getfaclmutlak bir yol kullanarak çalıştırmak , ben çıktı arasında olsun:

getfacl: Baştaki '/' karakterini mutlak yol adlarından kaldırma

Bunu neden yapması gerekiyor? Hangi durumlarda -pveya --absolute-namesanahtarını kullanmanız gerekir ?

Wale Soyinka ve Michael Jang'ın kitaplarım bundan bile geçmiyor, man sayfasında hiçbir ipucu görmüyorum ve bu uyarıyı doğrudan ele alan herhangi bir site bulamıyorum.



İçine bakmama ve bağlantı için bana yardım ettiğin için teşekkürler. Programlama becerilerim şu anda biraz ilkel, ancak Gaddis kitabımla C / C ++ ile uğraşmaya başladığımda dosyayı kurtardım.
Seananigans

Yanıtlar:


6

Man sayfasından getfacl:

-p, --absolute-names
       Do not strip leading slash characters (`/'). The  default  behavior
       is to strip leading slash characters.

-pAnahtar kullanmadan mutlak yol sağladığınızda bir uyarı mesajı verilir .

getfaclKomuta mutlak yol verildiğinde çıkışlar farklıdır .

Anahtarsız -p:

$ getfacl /path/foo/bar
getfacl: Removing leading '/' from absolute path names
# file: path/foo/bar
[Output truncated...]

Dosya yolundaki eğik çizginin yalnızca -panahtar kullanıldığında gösterildiğine dikkat edin.

$ getfacl -p /path/foo/bar
# file: /path/foo/bar
[Output truncated...]

-p daha fazla işlem için çıkış borusu oluşturduğunuzda önde gelen eğik çizgiyi korumak için kullanışlıdır.

getfaclKomuta göreli yol verildiğinde çıkışlar aynıdır .

$ getfacl bar
# file: bar
[Output truncated...]

Değişiklik yok:

$ getfacl -p bar
# file: bar
[Output truncated...]

Beni affedin, Linux'a nispeten yeniyim, ancak bu oldukça gereksiz bir anahtar gibi görünüyor, çünkü çıktıyı başka bir programa bağlarsanız, ilk başta çıkışın o bölümünü kapmak için akışı yine de düzenlemeniz gerekir yer, doğru muyum? Önde gelen eğik çizgiyi kaldırmanın yararlı olacağı örnek bir durum ne olabilir? Mutlak bir yol olduğu için, ilk etapta onu soymak biraz saçma görünüyor.
Seananigans

2
Diğer dağıtımlarda (örn. FreeBSD) bu anahtar mevcut değildir. RHEL acl paketinin kaynağını görüntüleyerek, --absolute-namesyalnızca "# file:" çıktı dizesiyle ilgileniyor, ancak arkasındaki mantığı değil. İlk başta bir güvenlik özelliği olabilir sanırım. Bununla birlikte, anahtar mevcut değildir setfacl. Son varsayımım, yazarın tar, -panahtarın kullanımının getfaclyararsız olmasına rağmen davranışı simüle etmek istemesidir.
Ivan Chau

9
Bu nedenini cevaplamıyor. Neden önde gelen eğik çizgiler varsayılan olarak soyulur, bu nasıl yardımcı olur ??
Segfault
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.