SMBCQUOTAS(1) User Commands SMBCQUOTAS(1)

smbcquotas - تنظیم یا دریافت سهمیه‌بندی‌های دیسک (QUOTA) در اشتراک‌های NTFS 5

smbcquotas {//server/share} [-u|--quota-user=USER] [-L|--list] [-F|--fs] [-S|--set=SETSTRING] [-n|--numeric] [-v|--verbose] [-t|--test-args] [-?|--help] [--usage] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] [--configfile=CONFIGFILE] [--option=name=value] [-l|--log-basename=LOGFILEBASE] [--leak-report] [--leak-report-full] [-R|--name-resolve=NAME-RESOLVE-ORDER] [-O|--socket-options=SOCKETOPTIONS] [-m|--max-protocol=MAXPROTOCOL] [-n|--netbiosname=NETBIOSNAME] [--netbios-scope=SCOPE] [-W|--workgroup=WORKGROUP] [--realm=REALM] [-U|--user=[DOMAIN/]USERNAME[%PASSWORD]] [-N|--no-pass] [--password=STRING] [--pw-nt-hash] [-A|--authentication-file=FILE] [-P|--machine-pass] [--simple-bind-dn=DN] [--use-kerberos=desired|required|off] [--use-krb5-ccache=CCACHE] [--use-winbind-ccache] [--client-protection=sign|encrypt|off] [-V|--version]

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

برنامهٔ smbcquotas سهمیه‌بندی‌های NT (NT Quotas) را روی اشتراک‌های فایل SMB مدیریت و دستکاری می‌کند.

گزینه‌های زیر برای برنامهٔ smbcquotas در دسترس هستند.

-u|--quota-user user

کاربری که سهمیه‌بندی‌های او باید خوانده یا تنظیم شوند را مشخص می‌کند. به‌طور پیش‌فرض از نام کاربری کاربر فعلی استفاده خواهد شد.

-L|--list

تمام رکوردهای سهمیه‌بندی اشتراک را فهرست می‌کند.

-F|--fs

وضعیت سهمیه‌بندی اشتراک و محدودیت‌های پیش‌فرض را نمایش می‌دهد.

-S|--set QUOTA_SET_COMMAND

این دستور بسته به پارامتر QUOTA_SET_COMMAND که بعداً شرح داده شده است، سهمیه‌بندی‌ها را برای یک کاربر یا روی کل اشتراک تنظیم یا ویرایش می‌کند.

-n|--numeric

این گزینه تمامی اطلاعات سهمیه‌بندی (QUOTA) را در قالب عددی نمایش می‌دهد. حالت پیش‌فرض تبدیل SIDها به نام و محدودیت‌های سهمیه‌بندی به یک قالب متنی خوانا است.

-t|--test-args

در عمل کاری انجام نده، تنها صحت آرگومان‌ها را اعتبارسنجی کن.

-v|--verbose

نمایش خروجی با جزئیات بیشتر (حالت پرحرف).

-?|--help

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

--usage

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

-d|--debuglevel=level

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

هرچه این مقدار بالاتر باشد، جزئیات بیشتری دربارهٔ فعالیت‌های سرور در فایل‌های گزارش (log) ثبت خواهد شد. در سطح 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>

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

-l|--log-basename=logdirectory

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

--leak-report

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

--leak-report-full

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

-V|--version

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

-R|--name-resolve=NAME-RESOLVE-ORDER

این گزینه برای تعیین این‌که چه سرویس‌های نام‌گذاری و با چه ترتیبی نام‌های میزبان را به آدرس‌های IP ترجمه کنند استفاده می‌شود. این گزینه رشته‌ای از گزینه‌های مختلف تحلیل نام را می‌پذیرد که با فاصله از هم جدا شده‌اند. بهتر است کل عبارت --name-resolve=NAME-RESOLVE-ORDER درون نقل‌قول قرار گیرد.

گزینه‌ها عبارتند از: "lmhosts"، "host"، "wins" و "bcast". این گزینه‌ها موجب می‌شوند نام‌ها به روش‌های زیر تحلیل شوند:

•lmhosts: جستجوی آدرس IP در فایل lmhosts مربوط به Samba. اگر خط موجود در lmhosts هیچ نوع نامی متصل به نام NetBIOS نداشته باشد (برای جزئیات lmhosts(5) را ببینید)، آن‌گاه هر نوع نامی برای جستجو مطابقت داده می‌شود.
•host: انجام تحلیل استاندارد نام میزبان به آدرس IP با استفاده از فایل /etc/hosts سیستم، NIS یا پرس‌وجوهای DNS. این روش تحلیل نام وابسته به سیستم‌عامل است؛ برای نمونه در IRIX یا Solaris ممکن است توسط فایل /etc/nsswitch.conf کنترل شود. توجه داشته باشید که این روش تنها زمانی استفاده می‌شود که نوع نام NetBIOS مورد پرسش، نوع نام 0x20 (سرور) باشد، در غیر این صورت نادیده گرفته می‌شود.
•wins: پرس‌وجوی نام با نشانی IP فهرست‌شده در پارامتر wins server. اگر هیچ کارساز WINS مشخص نشده باشد، این روش نادیده گرفته خواهد شد.
•bcast: انجام همه‌پخشی (broadcast) روی هر یک از رابط‌های محلی شناخته‌شده که در پارامتر interfaces فهرست شده‌اند. این روش کم‌اطمینان‌ترین روش تحلیل نام است، زیرا به حضور میزبان مقصد در زیرشبکه‌ای که مستقیماً متصل است وابسته است.
اگر این پارامتر تنظیم نشود، ترتیب تحلیل نام تعریف‌شده در پارامتر فایل /etc/samba/smb.conf (name resolve order) استفاده خواهد شد.

ترتیب پیش‌فرض عبارت است از lmhosts، host، wins و bcast. بدون این پارامتر یا هرگونه مدخل در پارامتر name resolve order از فایل /etc/samba/smb.conf ، روش‌های تحلیل نام به همین ترتیب امتحان خواهند شد.

-O|--socket-options=SOCKETOPTIONS

گزینه‌های سوکت TCP برای تنظیم روی سوکت کلاینت. برای فهرست گزینه‌های معتبر، پارامتر socket options را در صفحه راهنمای /etc/samba/smb.conf ببینید.

-m|--max-protocol=MAXPROTOCOL

مقدار پارامتر (یک رشته) بالاترین سطح پروتکلی است که توسط کلاینت پشتیبانی خواهد شد.

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

-n|--netbiosname=NETBIOSNAME

این گزینه به شما اجازه می‌دهد نام NetBIOS را که Samba برای خود استفاده می‌کند بازنویسی کنید. این عمل معادل تنظیم پارامتر netbios name در فایل /etc/samba/smb.conf است. با این حال، تنظیم خط فرمان نسبت به تنظیمات موجود در /etc/samba/smb.conf اولویت خواهد داشت.

--netbios-scope=SCOPE

این گزینه حوزه (scope) NetBIOS را مشخص می‌کند که nmblookup هنگام ایجاد نام‌های NetBIOS برای برقراری ارتباط استفاده خواهد کرد. برای جزئیات در مورد استفاده از حوزه‌های NetBIOS، به rfc1001.txt و rfc1002.txt مراجعه کنید. حوزه‌های NetBIOS بسیار به‌ندرت استفاده می‌شوند؛ تنها در صورتی این پارامتر را تنظیم کنید که مدیر سیستم مسئول تمام سیستم‌های NetBIOS طرف ارتباط باشید.

-W|--workgroup=WORKGROUP

تنظیم دامنه SMB برای نام کاربری. این گزینه دامنه پیش‌فرض را که دامنه تعریف‌شده در smb.conf است بازنویسی می‌کند. اگر دامنه مشخص‌شده با نام NetBIOS کارساز یکسان باشد، باعث می‌شود که کلاینت با استفاده از SAM محلی کارساز وارد شود (در مقابل SAM دامنه).

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

-r|--realm=REALM

تنظیم قلمرو (realm) برای دامنه.

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

-U|--user=[DOMAIN\]USERNAME[%PASSWORD]

نام کاربری یا نام کاربری و گذرواژه SMB را تعیین می‌کند.

اگر PASSWORD% مشخص نشود، از کاربر درخواست خواهد شد. کلاینت ابتدا متغیر محیطی USER را بررسی می‌کند (که مجاز است گذرواژه را نیز که با یک % جدا شده در خود داشته باشد)، سپس متغیر LOGNAME را (که مجاز به داشتن گذرواژه نیست) بررسی می‌کند و اگر هر یک وجود داشته باشد، مقدار آن استفاده می‌شود. اگر این متغیرهای محیطی یافت نشوند، ممکن است نام کاربری یافت‌شده در حافظه پنهان اعتبارنامه‌های Kerberos استفاده شود.

گزینه سوم استفاده از یک فایل اعتبارنامه است که حاوی متن آشکار نام کاربری و گذرواژه است. این گزینه عمدتاً برای اسکریپت‌هایی فراهم شده است که در آن‌ها مدیر سیستم مایل نیست اعتبارنامه‌ها را روی خط فرمان یا از طریق متغیرهای محیطی ارسال کند. اگر از این روش استفاده می‌شود، مطمئن شوید که مجوزهای فایل مانع از دسترسی کاربران ناخواسته می‌شود. برای جزئیات بیشتر به -A مراجعه کنید.

در مورد گنجاندن گذرواژه‌ها در اسکریپت‌ها یا ارسال مقادیر ارائه‌شده توسط کاربر به خط فرمان محتاط باشید. از نظر امنیتی بهتر است در صورت نیاز اجازه دهید ابزار کلاینت Samba گذرواژه را بپرسد، یا گذرواژه را یک‌بار با kinit دریافت کنید.

اگرچه Samba تلاش خواهد کرد تا گذرواژه را از عنوان فرایند (همان‌طور که در ps دیده می‌شود) پاک کند، اما این عمل پس از راه‌اندازی رخ می‌دهد و بنابراین مستعد شرایط رقابتی (race condition) است.

-N|--no-pass

در صورت مشخص شدن، این پارامتر درخواست معمول گذرواژه از کلاینت به کاربر را لغو می‌کند. این ویژگی هنگام دسترسی به سرویسی که نیاز به گذرواژه ندارد کاربرد دارد.

مگر اینکه گذرواژه‌ای روی خط فرمان مشخص شده باشد یا این پارامتر تعیین گردد، کلاینت درخواست گذرواژه خواهد کرد.

اگر گذرواژه‌ای روی خط فرمان مشخص شود و این گزینه نیز تعریف شده باشد، گذرواژه خط فرمان بدون هیچ هشداری نادیده گرفته می‌شود و از هیچ گذرواژه‌ای استفاده نخواهد شد.

--password

مشخص کردن گذرواژه در خط فرمان.

در مورد گنجاندن گذرواژه‌ها در اسکریپت‌ها یا ارسال مقادیر ارائه‌شده توسط کاربر به خط فرمان محتاط باشید. از نظر امنیتی بهتر است در صورت نیاز اجازه دهید ابزار کلاینت Samba گذرواژه را بپرسد، یا گذرواژه را یک‌بار با kinit دریافت کنید.

اگر --password مشخص نشود، این ابزار متغیر محیطی PASSWD و به دنبال آن متغیر PASSWD_FD را بررسی می‌کند که انتظار می‌رود شامل یک شماره توصیف‌گر فایل (FD) باز باشد.

در نهایت متغیر PASSWD_FILE را بررسی خواهد کرد (حاوی مسیر فایلی که باید باز شود). این فایل تنها باید حاوی گذرواژه باشد. مطمئن شوید که مجوزهای فایل مانع از دسترسی کاربران ناخواسته می‌شود!

اگرچه Samba تلاش خواهد کرد تا گذرواژه را از عنوان فرایند (همان‌طور که در ps دیده می‌شود) پاک کند، اما این عمل پس از راه‌اندازی رخ می‌دهد و بنابراین مستعد شرایط رقابتی است.

--pw-nt-hash

گذرواژه ارائه‌شده، هش NT است.

-A|--authentication-file=filename

این گزینه به شما امکان می‌دهد فایلی را مشخص کنید که نام کاربری و گذرواژه مورد استفاده در اتصال از آن خوانده شود. قالب این فایل بدین صورت است:
username = <value>
password = <value>
domain   = <value>

مطمئن شوید که مجوزهای فایل دسترسی کاربران ناخواسته را محدود می‌کند!

-P|--machine-pass

استفاده از گذرواژه ذخیره‌شده حساب ماشین.

--simple-bind-dn=DN

شناسه DN برای استفاده در یک اتصال ساده (simple bind). --use-kerberos=desired|required|off
این پارامتر مشخص می‌کند که آیا ابزارهای کلاینت Samba برای احراز هویت با استفاده از Kerberos تلاش کنند یا خیر. برای احراز هویت Kerberos باید هنگام اتصال به یک سرویس، به‌جای نشانی‌های IP از نام‌های DNS استفاده کنید. به‌طور پیش‌فرض، ابزارهای کلاینت Samba تلاش می‌کنند از حافظه موقت گواهی (ccache) پیش‌فرض Kerberos استفاده کنند. در صورتی که ccache وجود نداشته باشد یا گزینه -U|--user مشخص شده باشد، کلاینت‌ها درخواست وارد کردن گذرواژه کرده و یک بلیت Kerberos (از طریق kinit) برای شما دریافت خواهند کرد. اگر می‌خواهید از یک حافظه موقت گواهی جایگزین برای Kerberos استفاده کنید، گزینه --use-krb5-ccache را به کار ببرید.

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

--use-krb5-ccache=CCACHE

مکان حافظه موقت گواهی را برای احراز هویت Kerberos مشخص می‌کند.

این گزینه --use-kerberos=required را تحمیل خواهد کرد.

--use-winbind-ccache

تلاش برای استفاده از حافظه موقت گواهی ارائه‌شده توسط winbind.

--client-protection=sign|encrypt|off

سطح حفاظت اتصالی را که ابزار کلاینت باید استفاده کند، تعیین می‌کند.

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

در صورتی که به کنترل دقیق‌تری نیاز دارید، می‌توانید از موارد زیر استفاده کنید: --option=clientsmbencrypt=OPTION, --option=clientipcsigning=OPTION, --option=clientsigning=OPTION.

قالب QUOTA_SET_COMMAND به‌صورت نام یک عملیات است که به‌دنبال آن مجموعه‌ای از پارامترهای مختص آن عملیات می‌آید.

برای تنظیم سهمیه کاربر مشخص‌شده با -u یا برای نام کاربری فعلی:

UQLIM:<username>:<softlimit>/<hardlimit>

برای تنظیم سهمیه‌های پیش‌فرض یک اشتراک (share):

FSQLIM:<softlimit>/<hardlimit>

برای تغییر تنظیمات سهمیه اشتراک:

FSQFLAGS:QUOTA_ENABLED/DENY_DISK/LOG_SOFTLIMIT/LOG_HARD_LIMIT

تمامی محدودیت‌ها بر حسب تعداد بایت مشخص می‌شوند.

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

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

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

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

برنامه smbcquotas توسط Stefan Metzmacher نوشته شده است.

08/16/2026 Samba 4.24.6