Làm cách nào để có được kết xuất của tất cả các thuộc tính mở rộng cho một tệp?


15

Getfattr kết xuất một danh sách các thuộc tính mở rộng cho một tệp đã chọn.

Tuy nhiên, getfattr --dump filename chỉ đến bãi các user.*không gian tên và không phải là security.*, system.*trusted.*không gian tên. Nói chung, không có thuộc tính không gian tên người dùng trừ khi bạn đính kèm một tệp theo cách thủ công.

Có, tôi biết tôi có thể lấy thông tin TỰ ĐỘNG bằng cách sử dụng getfattr -n security.selinux filename. Trong trường hợp này, tôi biết nhận dạng cụ thể của thuộc tính mở rộng.

Tôi đã thử điều này như là người dùng root. Tôi cho rằng người dùng root có đầy đủ khả năng có thể truy cập thông tin này. Nhưng bạn chỉ nhận được người dùng. * Không gian tên.

Câu hỏi là làm thế nào tôi có thể dễ dàng nhận được một bãi chứa đầy đủ tất cả các không gian tên thuộc tính mở rộng của một tệp mà không biết tên của tất cả các khóa trong tất cả các không gian tên?


và "lsattr" không đủ? (xem "man chattr" để giải mã chuỗi thuộc tính dài)
Theophrastus

Câu trả lời:


12

Tôi ghét phải làm điều này nhưng câu trả lời là (sau khi nghiên cứu thêm):

 getfattr -d -m - file

Tôi dường như đã bỏ lỡ điều này khi đọc trang của người đàn ông :

-m mẫu , --match = mẫu

   Chỉ bao gồm các thuộc tính với tên khớp với mẫu biểu thức chính quy . [...] Chỉ định "-" để bao gồm tất cả các thuộc tính.


Tôi đã sử dụng getfattr -d -m '' filecho điều đó, tôi không biết đó -là một trường hợp đặc biệt, nhưng có vẻ như nó đã từng như vậy kể từ khi tính năng được thêm vào (ban đầu là -rtùy chọn). Một sự xấu hổ. Người ta cần sử dụng -m '[-]'để tìm kiếm các thuộc tính có chứa -.
Stéphane Chazelas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.