GETFACL(1) Access Control Lists GETFACL(1)

getfacl - دریافت لیستهای کنترل دسترسی فایل

getfacl [-aceEsRLPtpndvh] فایل ...

getfacl [-aceEsRLPtpndvh] -

برای هر فایل، getfacl نام فایل، مالک، گروه و لیست کنترل دسترسی (ACL) را نمایش می‌دهد. اگر یک دایرکتوری دارای یک ACL پیش‌فرض باشد، getfacl همچنین ACL پیش‌فرض را نمایش می‌دهد. اشیایی غیر از دایرکتوری‌ها نمی‌توانند دارای ACL پیش‌فرض باشند.

اگر getfacl روی یک سیستم‌فایل استفاده شود که از ACLها پشتیبانی نمی‌کند، getfacl مجوزهای دسترسی تعریف‌شده توسط بیت‌های سنتی حالت مجوز فایل را نمایش می‌دهد.

قالب خروجی getfacl به صورت زیر است:

 1:  # file: somedir/
 2:  # owner: lisa
 3:  # group: staff
 4:  # flags: -s-
 5:  user::rwx
 6:  user:joe:rwx               #effective:r-x
 7:  group::rwx                 #effective:r-x
 8:  group:cool:r-x
 9:  mask::r-x
10:  other::r-x
11:  default:user::rwx
12:  default:user:joe:rwx       #effective:r-x
13:  default:group::r-x
14:  default:mask::r-x
15:  default:other::---

سطرهای ۱ تا ۳ نام فایل، مالک و گروه مالک را نشان می‌دهند.

سطر ۴ بیت‌های setuid (s)، setgid (s) و چسبنده (sticky (t)) را نشان می‌دهد: یا حرف نشان‌دهنده بیت، یا یک خط تیره (-). این سطر در صورتی گنجانده می‌شود که هر یک از این بیت‌ها تنظیم شده باشند و در غیر این صورت حذف می‌شود، بنابراین برای بیشتر فایل‌ها نمایش داده نخواهد شد. (بخش سازگاری با پیش‌نویس استاندارد ۱۷ POSIX 1003.1e در ادامه را ببینید.)

سطرهای ۵، ۷ و ۱۰ با فیلدهای کاربر (user)، گروه (group) و دیگران (other) از بیت‌های حالت مجوز فایل مطابقت دارند. این سه مورد، مدخل‌های پایه ACL نامیده می‌شوند. سطرهای ۶ و ۸ مدخل‌های کاربر مشخص‌شده (named user) و گروه مشخص‌شده (named group) هستند. سطر ۹ ماسک حقوق موثر (effective rights mask) است. این مدخل حقوق موثر اعطاشده به تمام گروه‌ها و کاربران مشخص‌شده را محدود می‌کند. (مجوزهای مالک فایل و دیگران تحت تأثیر ماسک حقوق موثر قرار نمی‌گیرند؛ تمام مدخل‌های دیگر تحت تأثیر قرار می‌گیرند.) سطرهای ۱۱ تا ۱۵ ACL پیش‌فرض مرتبط با این دایرکتوری را نمایش می‌دهند. دایرکتوری‌ها می‌توانند دارای یک ACL پیش‌فرض باشند. فایل‌های معمولی هرگز دارای ACL پیش‌فرض نیستند.

رفتار پیش‌فرض getfacl نمایش هر دو ACL دسترسی و ACL پیش‌فرض است، و همچنین درج یک توضیح برای حقوق موثر در سطرهایی که در آن‌ها حقوق مدخل با حقوق موثر تفاوت دارد.

اگر خروجی به یک ترمینال ارسال شود، توضیح حقوق موثر در ستون ۴۰ تراز می‌شود. در غیر این صورت، یک نویسه تب (tab) تک، مدخل ACL و توضیح حقوق موثر را از هم جدا می‌کند.

لیست‌های ACL مربوط به چندین فایل با خطوط خالی از هم جدا می‌شوند. خروجی getfacl همچنین می‌تواند به عنوان ورودی برای setfacl استفاده شود.

فرایندهایی که دسترسی جستجو به یک فایل را دارند (یعنی فرایندهایی که دسترسی خواندن به دایرکتوری حاوی آن فایل را دارند) همچنین دسترسی خواندن به ACLهای فایل را نیز دریافت می‌کنند. این مشابه با دسترسی‌های مورد نیاز برای دسترسی به حالت فایل (file mode) است.

نمایش لیست کنترل دسترسی فایل.
نمایش لیست کنترل دسترسی پیش‌فرض.
عدم نمایش سربرگ توضیحات (سه سطر اول خروجی هر فایل).
چاپ تمام توضیحات حقوق موثر، حتی اگر با حقوق تعریف‌شده توسط مدخل ACL یکسان باشد.
عدم چاپ توضیحات حقوق موثر.
صرف‌نظر کردن از فایل‌هایی که فقط دارای مدخل‌های پایه ACL (مالک، گروه، دیگران) هستند.
فهرست کردن بازگشتی ACLهای تمام فایل‌ها و دایرکتوری‌ها.
پیمایش منطقی، دنبال کردن پیوندهای نمادین به دایرکتوری‌ها. رفتار پیش‌فرض این است که آرگومان‌های پیوند نمادین دنبال شوند، و پیوندهای نمادین دیده‌شده در زیردایرکتوری‌ها نادیده گرفته شوند. تنها در ترکیب با -R موثر است.
پیمایش فیزیکی، عدم دنبال کردن پیوندهای نمادین به دایرکتوری‌ها. این گزینه همچنین آرگومان‌های پیوند نمادین را نادیده می‌گیرد. تنها در ترکیب با -R موثر است.
استفاده از قالب خروجی جدولی جایگزین. ACL فایل و ACL پیش‌فرض در کنار یکدیگر نمایش داده می‌شوند. مجوزهایی که به دلیل مدخل ماسک ACL بی‌اثر هستند با حروف بزرگ نمایش داده می‌شوند. نام‌های برچسب مدخل برای مدخل‌های ACL_USER_OBJ و ACL_GROUP_OBJ نیز با حروف بزرگ نمایش داده می‌شوند که به پیدا کردن آسان‌تر این مدخل‌ها کمک می‌کند.
حذف نکردن کاراکترهای اسلش ابتدایی (`/'). رفتار پیش‌فرض حذف کاراکترهای اسلش ابتدایی است.
فهرست کردن شناسه‌های عددی کاربر و گروه.
چاپ نسخه getfacl و خروج.
چاپ راهنمای توضیح‌دهنده گزینه‌های خط فرمان.
--
پایان گزینه‌های خط فرمان. تمام پارامترهای باقی‌مانده به عنوان نام فایل تفسیر می‌شوند، حتی اگر با کاراکتر خط تیره شروع شوند.
-
اگر پارامتر نام فایل یک کاراکتر خط تیره منفرد باشد، getfacl لیستی از فایل‌ها را از ورودی استاندارد می‌خواند.

اگر متغیر محیطی POSIXLY_CORRECT تعریف شده باشد، رفتار پیش‌فرض getfacl به روش‌های زیر تغییر می‌کند: مگر اینکه خلاف آن مشخص شده باشد، فقط ACL چاپ می‌شود. ACL پیش‌فرض تنها در صورتی چاپ می‌شود که گزینه -d داده شده باشد. اگر هیچ پارامتر خط فرمانی داده نشود، getfacl به گونه‌ای رفتار می‌کند که گویی به صورت «getfacl -» فراخوانی شده است. هیچ توضیح فلگی که نشان‌دهنده بیت‌های setuid، setgid و چسبنده (sticky) باشد تولید نمی‌شود.

Andreas Gruenbacher, <andreas.gruenbacher@gmail.com>.

لطفاً گزارش‌های باگ و نظرات خود را به آدرس بالا ارسال فرمایید.

setfacl(1), acl(5)

ACL File Utilities May 2000