PDBEDIT(8) System Administration tools PDBEDIT(8) نام (NAME) pdbedit - مدیریت پایگاه‌دادهٔ SAM (پایگاه‌دادهٔ کاربران Samba) خلاصه دستور (SYNOPSIS) pdbedit [-L|--list] [-v|--verbose] [-w|--smbpasswd-style] [-u|--user=USER] [-N|--account-desc=STRING] [-f|--fullname=STRING] [-h|--homedir=STRING] [-D|--drive=STRING] [-S|--script=STRING] [-p|--profile=STRING] [-I|--domain=STRING] [-U|--user SID=STRING] [-M|--machine SID=STRING] [-a|--create] [-r|--modify] [-m|--machine] [-x|--delete] [-b|--backend=STRING] [-i|--import=STRING] [-e|--export=STRING] [-g|--group] [-y|--policies] [--policies-reset] [-P|--account-policy=STRING] [-C|--value=LONG] [-c|--account-control=STRING] [--force-initialized-passwords] [-z|--bad-password-count-reset] [-Z|--logon-hours-reset] [--time-format=STRING] [-t|--password-from-stdin] [-K|--kickoff-time=STRING] [--set-nt-hash=STRING] [-?|--help] [--usage] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] [--configfile=CONFIGFILE] [--option=name=value] [-l|--log-basename=LOGFILEBASE] [--leak-report] [--leak-report-full] توضیحات (DESCRIPTION) این ابزار بخشی از مجموعهٔ samba(7) است. برنامهٔ pdbedit برای مدیریت حساب‌های کاربری ذخیره‌شده در پایگاه‌دادهٔ SAM به کار می‌رود و فقط توسط کاربر ریشه (root) قابل اجرا است. ابزار pdbedit از رابط پیمانه‌ای passdb استفاده می‌کند و مستقل از نوع پایگاه‌دادهٔ کاربران مورد استفاده است (در حال حاضر پایگاه‌های مبتنی بر smbpasswd، ldap، nis+ و tdb وجود دارند و موارد بیشتری را می‌توان بدون تغییر این ابزار اضافه کرد). پنج روش اصلی برای استفاده از pdbedit وجود دارد: افزودن حساب کاربری، حذف حساب کاربری، ویرایش حساب کاربری، فهرست کردن حساب‌های کاربری و وارد کردن حساب‌های کاربری. گزینه‌ها (OPTIONS) -L|--list این گزینه تمام حساب‌های کاربری موجود در پایگاه‌دادهٔ کاربران را فهرست می‌کند. این گزینه فهرستی از جفت‌های user/uid را که با نویسهٔ ':' از هم جدا شده‌اند چاپ می‌کند. مثال: pdbedit -L sorce:500:Simo Sorce samba:45:Test User -v|--verbose این گزینه قالب فهرست‌بندی با جزئیات کامل (verbose) را فعال می‌کند. این باعث می‌شود pdbedit کاربران موجود در پایگاه‌داده را فهرست کرده و فیلدهای حساب را در قالبی تشریحی چاپ کند. استفاده هم‌زمان با -w همچنین درهم‌سازهای (hashes) گذرواژه را نمایش می‌دهد. مثال: pdbedit -L -v --------------- username: sorce user ID/Group: 500/500 user RID/GRID: 2000/2001 Full Name: Simo Sorce Home Directory: \\BERSERKER\sorce HomeDir Drive: H: Logon Script: \\BERSERKER\netlogon\sorce.bat Profile Path: \\BERSERKER\profile --------------- username: samba user ID/Group: 45/45 user RID/GRID: 1090/1091 Full Name: Test User Home Directory: \\BERSERKER\samba HomeDir Drive: Logon Script: Profile Path: \\BERSERKER\profile -w|--smbpasswd-style این گزینه قالب فهرست‌بندی "smbpasswd" را تنظیم می‌کند. این باعث می‌شود pdbedit کاربران موجود در پایگاه‌داده را فهرست کرده و فیلدهای حساب را در قالبی سازگار با قالب فایل smbpasswd چاپ کند. (برای جزئیات به smbpasswd(5) مراجعه کنید). در صورت استفاده هم‌زمان با (-v)، درهم‌سازهای گذرواژه‌ها را در خروجی با جزئیات کامل نمایش می‌دهد. مثال: pdbedit -L -w sorce:500:508818B733CE64BEAAD3B435B51404EE: D2A2418EFC466A8A0F6B1DBB5C3DB80C: [UX ]:LCT-00000000: samba:45:0F2B255F7B67A7A9AAD3B435B51404EE: BC281CE3F53B6A5146629CD4751D3490: [UX ]:LCT-3BFA1E8D: -u|--user username این گزینه نام کاربری مورد استفاده برای عملیات درخواستی (فهرست‌بندی، افزودن، حذف) را مشخص می‌کند. این گزینه در عملیات افزودن، حذف و ویرایش الزامی بوده و در عملیات فهرست‌بندی اختیاری است. -f|--fullname fullname این گزینه هنگام افزودن یا ویرایش یک حساب کاربری قابل استفاده است. این گزینه نام کامل کاربر را مشخص می‌کند. مثال: -f "Simo Sorce" -h|--homedir homedir این گزینه هنگام افزودن یا ویرایش یک حساب کاربری قابل استفاده است. این گزینه مسیر شبکهٔ دایرکتوری خانگی کاربر را مشخص می‌کند. مثال: -h "\\\\BERSERKER\\sorce" -D|--drive drive این گزینه هنگام افزودن یا ویرایش یک حساب کاربری قابل استفاده است. این گزینه حرف درایو ویندوز مورد استفاده برای نگاشت دایرکتوری خانگی را مشخص می‌کند. مثال: -D "H:" -S|--script script این گزینه هنگام افزودن یا ویرایش یک حساب کاربری قابل استفاده است. این گزینه مسیر اسکریپت ورود به سیستم (logon script) کاربر را مشخص می‌کند. مثال: -S "\\\\BERSERKER\\netlogon\\sorce.bat" --set-nt-hash این گزینه هنگام ویرایش یک حساب کاربری قابل استفاده است. این گزینه گذرواژهٔ کاربر را با استفاده از مقدار nt-hash داده‌شده به صورت یک رشتهٔ هگزادسیمال تنظیم می‌کند. برای همگام‌سازی گذرواژه‌ها مفید است. مثال: --set-nt-hash 8846F7EAEE8FB117AD06BDD830B7586C -p|--profile profile این گزینه هنگام افزودن یا ویرایش یک حساب کاربری قابل استفاده است. این گزینه دایرکتوری نمایه (profile) کاربر را مشخص می‌کند. مثال: -p "\\\\BERSERKER\\netlogon" -M|'--machine SID' SID|rid این گزینه هنگام افزودن یا ویرایش یک حساب ماشین قابل استفاده است. این گزینه SID (شناسهٔ امنیتی یا Security Identifier) یا rid گروه اصلی جدید ماشین را مشخص می‌کند. مثال: -M S-1-5-21-2447931902-1787058256-3961074038-1201 -U|'--user SID' SID|rid این گزینه هنگام افزودن یا ویرایش یک حساب کاربری قابل استفاده است. این گزینه SID (شناسهٔ امنیتی یا Security Identifier) یا rid جدید کاربر را مشخص می‌کند. مثال: -U S-1-5-21-2447931902-1787058256-3961074038-5004 مثال: '--user SID' S-1-5-21-2447931902-1787058256-3961074038-5004 مثال: -U 5004 مثال: '--user SID' 5004 -c|--account-control account-control این گزینه هنگام افزودن یا ویرایش یک حساب کاربری قابل استفاده است. این گزینه ویژگی کنترل حساب (account control) کاربر را مشخص می‌کند. فلگ‌های ممکن در زیر فهرست شده‌اند. • N: بدون نیاز به گذرواژه • D: حساب غیرفعال شده • H: دایرکتوری خانگی الزامی است • T: کپی موقت حساب دیگر • U: حساب کاربری عادی • M: حساب کاربری ورود MNS • W: حساب اعتماد ایستگاه‌کاری • S: حساب اعتماد کارساز • L: قفل‌شدن خودکار • X: گذرواژه منقضی نمی‌شود • I: حساب اعتماد دامنه مثال: -c "[X ]" -K|--kickoff-time این گزینه برای تغییر زمان اخراج (kickoff time) برای یک کاربر خاص استفاده می‌شود. از "never" به عنوان آرگومان برای نامحدود کردن زمان اخراج استفاده کنید. مثال: pdbedit -K never user -a|--create این گزینه برای افزودن یک کاربر به پایگاه‌داده استفاده می‌شود. این دستور به یک نام کاربری مشخص‌شده با سوییچ -u نیاز دارد. هنگام افزودن یک کاربر جدید، pdbedit همچنین گذرواژهٔ مورد نظر را درخواست می‌کند. مثال: pdbedit -a -u sorce new password: retype new password نکته اگر unix password sync تنظیم شده باشد، pdbedit اسکریپت همگام‌سازی گذرواژهٔ یونیکس را فراخوانی نمی‌کند. این ابزار فقط داده‌ها را در پایگاه‌دادهٔ کاربران Samba به‌روزرسانی می‌کند. اگر مایلید کاربری را اضافه کرده و گذرواژه را فوراً همگام‌سازی کنید، از گزینهٔ -a در smbpasswd استفاده کنید. -t|--password-from-stdin این گزینه باعث می‌شود pdbedit گذرواژه را به جای /dev/tty (مانند برنامهٔ passwd(1)) از ورودی استاندارد بخواند. گذرواژه باید دو بار وارد شده و هر بار با یک خط جدید خاتمه یابد. -r|--modify این گزینه برای ویرایش یک کاربر موجود در پایگاه‌داده استفاده می‌شود. این دستور به نام کاربری مشخص‌شده با سوییچ -u نیاز دارد. گزینه‌های دیگر را می‌توان برای ویرایش ویژگی‌های کاربر مشخص‌شده تعیین کرد. این فلگ برای سازگاری با نسخه‌های پیشین حفظ شده است، اما دیگر نیازی به مشخص کردن آن نیست. -m|--machine این گزینه فقط همراه با گزینهٔ -a قابل استفاده است. این گزینه باعث می‌شود pdbedit به جای حساب کاربری، یک حساب اعتماد ماشین اضافه کند (-u username نام ماشین را تعیین می‌کند). مثال: pdbedit -a -m -u w2k-wks -x|--delete این گزینه باعث می‌شود pdbedit یک حساب را از پایگاه‌داده حذف کند. این گزینه به نام کاربری مشخص‌شده با سوییچ -u نیاز دارد. مثال: pdbedit -x -u bob -i|--import passdb-backend استفاده از یک پسانهٔ (backend) passdb متفاوت برای واکشی کاربران به جای مورد مشخص‌شده در smb.conf. می‌تواند برای وارد کردن داده‌ها به پایگاه‌دادهٔ محلی کاربران شما استفاده شود. این گزینه مهاجرت از یک پسانهٔ passdb به دیگری را آسان‌تر می‌کند. مثال: pdbedit -i smbpasswd:/etc/smbpasswd.old -e|--export passdb-backend همهٔ کاربران موجود فعلی را به پسانهٔ مشخص‌شدهٔ پایگاه‌دادهٔ گذرواژه صادر می‌کند. این گزینه مهاجرت از یک پسانهٔ passdb به دیگری را تسهیل کرده و پشتیبان‌گیری را آسان می‌سازد. مثال: pdbedit -e smbpasswd:/root/samba-users.backup -g|--group اگر -g را مشخص کنید، در این صورت -i in-backend -e out-backend به جای پایگاه‌دادهٔ کاربران، روی نگاشت گروه (group mapping) اعمال می‌شود. این گزینه مهاجرت از یک پسانهٔ passdb به دیگری را تسهیل کرده و پشتیبان‌گیری را آسان می‌کند. -b|--backend passdb-backend استفاده از یک پسانهٔ پیش‌فرض متفاوت برای passdb. مثال: pdbedit -b xml:/root/pdb-backup.xml -l -P|--account-policy account-policy نمایش یک خط‌مشی حساب (account policy) خط‌مشی‌های معتبر عبارتند از: minimum password age، reset count minutes، disconnect time، user must logon to change password، password history، lockout duration، min password length، maximum password age و bad lockout attempt. مثال: pdbedit -P "bad lockout attempt" account policy value for bad lockout attempt is 0 -C|--value account-policy-value یک خط‌مشی حساب را روی مقداری مشخص تنظیم می‌کند. این گزینه فقط همراه با گزینهٔ -P قابل استفاده است. مثال: pdbedit -P "bad lockout attempt" -C 3 account policy value for bad lockout attempt was 0 account policy value for bad lockout attempt is now 3 -y|--policies اگر -y را مشخص کنید، در این صورت -i in-backend -e out-backend به جای پایگاه‌دادهٔ کاربران، روی خط‌مشی‌های حساب اعمال می‌شود. این گزینه امکان انتقال خط‌مشی‌های حساب را از مخزن پیش‌فرض tdb به یک پسانهٔ passdb، مانند یک کارساز دایرکتوری LDAP، فراهم می‌کند. مثال: pdbedit -y -i tdbsam: -e ldapsam:ldap://my.ldap.host --force-initialized-passwords این گزینه همهٔ کاربران را وادار می‌کند در ورود بعدی گذرواژهٔ خود را تغییر دهند. -N|--account-desc description این گزینه هنگام افزودن یا ویرایش یک حساب کاربری قابل استفاده است. این گزینه فیلد توضیحات کاربر را مشخص می‌کند. مثال: -N "test description" -Z|--logon-hours-reset این گزینه هنگام افزودن یا ویرایش یک حساب کاربری قابل استفاده است. این گزینه ساعات مجاز ورود به سیستم برای کاربر را بازنشانی می‌کند. کاربر پس از آن می‌تواند در هر زمانی وارد شود. مثال: -Z -z|--bad-password-count-reset این گزینه هنگام افزودن یا ویرایش یک حساب کاربری قابل استفاده است. این گزینه شمارندهٔ ورودهای ناموفق ذخیره‌شده برای کاربر مشخص را بازنشانی می‌کند. مثال: -z --policies-reset این گزینه برای بازنشانی خط‌مشی‌های عمومی گذرواژه ذخیره‌شده برای یک دامنه به مقادیر پیش‌فرض آن‌ها استفاده می‌شود. مثال: --policies-reset -I|--domain این گزینه هنگام افزودن یا ویرایش یک حساب کاربری قابل استفاده است. این گزینه فیلد دامنهٔ کاربر را مشخص می‌کند. مثال: -I "MYDOMAIN" --time-format این گزینه در حال حاضر استفاده نمی‌شود. -?|--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= فایل مشخص‌شده شامل جزئیات پیکربندی مورد نیاز کلاینت است. اطلاعات موجود در این فایل می‌تواند عمومی برای کلاینت و کارساز باشد یا فقط گزینه‌های مختص کلاینت مانند client smb encrypt را ارائه دهد. برای اطلاعات بیشتر به /etc/samba/smb.conf مراجعه کنید. نام فایل پیکربندی پیش‌فرض در زمان کامپایل تعیین می‌شود. --option== تنظیم گزینهٔ "" در smb.conf(5) به مقدار "" از طریق خط فرمان. این گزینه مقادیر پیش‌فرض زمان کامپایل و گزینه‌های خوانده‌شده از فایل پیکربندی را بازنویسی می‌کند. اگر یک نام یا مقدار حاوی فاصله است، کل --option=name=value را داخل علامت نقل‌قول قرار دهید. -l|--log-basename=logdirectory نام دایرکتوری پایه برای فایل‌های گزارش/اشکال‌زدایی. پسوند ".progname" افزوده خواهد شد (مانند log.smbclient، log.smbd و غیره). فایل گزارش هرگز توسط کلاینت حذف نمی‌شود. --leak-report فعال‌سازی گزارش نشت حافظهٔ talloc هنگام خروج. --leak-report-full فعال‌سازی گزارش کامل نشت حافظهٔ talloc هنگام خروج. -V|--version چاپ شمارهٔ نسخهٔ برنامه. نکات (NOTES) این دستور فقط توسط کاربر ریشه (root) قابل استفاده است. نسخه (VERSION) این صفحهٔ راهنما بخشی از نسخهٔ 4.24.6 از مجموعهٔ Samba است. همچنین ببینید (SEE ALSO) smbpasswd(5), samba(7) نویسندگان (AUTHORS) نرم‌افزار اصلی Samba و ابزارهای مرتبط با آن توسط Andrew Tridgell ساخته شده‌اند. Samba اکنون توسط تیم Samba به عنوان یک پروژهٔ منبع‌باز مشابه روش توسعهٔ هستهٔ لینوکس توسعه داده می‌شود. صفحهٔ راهنمای pdbedit توسط Simo Sorce و Jelmer Vernooij نوشته شده است. Samba 4.24.6 08/16/2026 PDBEDIT(8)