SHARESEC(1) User Commands SHARESEC(1)

sharesec - تنظیم یا دریافت ACLهای اشتراک

sharesec {sharename} [-r, --remove=ACL] [-m, --modify=ACL] [-a, --add=ACL] [-R, --replace=ACLs] [-D, --delete] [-v, --view] [--view-all] [-M, --machine-sid] [-F, --force] [-d, --debuglevel=DEBUGLEVEL] [-s, --configfile=CONFIGFILE] [-l, --log-basename=LOGFILEBASE] [-S, --setsddl=STRING] [--viewsddl] [-?|--help] [--usage] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] [--configfile=CONFIGFILE] [--option=name=value] [-l|--log-basename=LOGFILEBASE] [--leak-report] [--leak-report-full]

این ابزار بخشی از مجموعهٔ samba(7) است.

برنامهٔ sharesec مجوزهای اشتراک را روی اشتراک‌های فایل SMB مدیریت و تنظیم می‌کند.

گزینه‌های زیر برای برنامهٔ sharesec در دسترس هستند. ساختار ACLها در بخش «قالب ACL» شرح داده شده است.

-a|--add=ACL

افزودن ACEهای مشخص‌شده به فهرست ACL.

-D|--delete

حذف کامل توصیف‌گر امنیت (security descriptor).

-F|--force

اجبار در ذخیره‌سازی ACL.

-m|--modify=ACL

ویرایش ACEهای موجود.

-M|--machine-sid

مقداردهی اولیه SID ماشین.

-r|--remove=ACL

حذف ACEها.

-R|--replace=ACLS

بازنویسی و جایگزینی ACL مجوزهای اشتراک موجود.

-v|--view

نمایش فهرست ACL یک اشتراک.

--view-all

نمایش فهرست ACLهای تمامی اشتراک‌ها.

-S|--setsddl=STRING

تنظیم توصیف‌گر امنیت با ارائهٔ ACL در قالب SDDL.

--viewsddl

نمایش فهرست ACL یک اشتراک در قالب SDDL.

-?|--help

چاپ خلاصه‌ای از گزینه‌های خط فرمان.

--usage

نمایش پیام کوتاه نحوهٔ استفاده از دستور.

-d|--debuglevel=level

level عددی صحیح از 0 تا 10 است. مقدار پیش‌فرض در صورت مشخص نشدن این پارامتر برای برنامه‌های کلاینت برابر با 1 است.

هرچه این مقدار بالاتر باشد، جزئیات بیشتری دربارهٔ فعالیت‌های سرور در فایل‌های لاگ ثبت خواهد شد. در سطح 0، فقط خطاهای حیاتی و هشدارهای جدی ثبت می‌شوند. سطح 1 سطحی معقول برای اجرای روزمره است - که حجم کمی از اطلاعات دربارهٔ عملیات‌های انجام‌شده تولید می‌کند.

سطوح بالاتر از 1 مقادیر قابل توجهی داده‌های لاگ تولید خواهند کرد و تنها باید هنگام بررسی یک مشکل استفاده شوند. سطوح بالاتر از 3 فقط برای استفادهٔ توسعه‌دهندگان طراحی شده‌اند و حجم عظیمی از داده‌های لاگ تولید می‌کنند که بیشتر آن‌ها بسیار فنی و پیچیده هستند.

توجه داشته باشید که مشخص کردن این پارامتر در اینجا، پارامتر log level را در فایل /etc/samba/smb.conf بازنویسی خواهد کرد.

--debug-stdout

این گزینه خروجی اشکال‌زدایی را به STDOUT هدایت می‌کند. به‌طور پیش‌فرض تمام کلاینت‌ها وقایع را در STDERR ثبت می‌کنند.

--configfile=<configuration file>;

فایل مشخص‌شده حاوی جزئیات پیکربندی مورد نیاز کلاینت است. اطلاعات موجود در این فایل می‌تواند برای کلاینت و سرور عمومی باشد یا صرفاً گزینه‌های مختص کلاینت مانند client smb encrypt را ارائه دهد. برای اطلاعات بیشتر فایل /etc/samba/smb.conf را ببینید. نام پیش‌فرض فایل پیکربندی در زمان کامپایل تعیین می‌شود.

--option=<name>=<value>

گزینهٔ smb.conf(5) «<name>» را روی مقدار «<value>» از طریق خط فرمان تنظیم می‌کند. این مقدار پیش‌فرض‌های زمان کامپایل و گزینه‌های خوانده‌شده از فایل پیکربندی را بازنویسی می‌کند. اگر نام یا مقداری شامل فاصله باشد، کل عبارت --option=name=value را داخل علامت نقل‌قول قرار دهید.

-l|--log-basename=logdirectory

نام دایرکتوری پایه برای فایل‌های لاگ/اشکال‌زدایی. پسوند ".progname" به انتهای آن افزوده خواهد شد (مانند log.smbclient، log.smbd و غیره). این فایل لاگ هرگز توسط کلاینت حذف نمی‌شود.

--leak-report

فعال‌سازی گزارش نشت حافظهٔ talloc هنگام خروج.

--leak-report-full

فعال‌سازی گزارش کامل نشت حافظهٔ talloc هنگام خروج.

-V|--version

شماره نسخهٔ برنامه را چاپ می‌کند.

قالب یک ACL شامل یک یا چند مدخل ACL است که با ویرگول یا خط جدید از هم جدا شده‌اند. هر مدخل ACL یکی از موارد زیر است:

REVISION:<revision number>
OWNER:<sid or name>
GROUP:<sid or name>
ACL:<sid or name>:<type>/<flags>/<mask>

مقدار revision در ACL، نگارش داخلی Windows NT ACL را برای توصیف‌گر امنیت (security descriptor) مشخص می‌کند. اگر مشخص نشود، پیش‌فرض آن 1 است. استفاده از مقادیری غیر از 1 ممکن است رفتارهای غیرمنتظره‌ای ایجاد کند.

فیلدهای owner و group شناسهٔ SID مالک و گروه را برای شیء مشخص می‌کنند. فهرست‌های کنترل دسترسی اشتراک (Share ACLs) مالک یا گروهی تعیین نمی‌کنند، بنابراین این فیلدها خالی هستند.

فهرست‌های ACL مجوزهای اعطا شده به SID را تعیین می‌کنند. این SID می‌تواند در قالب S-1-x-y-z یا به‌صورت یک نام مشخص شود که در این حالت توسط سروری که فایل یا دایرکتوری در آن قرار دارد ارزیابی و ترجمه می‌شود. مقادیر type،‏ flags و mask نوع دسترسی اعطا شده به SID را تعیین می‌کنند.

مقدار type می‌تواند برای مجاز کردن یا منع دسترسی SID، یکی از مقادیر ALLOWED یا DENIED باشد. مقادیر flags معمولاً برای Share ACLها صفر هستند.

مقدار mask مقداری است که حق دسترسی اعطا شده به SID را بیان می‌کند. این مقدار می‌تواند به‌صورت ده‌دهی یا هگزادسیمال، یا با استفاده از یکی از رشته‌های متنی زیر مشخص شود که با مجوزهای فایل NT با همین نام متناظر هستند.

•R - مجاز کردن دسترسی خواندن
•W - مجاز کردن دسترسی نوشتن
•X - مجوز اجرا روی شیء
•D - حذف شیء
•P - تغییر مجوزها
•O - در اختیار گرفتن مالکیت

مجوزهای ترکیبی زیر را می‌توان مشخص کرد:

•READ - معادل با مجوزهای 'RX'
•CHANGE - معادل با مجوزهای 'RXWD'
•FULL - معادل با مجوزهای 'RWXDPO'

برنامه sharesec وضعیت خروج را بسته به موفقیت یا عدم موفقیت عملیات انجام‌شده تنظیم می‌کند. وضعیت خروج ممکن است یکی از مقادیر زیر باشد.

اگر عملیات با موفقیت انجام شود، sharesec وضعیت خروج 0 را برمی‌گرداند. اگر sharesec نتواند به سرور مشخص‌شده متصل شود، یا در دریافت یا تنظیم ACLها خطایی رخ دهد، وضعیت خروج 1 بازگردانده می‌شود. اگر در تجزیه هر یک از آرگومان‌های خط فرمان خطایی رخ دهد، وضعیت خروج 2 بازگردانده می‌شود.

افزودن دسترسی کامل برای SID S-1-5-21-1866488690-1365729215-3963860297-17724 روی share:

host:~ # sharesec share -a S-1-5-21-1866488690-1365729215-3963860297-17724:ALLOWED/0/FULL

فهرست کردن تمام ACEها برای share:

host:~ # sharesec share -v
REVISION:1
CONTROL:SR|DP
OWNER:
GROUP:
ACL:S-1-1-0:ALLOWED/0x0/FULL
ACL:S-1-5-21-1866488690-1365729215-3963860297-17724:ALLOWED/0x0/FULL

این صفحه راهنما بخشی از نسخه 4.24.6 مجموعه Samba است.

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

08/16/2026 Samba 4.24.6