VFS_ACL_XATTR(8) ابزارهای مدیریت سیستم VFS_ACL_XATTR(8)

vfs_acl_xattr - ذخیره NTFS-ACLها در ویژگی‌های توسعه‌یافته (EAs)

vfs objects = acl_xattr

این ماژول VFS بخشی از مجموعه samba(7) است.

این ماژول برای سیستم‌هایی ساخته شده است که از NFS4 ACLهای استاندارد پشتیبانی نکرده و فقط از یک پیاده‌سازی منسوخ پیش‌نویس POSIX ACL پشتیبانی می‌کنند. این حالت معمولاً در سیستم‌های لینوکس صادق است. سیستم‌هایی که پشتیبانی می‌کنند، مستقیماً از NFSv4 ACLها به جای این ماژول استفاده می‌کنند. چنین پشتیبانی معمولاً توسط ماژول VFS سامانه فایل مختص به سامانه فایل زیرین که از NFS4 ACLها پشتیبانی می‌کند، ارائه می‌شود.

ماژول VFS به نام vfs_acl_xattr فهرست‌های کنترل دسترسی (ACLهای) NTFS را در ویژگی‌های توسعه‌یافته (EAs) ذخیره می‌کند. این ویژگی امکان نگاشت کامل ACLهای ویندوز را روی کارسازهای سامبا فراهم می‌کند، حتی اگر پیاده‌سازی ACL قادر به انجام آن نباشد.

این NT ACLها در ویژگی توسعه‌یافته security.NTACL فایل‌ها و دایرکتوری‌ها به شکلی حاوی SID ویندوز که نمایانگر کاربران و گروه‌ها در ACL است ذخیره می‌شوند. این با uid و gidهای ذخیره‌شده در ACLهای سامانه فایل محلی متفاوت است و نگاشت کاربران و گروه‌ها به SIDهای ویندوز باید سازگار باشد تا معنای NT ACL ذخیره‌شده حفظ شود. این ویژگی توسعه‌یافته توسط دستور لینوکسی getfattr -d filename فهرست نمی‌شود. برای نمایش مقدار فعلی، نام EA باید مشخص شود (مانند getfattr -n security.NTACL filename).

این ماژول پارامترهای زیر را تحمیل می‌کند:

•inherit acls = true
•dos filemode = true
•force unknown acl user = true

این ماژول قابل پشته‌سازی (stackable) است.

acl_xattr:security_acl_name = NAME

این گزینه اجازه می‌دهد مکان پیش‌فرض برای ویژگی توسعه‌یافته (xattr) مربوط به NTACL بازتعریف شود. در صورت عدم تنظیم، xattrهای NTACL در security.NTACL که مکانی حفاظت‌شده است نوشته می‌شوند؛ بدین معنا که محتوای ویژگی security.NTACL برای کاربران عادی خارج از سامبا قابل دسترسی نیست. هنگامی که این گزینه برای استفاده از یک مقدار تعریف‌شده توسط کاربر، مانند user.NTACL تنظیم شود، هر کاربری می‌تواند به طور بالقوه به این اطلاعات دسترسی یافته و آن را بازنویسی کند. این ماژول مانع دسترسی به این xattr از طریق SMB می‌شود، اما ممکن است همچنان از روش‌های دیگر (مانند دسترسی محلی، SSH یا NFS) بتوان به این xattr دسترسی داشت. این گزینه تنها زمانی باید استفاده شود که این پیامد کاملاً درک شده باشد و اقدامات احتیاطی خاصی برای جلوگیری از به خطر افتادن محتوای ACL اتخاذ شده باشد.

acl_xattr:ignore system acls = [yes|no]

هنگامی که روی yes تنظیم شود، یک نگاشت حداکثری (best effort) به/از لایه پیش‌نویس POSIX ACL توسط این ماژول انجام نخواهد شد. مقدار پیش‌فرض no است که به این معنی است که سامبا به تنظیم و ارزیابی هر دو ACLهای سیستم و NT ACLها ادامه می‌دهد. اگر نیاز دارید ACLهای سیستم برای دسترسی به فایل از طریق NFS یا محلی نیز تنظیم شوند، این حالت بهتر است. اگر فقط از طریق سامبا به داده‌ها دسترسی دارید، می‌توانید این گزینه را روی yes تنظیم کنید تا سازگاری بهتری با NT ACL به دست آورید.

اگر acl_xattr:ignore system acls روی yes تنظیم شود، تنظیمات اضافی زیر اعمال خواهند شد:

•create mask = 0666
•directory mask = 0777
•map archive = no
•map hidden = no
•map readonly = no
•map system = no
•store dos attributes = yes

acl_xattr:default acl style = [posix|windows|everyone]

این پارامتر نوع ACL ترکیبی را در صورتی که یک فایل یا دایرکتوری فاقد xattr مربوط به security.NTACL باشد، تعیین می‌کند.

هنگامی که روی posix تنظیم شود، یک ACL بر اساس مجوزهای حالت POSIX برای کاربر، گروه و دیگران، همراه با یک ACE اضافی برای NT Authority\SYSTEM با اختیارات کامل ساخته خواهد شد.

هنگامی که روی windows تنظیم شود، یک ACL به همان روشی که ویندوز انجام می‌دهد ساخته می‌شود که فقط شامل مجوزها برای مالک و NT Authority\SYSTEM است.

هنگامی که روی everyone تنظیم شود، یک ACL ساخته می‌شود که به همگان (S-1-1-0) مجوزهای کامل می‌دهد.

مقدار پیش‌فرض برای این گزینه posix است.

نرم‌افزار اصلی سامبا و ابزارهای مرتبط توسط Andrew Tridgell ایجاد شده‌اند. سامبا اکنون توسط تیم سامبا (Samba Team) به عنوان یک پروژه متن‌باز مشابه روش توسعه هسته لینوکس توسعه داده می‌شود.

08/16/2026 Samba 4.24.6