| SMBGET(1) | User Commands | SMBGET(1) |
نام (NAME)
smbget - ابزاری شبیه به wget برای دانلود فایلها از طریق SMB
خلاصه دستور (SYNOPSIS)
smbget [-a, --guest] [-r, --resume] [--recursive] [-D, --dots] [-o, --outputfile] [-q, --quiet] [-v, --verbose] [-b, --blocksize] [-O, --stdout] [-u, --update] [-e, --encrypt] [--limit-rate=INT] [-?|--help] [--usage] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] [-s|--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] {smb://host/share/path/to/file} [smb://url2/] [...]
توضیحات (DESCRIPTION)
این ابزار بخشی از مجموعهٔ samba(7) است.
برنامهٔ smbget یک ابزار ساده با رفتاری مشابه wget است که میتواند فایلها را از سرورهای SMB دانلود کند. شما میتوانید فایلهایی را که قصد دریافت آنها را دارید در خط فرمان مشخص کنید.
فایلها باید مطابق استاندارد smb-URL باشند؛ برای نمونه، استفاده از smb://host/share/file برای مسیر UNC معادل \\\\HOST\\SHARE\\file.
گزینهها (OPTIONS)
-a, --guest
-r, --resume
--recursive
-D, --dots
-o, --outputfile
--stdout
-q, --quiet
-v, --verbose
-b, --blocksize
-u, --update
-e, --encrypt
--limit-rate=INT
-?|--help
--usage
-d|--debuglevel=level
هرچه این مقدار بالاتر باشد، جزئیات بیشتری دربارهٔ فعالیتهای سرور در فایلهای گزارش (log) ثبت خواهد شد. در سطح 0، فقط خطاهای حیاتی و هشدارهای جدی ثبت میشوند. سطح 1 سطحی معقول برای استفادهٔ روزمره است - مقدار کمی اطلاعات دربارهٔ عملیات انجامشده تولید میکند.
سطوح بالاتر از 1 حجم قابلتوجهی از دادههای گزارش را تولید میکنند و فقط باید هنگام بررسی مشکلات استفاده شوند. سطوح بالاتر از 3 فقط برای استفادهٔ توسعهدهندگان طراحی شدهاند و حجم عظیمی از دادههای گزارش تولید میکنند که بیشتر آنها بهشدت نامفهوم هستند.
توجه داشته باشید که تعیین این پارامتر در اینجا، پارامتر log level در فایل /etc/samba/smb.conf را لغو (override) میکند.
--debug-stdout
--configfile=<configuration file>
--option=<name>=<value>
-l|--log-basename=logdirectory
--leak-report
--leak-report-full
-V|--version
-R|--name-resolve=NAME-RESOLVE-ORDER
گزینهها عبارتند از: "lmhosts" ،"host" ،"wins" و "bcast". این گزینهها موجب تحلیل نامها به شیوهٔ زیر میشوند:
ترتیب
پیشفرض lmhosts, host,
wins, bcast است. بدون
این
پارامتر یا
هر ورودی
دیگری در
پارامتر name resolve
order از فایل
/etc/samba/smb.conf،
روشهای
تفکیک نام
با همین
ترتیب
امتحان
خواهند شد.
-O|--socket-options=SOCKETOPTIONS
-m|--max-protocol=MAXPROTOCOL
توجه داشته باشید که مشخص کردن این پارامتر در اینجا، پارامتر client max protocol را در فایل /etc/samba/smb.conf بازنویسی خواهد کرد.
-n|--netbiosname=NETBIOSNAME
--netbios-scope=SCOPE
-W|--workgroup=WORKGROUP
توجه داشته باشید که مشخص کردن این پارامتر در اینجا، پارامتر workgroup را در فایل /etc/samba/smb.conf بازنویسی خواهد کرد.
-r|--realm=REALM
توجه داشته باشید که مشخص کردن این پارامتر در اینجا، پارامتر realm را در فایل /etc/samba/smb.conf بازنویسی خواهد کرد.
-U|--user=[DOMAIN\]USERNAME[%PASSWORD]
اگر 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
-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.
نشانیهای SMB (SMB URLS)
نشانیهای اینترنتی SMB باید در قالب زیر مشخص شوند:
smb://[[[domain;]user[:password@]]server[/share[/path[/file]]]]
smb:// به معنای تمام workgroupها است
smb://name/ بدین معناست که اگر name یک workgroup باشد، تمام سرورهای این workgroup، یا اگر name یک سرور باشد، تمام اشتراکهای روی این سرور.
# بارگیری بازگشتی پوشه 'src' smbget --recursive smb://rhonwyn/jelmer/src # بارگیری ISO مربوط به FreeBSD و فعالسازی قابلیت ادامه دادن smbget --resume smb://rhonwyn/isos/FreeBSD5.1.iso # بارگیری بازگشتی تمام ISOها smbget --recursive --resume smb://rhonwyn/isos # پشتیبانگیری از دادههای من روی rhonwyn smbget --recursive -resume smb://rhonwyn/
گزارش باگها (BUGS)
در برخی موارد که علت خطا نامشخص است (مانند نشانی اینترنتی smb:// با قالب نادرست یا تلاش برای دریافت یک دایرکتوری بدون فعال بودن گزینه --resursive)، خطای «Permission denied» بازگردانده میشود.
نسخه (VERSION)
این صفحه راهنما بخشی از نسخه 4.24.6 مجموعه نرمافزاری Samba است.
نویسندگان (AUTHORS)
نرمافزار اصلی Samba و ابزارهای مرتبط با آن توسط Andrew Tridgell خلق شدند. Samba اکنون توسط Samba Team بهصورت یک پروژه متنباز (Open Source) مشابه شیوه توسعه هسته لینوکس، توسعه داده میشود.
صفحه راهنمای smbget توسط Jelmer Vernooij نوشته شده است.
| 08/16/2026 | Samba 4.24.6 |