GPASSWD(1) دستورات کاربری (User Commands) GPASSWD(1)

gpasswd - مدیریت فایلهای etc/group/ و etc/gshadow/

gpasswd [option] group

دستور gpasswd برای مدیریت فایلهای /etc/group و /etc/gshadow به‌کار می‌رود. هر گروه می‌تواند دارای مدیران، اعضا و یک گذرواژه باشد.

مدیران سیستم می‌توانند از گزینه -A برای تعیین مدیر(ان) گروه و از گزینه -M برای تعیین اعضا استفاده کنند. آن‌ها از تمام اختیارات مدیران و اعضای گروه برخوردار هستند.

اجرای دستور gpasswd توسط یک مدیر گروه، تنها همراه با نام گروه، برای دریافت گذرواژه جدید group اعلان نمایش می‌دهد.

در صورت تنظیم گذرواژه، اعضا همچنان می‌توانند از دستور newgrp(1) بدون گذرواژه استفاده کنند، اما کاربران غیرعضو باید گذرواژه را ارائه دهند.

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

به‌جز گزینه‌های -A و -M، گزینه‌ها نمی‌توانند با یکدیگر ترکیب شوند.

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

-a, --add user

افزودن user به group مشخص‌شده.

-d, --delete user

حذف user از group مشخص‌شده.

-h, --help

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

-Q, --root CHROOT_DIR

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

-r, --remove-password

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

-R, --restrict

محدود کردن دسترسی به group مشخص‌شده. گذرواژه گروه روی "!" تنظیم می‌شود. تنها اعضای گروه که دارای گذرواژه هستند مجاز خواهند بود با استفاده از newgrp به group مشخص‌شده بپیوندند.

-A, --administrators user,...

تعیین فهرست کاربران مدیر.

-M, --members user,...

تعیین فهرست اعضای گروه.

این ابزار فقط بر روی فایلهای /etc/group و /etc/gshadow عمل می‌کند. بنابراین شما نمی‌توانید هیچ گروه NIS یا LDAP را تغییر دهید. این کار باید بر روی سرور مربوطه انجام گیرد.

متغیرهای پیکربندی زیر در /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 تنظیم شده باشد، این متغیر تعداد دورهای (rounds) SHA را که به طور پیش‌فرض توسط الگوریتم رمزنگاری استفاده می‌شود مشخص می‌کند (زمانی که تعداد دورها در خط فرمان مشخص نشده باشد).

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

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

مقادیر باید در محدوده 1000 تا 999,999,999 باشند.

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

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

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

/etc/group

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

/etc/gshadow

اطلاعات محافظت‌شده برای حساب‌های کاربری گروه.

newgrp(1), groupadd(8), groupdel(8), groupmod(8), grpck(8), group(5), gshadow(5).

04/19/2025 shadow-utils 4.17.4