CHGPASSWD(8) دستورات مدیریت سیستم CHGPASSWD(8)

chgpasswd - بهروزرسانی دستهجمعی گذرواژههای گروهها

chgpasswd [گزینه‌ها]

دستور chgpasswd فهرستی از جفت‌های نام گروه و گذرواژه را از ورودی استاندارد می‌خواند و از این اطلاعات برای به‌روزرسانی مجموعه‌ای از گروه‌های موجود استفاده می‌کند. هر خط باید در قالب زیر باشد:

group_name:password

به‌طور پیش‌فرض گذرواژه ارائه‌شده باید به‌صورت متن آشکار باشد و توسط chgpasswd رمزنگاری می‌شود.

الگوریتم پیش‌فرض رمزنگاری را می‌توان برای کل سیستم با استفاده از متغیر ENCRYPT_METHOD در /etc/login.defs تعریف کرد، و می‌توان آن را با گزینه‌های -e، -m یا -c بازنویسی کرد.

این دستور برای استفاده در محیط‌های سیستمی بزرگ که در آن‌ها حساب‌های کاربری زیادی به یک‌باره ایجاد می‌شوند در نظر گرفته شده است.

گزینه‌هایی که برای دستور chgpasswd به‌کار می‌روند عبارتند از:

-c, --crypt-method

استفاده از روش مشخص‌شده برای رمزنگاری گذرواژه‌ها.

روش‌های موجود عبارتند از DES، MD5، SHA256، SHA512، YESCRYPT و NONE در صورتی که libc شما از این روش‌ها پشتیبانی کند.

-e, --encrypted

گذرواژه‌های ارائه‌شده به فرم رمزنگاری‌شده هستند.

-h, --help

نمایش پیام راهنما و خروج.

-m, --md5

استفاده از رمزنگاری MD5 به جای DES در حالتی که گذرواژه‌های ارائه‌شده رمزنگاری نشده باشند.

-R, --root CHROOT_DIR

اعمال تغییرات در دایرکتوری CHROOT_DIR و استفاده از فایل‌های پیکربندی موجود در دایرکتوری CHROOT_DIR. تنها مسیرهای مطلق پشتیبانی می‌شوند.

-s, --sha-rounds

استفاده از تعداد دورهای مشخص‌شده برای رمزنگاری گذرواژه‌ها.

این گزینه فقط با این روش‌های رمزنگاری قابل استفاده است: SHA256، SHA512 و YESCRYPT.

به‌طور پیش‌فرض، تعداد دورها برای SHA256 یا SHA512 توسط متغیرهای SHA_CRYPT_MIN_ROUNDS و SHA_CRYPT_MAX_ROUNDS در /etc/login.defs تعیین می‌شود.

حداقل مقدار ۱۰۰۰ و حداکثر مقدار ۹۹۹٬۹۹۹٬۹۹۹ برای SHA256 و SHA512 اعمال خواهد شد. تعداد دورهای پیش‌فرض ۵۰۰۰ است.

به‌طور پیش‌فرض، تعداد دورها برای YESCRYPT توسط YESCRYPT_COST_FACTOR در /etc/login.defs تعیین می‌شود.

حداقل مقدار ۱ و حداکثر مقدار ۱۱ برای YESCRYPT اعمال خواهد شد. تعداد دورهای پیش‌فرض ۵ است.

به یاد داشته باشید که مجوزها یا umask را طوری تنظیم کنید که از خوانده شدن فایل‌های رمزنگاری‌نشده توسط سایر کاربران جلوگیری شود.

باید مطمئن شوید که گذرواژه‌ها و روش رمزنگاری از خط‌مشی گذرواژه سیستم پیروی می‌کنند.

متغیرهای پیکربندی زیر در /etc/login.defs رفتار این ابزار را تغییر می‌دهند:

ENCRYPT_METHOD (رشته)

این متغیر الگوریتم پیش‌فرض رمزنگاری سیستم را برای رمزنگاری گذرواژه‌ها مشخص می‌کند (اگر هیچ الگوریتمی در خط فرمان مشخص نشده باشد).

می‌تواند یکی از این مقادیر را بپذیرد: DES (پیش‌فرض)، MD5، SHA256، SHA512، YESCRYPT. نباید از MD5 و DES برای هش‌های جدید استفاده شود؛ برای توصیه‌ها به crypt(5) مراجعه کنید.

نکته: این پارامتر بر متغیر MD5_CRYPT_ENAB اولویت دارد و مقدار آن را جایگزین می‌کند.

نکته: این تنظیم تنها بر ایجاد گذرواژه‌های گروه تأثیر می‌گذارد. ایجاد گذرواژه‌های کاربران توسط PAM انجام می‌شود و تابع پیکربندی PAM است. توصیه می‌شود این متغیر سازگار با پیکربندی PAM تنظیم گردد.

MAX_MEMBERS_PER_GROUP (عدد)

حداکثر اعضا برای هر مدخل گروه. هنگامی که به حداکثر مقدار برسد، یک مدخل (خط) جدید برای گروه در /etc/group آغاز می‌شود (با همان نام، همان گذرواژه و همان GID).

مقدار پیش‌فرض 0 است، به این معنی که هیچ محدودیتی در تعداد اعضای یک گروه وجود ندارد.

این قابلیت (گروه تفکیک‌شده) امکان محدود کردن طول خطوط در فایل گروه را فراهم می‌کند. این امر برای اطمینان از اینکه خطوط برای گروه‌های NIS از ۱۰۲۴ نویسه بزرگ‌تر نباشند مفید است.

اگر نیاز به اعمال چنین محدودیتی دارید، می‌توانید از 25 استفاده کنید.

نکته: گروه‌های تفکیک‌شده ممکن است توسط همه ابزارها پشتیبانی نشوند (حتی در مجموعه ابزار Shadow). نباید از این متغیر استفاده کنید مگر اینکه واقعاً به آن نیاز داشته باشید.

MD5_CRYPT_ENAB (بولی)

مشخص می‌کند که آیا گذرواژه‌ها باید با استفاده از الگوریتم مبتنی بر MD5 رمزنگاری شوند یا خیر. اگر برابر با yes تنظیم شود، گذرواژه‌های جدید با استفاده از الگوریتم مبتنی بر MD5 سازگار با نسخه‌های اخیر FreeBSD رمزنگاری می‌شوند. این الگوریتم از گذرواژه‌های با طول نامحدود و رشته‌های نمک (salt) طولانی‌تر پشتیبانی می‌کند. در صورتی که نیاز دارید گذرواژه‌های رمزنگاری‌شده را به سیستم‌های دیگری که این الگوریتم جدید را پشتیبانی نمی‌کنند کپی کنید، آن را روی no تنظیم کنید. پیش‌فرض no است.

این متغیر توسط متغیر ENCRYPT_METHOD یا هر گزینه خط فرمان برای پیکربندی الگوریتم رمزنگاری منسوخ و جایگزین شده است.

این متغیر منسوخ شده است؛ باید از ENCRYPT_METHOD استفاده کنید.

نکته: این تنظیم تنها بر ایجاد گذرواژه‌های گروه تأثیر می‌گذارد. ایجاد گذرواژه‌های کاربران توسط PAM انجام می‌شود و تابع پیکربندی PAM است. توصیه می‌شود این متغیر سازگار با پیکربندی PAM تنظیم گردد.

SHA_CRYPT_MIN_ROUNDS (عدد)، SHA_CRYPT_MAX_ROUNDS (عدد)

هنگامی که ENCRYPT_METHOD روی SHA256 یا SHA512 تنظیم شده باشد، این متغیرها تعداد دورهای SHA مورد استفاده در الگوریتم رمزنگاری را به‌طور پیش‌فرض مشخص می‌کنند (هنگامی که تعداد دورها در خط فرمان مشخص نشده باشد).

با افزایش تعداد دورها، شکستن گذرواژه با حمله جستجوی فراگیر دشوارتر می‌شود. اما توجه داشته باشید که منابع پردازنده بیشتری برای احراز هویت کاربران مورد نیاز خواهد بود.

در صورت عدم تعیین، libc تعداد دورهای پیش‌فرض (۵۰۰۰) را انتخاب می‌کند که برای سخت‌افزارهای مدرن بسیار کم است.

مقادیر باید در محدوده ۱۰۰۰ تا ۹۹۹٬۹۹۹٬۹۹۹ باشند.

اگر تنها یکی از مقادیر SHA_CRYPT_MIN_ROUNDS یا SHA_CRYPT_MAX_ROUNDS تنظیم شده باشد، همان مقدار استفاده خواهد شد.

اگر SHA_CRYPT_MIN_ROUNDS > SHA_CRYPT_MAX_ROUNDS باشد، مقدار بالاتر استفاده خواهد شد.

نکته: این تنظیم تنها بر ایجاد گذرواژه‌های گروه تأثیر می‌گذارد. ایجاد گذرواژه‌های کاربران توسط PAM انجام می‌شود و تابع پیکربندی PAM است. توصیه می‌شود این متغیر سازگار با پیکربندی PAM تنظیم گردد.

YESCRYPT_COST_FACTOR (عدد)

هنگامی که ENCRYPT_METHOD روی YESCRYPT تنظیم شده باشد، این متغیر فاکتور هزینه استفاده‌شده توسط الگوریتم رمزنگاری را به‌طور پیش‌فرض مشخص می‌کند (زمانی که فاکتور هزینه در خط فرمان تعیین نشده باشد).

با فاکتور هزینه بالا، شکستن گذرواژه با حمله جستجوی فراگیر دشوارتر می‌شود. اما توجه داشته باشید که منابع پردازنده بیشتری برای احراز هویت کاربران مورد نیاز خواهد بود.

مقدار باید در محدوده ۱ تا ۱۱ باشد.

نکته: این تنظیم تنها بر ایجاد گذرواژه‌های گروه تأثیر می‌گذارد. ایجاد گذرواژه‌های کاربران توسط PAM انجام می‌شود و تابع پیکربندی PAM است. توصیه می‌شود این متغیر سازگار با پیکربندی PAM تنظیم گردد.

/etc/group

اطلاعات حساب‌های گروه.

/etc/gshadow

اطلاعات امن حساب‌های گروه.

/etc/login.defs

پیکربندی مجموعه گذرواژه Shadow.

gpasswd(1)، groupadd(8)، login.defs(5).

04/19/2025 shadow-utils 4.17.4