| MDSEARCH(1) | User Commands | MDSEARCH(1) |
نام (NAME)
mdsearch - اجرای جستجوهای Spotlight روی یک سرور SMB
خلاصه دستور (SYNOPSIS)
mdfine {server} {sharename} {query} [-p, --path=STRING] [-L, --live] [-?|--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]
توضیحات (DESCRIPTION)
این ابزار بخشی از مجموعهٔ samba(1) است.
دستور mdsearch یک ابزار ساده برای اجرای جستجوهای Spotlight روی یک سرور SMB است که سرویس RPC مربوط به Spotlight به نام mdssvc را اجرا میکند.
گزینهها (OPTIONS)
server
sharename
query
attribute=="value"
برای پرسوجوها روی یک سرور Samba که ویژگی Spotlight با استفاده از بَکاِند Elasticsearch در آن فعال است، فهرست ویژگیهای فرادادهٔ (metadata) پشتیبانیشده در فایل نگاشت ویژگیهای JSON که معمولاً در مسیر /usr/share/samba/mdssvc/elasticsearch_mappings.json نصب شده، ارائه شده است.
-p PATH, --path=PATH
-L, --live
-?|--help
--usage
-d|--debuglevel=level
هرچه این مقدار بیشتر باشد، جزئیات بیشتری دربارهٔ فعالیتهای سرور در فایلهای لاگ ثبت خواهد شد. در سطح 0، تنها خطاهای بحرانی و هشدارهای جدی ثبت میشوند. سطح 1 سطحی معقول برای استفادهٔ روزمره است - مقدار کمی از اطلاعات مربوط به عملیات انجامشده را تولید میکند.
سطوح بالاتر از 1 مقادیر قابل توجهی دادههای لاگ تولید میکنند و فقط باید هنگام بررسی مشکلات استفاده شوند. سطوح بالاتر از 3 فقط برای استفادهٔ توسعهدهندگان طراحی شدهاند و مقادیر فوقالعاده زیادی دادهٔ لاگ تولید میکنند که بیشتر آنها بسیار مبهم هستند.
توجه داشته باشید که تعیین این پارامتر در اینجا، پارامتر log level را در فایل /etc/samba/smb.conf بازنویسی میکند.
--debug-stdout
--configfile=<configuration file>
--option=<name>=<value>
-l|--log-basename=logdirectory
--leak-report
--leak-report-full
-V|--version
-U|--user=[DOMAIN\]USERNAME[%PASSWORD]
اگر PASSWORD% مشخص نشود، از کاربر درخواست خواهد شد. کلاینت ابتدا متغیر محیطی USER (که مجاز است گذرواژه را نیز جدا شده با % در بر داشته باشد)، سپس متغیر LOGNAME (که مجاز به داشتن گذرواژه نیست) را بررسی میکند و در صورت وجود هر یک، از آن مقدار استفاده میشود. اگر این متغیرهای محیطی یافت نشوند، ممکن است از نام کاربری موجود در کش اعتبارسنجی Kerberos استفاده شود.
گزینهٔ سوم، استفاده از یک فایل اعتبارسنجی (credentials) است که حاوی متن خام نام کاربری و گذرواژه است. این گزینه عمدتاً برای اسکریپتهایی فراهم شده است که در آنها مدیر سیستم مایل نیست اطلاعات احراز هویت را در خط فرمان یا از طریق متغیرهای محیطی انتقال دهد. در صورت استفاده از این روش، مطمئن شوید که مجوزهای فایل، دسترسی کاربران غیرمجاز را محدود کرده باشد. برای جزئیات بیشتر -A را ببینید.
در مورد گنجاندن گذرواژهها در اسکریپتها یا ارسال مقادیر عرضهشده توسط کاربر در خط فرمان محتاط باشید. از نظر امنیتی بهتر است در صورت نیاز، بگذارید ابزار کلاینت Samba خود گذرواژه را درخواست کند، یا گذرواژه را یکبار با kinit دریافت کنید.
اگرچه Samba تلاش میکند تا گذرواژه را از عنوان فرایند (همانطور که در ps دیده میشود) پاک کند، اما این کار پس از راهاندازی انجام میشود و بنابراین مستعد شرایط رقابتی (race condition) است.
-N|--no-pass
مگر اینکه گذرواژهای در خط فرمان مشخص شده باشد یا این پارامتر تعیین شده باشد، کلاینت درخواست گذرواژه خواهد کرد.
اگر گذرواژهای در خط فرمان تعیین شده باشد و این گزینه نیز تعریف گردد، گذرواژهٔ خط فرمان بدون هشدار نادیده گرفته شده و هیچ گذرواژهای استفاده نخواهد شد.
--password
در مورد گنجاندن گذرواژهها در اسکریپتها یا ارسال مقادیر عرضهشده توسط کاربر در خط فرمان محتاط باشید. از نظر امنیتی بهتر است در صورت نیاز، بگذارید ابزار کلاینت Samba خود گذرواژه را درخواست کند، یا گذرواژه را یکبار با kinit دریافت کنید.
اگر --password مشخص نشده باشد، این ابزار متغیر محیطی PASSWD و در ادامه PASSWD_FD را بررسی میکند که انتظار میرود شامل یک شماره توصیفگر فایل (FD) باز باشد..sp در نهایت، PASSWD_FILE (شامل مسیر فایلی که باید باز شود) را بررسی خواهد کرد. این فایل باید تنها حاوی گذرواژه باشد. اطمینان حاصل کنید که مجوزهای دسترسی فایل، از دسترسی کاربران غیرمجاز جلوگیری میکند!
اگرچه Samba تلاش خواهد کرد تا گذرواژه را از عنوان فرایند (همانطور که در ps دیده میشود) پاک کند، اما این کار پس از راهاندازی صورت میگیرد و بنابراین در معرض شرایط رقابتی (race condition) است.
--pw-nt-hash
-A|--authentication-file=filename
username = <value> password = <value> domain = <value>
اطمینان حاصل کنید که مجوزهای دسترسی فایل، از دسترسی کاربران غیرمجاز جلوگیری میکند!
-P|--machine-pass
--simple-bind-dn=DN
--use-kerberos=desired|required|off
توجه داشته باشید که مشخص کردن این پارامتر در اینجا، مقدار پارامتر client use kerberos در فایل /etc/samba/smb.conf را نادیده میگیرد و جایگزین آن میشود.
--use-krb5-ccache=CCACHE
این گزینه --use-kerberos=required را اجباری میکند.
--use-winbind-ccache
--client-protection=sign|encrypt|off
توجه داشته باشید که مشخص کردن این پارامتر در اینجا، مقدار پارامتر client protection در فایل /etc/samba/smb.conf را نادیده میگیرد و جایگزین آن میشود.
در صورتی که به کنترل دقیقتری نیاز دارید میتوانید از این گزینهها استفاده کنید: --option=clientsmbencrypt=OPTION, --option=clientipcsigning=OPTION, --option=clientsigning=OPTION.
جستجو در تمام مشخصههای فرادادهٔ نمایهشده، تطابق دقیق:
'*=="Samba"'
جستجو در تمام مشخصههای فرادادهٔ نمایهشده، تطابق پیشوندی:
'*=="Samba*"'
جستجو بر اساس نام فایل:
'kMDItemFSName=="Samba*"'
جستجو بر اساس تاریخ:
'kMDItemFSContentChangeDate<$time.iso(2018-10-01T10:00:00Z)'
جستجو در محتوای فایلها:
'kMDItemTextContent=="Samba*"'
عبارتها:
kMDItemFSName=="Samba*"||kMDItemTextContent=="Tango*"'
همچنین ببینید (SEE ALSO)
File Metadata Search Programming Guide https://developer.apple.com/library/archive/documentation/Carbon/Conceptual/SpotlightQuery/Concepts/Introduction.html
نسخه (VERSION)
این صفحهٔ راهنما بخشی از نسخهٔ 4.24.6 از مجموعهٔ Samba است..SH "نویسنده (AUTHOR)"
نرمافزار اصلی Samba و ابزارهای مرتبط با آن توسط Andrew Tridgell ساخته شدهاند. Samba اکنون توسط Samba Team بهعنوان یک پروژه متنباز، مشابه شیوه توسعه هسته Linux توسعه داده میشود.
صفحه راهنمای mdsearch توسط Ralph Boehme نوشته شده است.
| 08/16/2026 | Samba 4.24.6 |