DBMMANAGE(1) dbmmanage DBMMANAGE(1)

dbmmanage - مدیریت فایل‌های احراز هویت کاربری در فرمت DBM

dbmmanage [ encoding ] filename add|adduser|check|delete|update username [ encpasswd [ group[,group...] [ comment ] ] ]

dbmmanage filename view [ username ]

dbmmanage filename import

دستور dbmmanage برای ایجاد و به‌روزرسانی فایل‌های با فرمت DBM استفاده می‌شود که جهت ذخیره‌سازی نام‌های کاربری و گذرواژه‌ها برای احراز هویت پایه‌ای کاربران HTTP از طریق mod_authn_dbm به کار می‌روند. منابع موجود در سرور HTTP آپاچی را می‌توان تنها به کاربرانی محدود کرد که نام آن‌ها در فایل‌های ایجادشده توسط dbmmanage فهرست شده است. این برنامه فقط زمانی قابل استفاده است که نام‌های کاربری در یک فایل DBM ذخیره شده باشند. برای استفاده از پایگاه داده با فایل متنی ساده (flat-file) دستور htpasswd را ببینید.

ابزار دیگر برای نگهداری پایگاه داده گذرواژه DBM دستور htdbm است.

این صفحه راهنما فقط آرگومان‌های خط فرمان را فهرست می‌کند. برای جزئیات دستورالعمل‌های لازم جهت پیکربندی احراز هویت کاربر در httpd به راهنمای httpd مراجعه کنید که بخشی از توزیع آپاچی است یا در نشانی http://httpd.apache.org یافت می‌شود.

نام فایل با فرمت DBM. معمولاً بدون پسوند .db، .pag یا .dir.
کاربری که عملیات برای او انجام می‌شود. نام کاربری (username) نباید حاوی دو‌نقطه (:) باشد.
این گذرواژه از پیش هش‌شده است که برای دستورات update و add استفاده می‌شود. اگر می‌خواهید گذرواژه از شما پرسیده شود اما فیلدهای بعدی را پر کنید، می‌توانید از خط تیره (-) استفاده کنید. علاوه بر این، هنگام استفاده از دستور update، یک نقطه (.) گذرواژه اصلی را دست‌نخورده نگه می‌دارد.
گروهی که کاربر عضو آن است. نام گروه نباید حاوی دو‌نقطه (:) باشد. اگر نمی‌خواهید کاربر را به گروهی اختصاص دهید اما می‌خواهید فیلد توضیح را پر کنید، می‌توانید از خط تیره (-) استفاده کنید. علاوه بر این، هنگام استفاده از دستور update، یک نقطه (.) گروه‌های اصلی را دست‌نخورده نگه می‌دارد.
اینجا مکانی برای توضیحات دلخواه شما درباره کاربر است، مانند نام واقعی، نشانی ایمیل یا مواردی از این دست. سرور این فیلد را نادیده خواهد گرفت.

هشینگ crypt (پیش‌فرض، به جز در Win32 و Netware)
هشینگ MD5 (پیش‌فرض در Win32 و Netware)
هشینگ SHA1
متن آشکار (توصیه نمی‌شود)

یک مدخل برای username با استفاده از گذرواژه هش‌شده encpasswd به filename اضافه می‌کند. dbmmanage passwords.dat add rbowen foKntnEF3KSXA
گذرواژه را درخواست می‌کند و سپس یک مدخل برای username به filename اضافه می‌کند. dbmmanage passwords.dat adduser krietz
گذرواژه را درخواست می‌کند و سپس بررسی می‌کند که آیا username در filename وجود دارد و آیا گذرواژه آن با گذرواژه مشخص‌شده مطابقت دارد یا خیر. dbmmanage passwords.dat check rbowen
مدخل username را از filename حذف می‌کند. dbmmanage passwords.dat delete rbowen
مدخل‌های username:password را (یک مورد در هر خط) از STDIN می‌خواند و آن‌ها را به filename اضافه می‌کند. گذرواژه‌ها از قبل باید هش‌شده (crypted) باشند.
مشابه دستور adduser است، با این تفاوت که اطمینان حاصل می‌کند username از قبل در filename وجود دارد. dbmmanage passwords.dat update rbowen
فقط محتویات فایل DBM را نمایش می‌دهد. اگر یک username مشخص کنید، فقط همان رکورد خاص را نمایش می‌دهد. dbmmanage passwords.dat view

باید آگاه باشید که چندین فرمت فایل DBM مختلف وجود دارد و به احتمال زیاد، کتابخانه‌های مربوط به بیش از یک فرمت در سیستم شما موجود است. سه نمونه اصلی عبارتند از SDBM، NDBM، پروژه GDBM گنو و Berkeley DB 2. متأسفانه، همه این کتابخانه‌ها از فرمت‌های فایل متفاوتی استفاده می‌کنند و شما باید مطمئن شوید که فرمت فایل مورد استفاده توسط filename همان فرمتی است که dbmmanage انتظار دارد. در حال حاضر dbmmanage راهی برای تشخیص نوع فایل DBM که در حال بررسی آن است ندارد. در صورت استفاده برای یک فرمت نادرست، برنامه به سادگی هیچ چیزی برنمی‌گرداند، یا ممکن است یک فایل DBM متفاوت با نامی دیگر ایجاد کند، یا در بدترین حالت، در صورت تلاش برای نوشتن روی آن، ممکن است فایل DBM را خراب کند.

دستور dbmmanage فهرستی از اولویت‌های فرمت DBM دارد که توسط آرایه @AnyDBM::ISA در نزدیکی ابتدای برنامه تعریف شده است. از آنجا که فرمت فایل Berkeley DB 2 ترجیح داده می‌شود، ترتیبی که dbmmanage به دنبال کتابخانه‌های سیستمی می‌گردد عبارت است از Berkeley DB 2، سپس NDBM، سپس GDBM و سپس SDBM. نخستین کتابخانه یافت‌شده کتابخانه‌ای خواهد بود که dbmmanage تلاش می‌کند از آن برای تمام تراکنش‌های فایل DBM استفاده کند. این ترتیب کمی با ترتیب استاندارد @AnyDBM::ISA در Perl و همچنین ترتیبی که توسط فراخوانی ساده dbmopen() در Perl استفاده می‌شود متفاوت است؛ بنابراین اگر از هر ابزار دیگری برای مدیریت فایل‌های DBM خود استفاده می‌کنید، آن‌ها نیز باید از این ترتیب اولویت پیروی کنند. در صورت استفاده از برنامه‌هایی به زبان‌های دیگر مانند C برای دسترسی به این فایل‌ها نیز باید دقت مشابهی به کار گرفته شود.

معمولاً می‌توان از برنامه file که همراه با اکثر سیستم‌های یونیکس ارائه می‌شود برای مشاهده اینکه یک فایل DBM در چه فرمتی قرار دارد استفاده کرد.

2026-04-30 Apache HTTP Server