| CHPASSWD(8) | دستورات مدیریت سیستم (System Management Commands) | CHPASSWD(8) |
نام (NAME)
chpasswd - بهروزرسانی گذرواژهها در حالت دستهای
خلاصه دستور (SYNOPSIS)
chpasswd [گزینهها]
توضیحات (DESCRIPTION)
دستور chpasswd فهرستی از جفتهای نام کاربری و گذرواژه را از ورودی استاندارد میخواند و از این اطلاعات برای بهروزرسانی مجموعهای از کاربران موجود استفاده میکند. هر خط در قالب زیر است:
user_name:password
بهطور پیشفرض، گذرواژهها باید بهصورت متن آشکار ارائه شوند و توسط chpasswd رمزنگاری میشوند. همچنین در صورت وجود، عمر گذرواژه نیز بهروزرسانی خواهد شد.
بهطور پیشفرض، گذرواژهها توسط PAM رمزنگاری میشوند، اما (حتی اگر توصیه نشود) میتوانید روش رمزنگاری دیگری را با گزینههای -e یا -c انتخاب کنید.
بهجز زمانی که از PAM برای رمزنگاری گذرواژهها استفاده میشود، chpasswd ابتدا همهٔ گذرواژهها را در حافظه بهروزرسانی میکند، و سپس در صورتی که هیچ خطایی برای هیچ کاربری رخ نداده باشد، تمامی تغییرات را روی دیسک اعمال میکند.
هنگامی که از PAM برای رمزنگاری گذرواژهها (و بهروزرسانی گذرواژهها در پایگاهداده سیستم) استفاده میشود، در صورتی که گذرواژهای نتواند بهروزرسانی شود، chpasswd به بهروزرسانی گذرواژههای کاربران بعدی ادامه میدهد و هنگام خروج یک کد خطا بازمیگرداند.
این دستور برای استفاده در محیطهای سیستمی بزرگ که در آنها حسابهای زیادی بهطور همزمان ایجاد میشوند در نظر گرفته شده است.
گزینهها (OPTIONS)
گزینههایی که برای دستور chpasswd اعمال میشوند عبارتند از:
-c, --crypt-method METHOD
روشهای موجود عبارتند از: SHA256، SHA512، YESCRYPT و NONE در صورتی که libc شما از این روشها پشتیبانی کند.
بهطور پیشفرض، از PAM برای رمزنگاری گذرواژهها استفاده میشود.
-e, --encrypted
-h, --help
-R, --root CHROOT_DIR
-P, --prefix PREFIX_DIR
-s, --sha-rounds ROUNDS
تنها میتوانید از این گزینه همراه با روشهای رمزنگاری زیر استفاده کنید: SHA256 SHA512 YESCRYPT
بهطور پیشفرض، تعداد دورها برای SHA256 یا SHA512 با متغیرهای SHA_CRYPT_MIN_ROUNDS و SHA_CRYPT_MAX_ROUNDS در /etc/login.defs تعیین میشود.
حداقل مقدار 1000 و حداکثر مقدار 999,999,999 برای SHA256 و SHA512 اعمال خواهد شد. تعداد پیشفرض دورها 5000 است.
بهطور پیشفرض، تعداد دورها برای YESCRYPT با متغیر YESCRYPT_COST_FACTOR در /etc/login.defs تعیین میشود.
حداقل مقدار 1 و حداکثر مقدار 11 برای YESCRYPT اعمال خواهد شد. تعداد پیشفرض دورها 5 است.
هشدارها (CAVEATS)
به یاد داشته باشید که مجوزها یا umask را طوری تنظیم کنید که از خوانده شدن فایلهای رمزنگارینشده توسط سایر کاربران جلوگیری شود.
پیکربندی (CONFIGURATION)
متغیرهای پیکربندی زیر در /etc/login.defs رفتار این ابزار را تغییر میدهند:
SHA_CRYPT_MIN_ROUNDS (عدد)، SHA_CRYPT_MAX_ROUNDS (عدد)
با افزایش تعداد دورها، شکستن گذرواژه با حمله جستجوی فراگیر دشوارتر میشود. اما توجه داشته باشید که منابع پردازنده بیشتری برای احراز هویت کاربران مورد نیاز خواهد بود.
در صورت عدم تعیین، libc تعداد دورهای پیشفرض (5000) را انتخاب میکند که برای سختافزارهای مدرن بسیار کم است.
مقادیر باید در محدوده 1000 تا 999,999,999 باشند.
اگر تنها یکی از مقادیر SHA_CRYPT_MIN_ROUNDS یا SHA_CRYPT_MAX_ROUNDS تنظیم شده باشد، همان مقدار استفاده خواهد شد.
اگر SHA_CRYPT_MIN_ROUNDS > SHA_CRYPT_MAX_ROUNDS باشد، مقدار بالاتر استفاده خواهد شد.
نکته: این تنظیم تنها بر ایجاد گذرواژههای گروه تأثیر میگذارد. ایجاد گذرواژههای کاربران توسط PAM انجام میشود و تابع پیکربندی PAM است. توصیه میشود این متغیر سازگار با پیکربندی PAM تنظیم گردد.
YESCRYPT_COST_FACTOR (عدد)
با فاکتور هزینه بالا، شکستن گذرواژه با حمله جستجوی فراگیر دشوارتر میشود. اما توجه داشته باشید که منابع پردازنده بیشتری برای احراز هویت کاربران مورد نیاز خواهد بود.
مقدار باید در محدوده 1 تا 11 باشد.
نکته: این تنظیم تنها بر ایجاد گذرواژههای گروه تأثیر میگذارد. ایجاد گذرواژههای کاربران توسط PAM انجام میشود و تابع پیکربندی PAM است. توصیه میشود این متغیر سازگار با پیکربندی PAM تنظیم گردد.
فایلها (FILES)
/etc/passwd
/etc/shadow
/etc/login.defs
/etc/pam.d/chpasswd
همچنین ببینید (SEE ALSO)
| 07/30/2026 | shadow-utils 4.20.0 |