PDBEDIT(8) System Administration tools PDBEDIT(8)

pdbedit - مدیریت پایگاه‌دادهٔ SAM (پایگاه‌دادهٔ کاربران Samba)

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]

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

برنامهٔ pdbedit برای مدیریت حساب‌های کاربری ذخیره‌شده در پایگاه‌دادهٔ SAM به کار می‌رود و فقط توسط کاربر ریشه (root) قابل اجرا است.

ابزار pdbedit از رابط پیمانه‌ای passdb استفاده می‌کند و مستقل از نوع پایگاه‌دادهٔ کاربران مورد استفاده است (در حال حاضر پایگاه‌های مبتنی بر smbpasswd، ldap، nis+ و tdb وجود دارند و موارد بیشتری را می‌توان بدون تغییر این ابزار اضافه کرد).

پنج روش اصلی برای استفاده از pdbedit وجود دارد: افزودن حساب کاربری، حذف حساب کاربری، ویرایش حساب کاربری، فهرست کردن حساب‌های کاربری و وارد کردن حساب‌های کاربری.

-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=<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

چاپ شمارهٔ نسخهٔ برنامه.

این دستور فقط توسط کاربر ریشه (root) قابل استفاده است.

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

smbpasswd(5), samba(7)

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

صفحهٔ راهنمای pdbedit توسط Simo Sorce و Jelmer Vernooij نوشته شده است.

08/16/2026 Samba 4.24.6