Passwd
دستور
passwd
فرمانی برای اعتبارسنجی گذرواژهٔ کاربر است، که در اکثر سیستمعاملهای یونیکس و شبهیونیکس یافت میشود.
با کمک این فرمان میتوان کارهای مختلفی بر گذرواژهٔ کاربران انجام داد، مانند:
- ایجاد گذرواژه
- تغییر گذرواژه
- حذف گذرواژه
- قفل کردن گذرواژه
- برداشتن قفل گذرواژه
- اجبار به تغییر گذرواژه
- ...
محتویات
شرح
دستور
passwd
با کمک توابع هش(hash) اعتبارسنجی گذرواژهٔ کاربر را بررسی میکند، بدین ترتیب که ابتدا رمز ورودی کاربر را به یک الگوریتم هش میفرستد و مقدار بازگشتی را برای اعتبارسنجی ذخیره میکند. گذرواژهٔ وارد شده به دلایل امنیتی ذخیره نمیشود.
دستور
passwd
هماکنون از الگوریتمهای هش
MD5
،
Blowfish
،
Eksblowfish
،
SHA-256
،
SHA-512
پشتیبانی میکند:
دستور
passwd
میتواند گذرواژهٔ حسابهای کاربری را تغییر دهد، البته یک کاربر معمولی فقط میتواند گذرواژهٔ خود را تغییر دهد. در حالی که کاربر ریشه(root, superuser) میتواند گذرواژهٔ هر کسی یا مدت اعتبار حساب یا تاریخ انقضاء گذرواژهٔ آن را تغییر دهد.
تغییر رمز عبور
در صورت وجود گذرواژه، ابتدا از کاربر خواسته میشود گذرواژهٔ قبلی خود را وارد کند. سپس این گذرواژه رمزگذاری شده و با گذرواژهٔ ذخیره شده مقایسه میشود. کاربر فقط یک فرصت دارد تا گذرواژهٔ صحیح را وارد کنید، ولی کاربر فوق العاده((root, superuser) مجاز است این مرحله را دور بزند تا بتواند گذرواژههای فراموش شده را تغییر دهد.
پس از وارد کردن گذرواژه، اطلاعات قدیمی شدن گذرواژه بررسی میشود تا ببیند آیا در این زمان کاربر مجاز به تغییر گذرواژه است. اگر نه،
passwd
از تغییر گذرواژه خودداری میکند.
سپس دو بار از کاربر خواسته میشود که یک گذرواژه جایگزین کند. ورودی دوم با ورودی اولی مقایسه میشود و هر دو برای تغییر گذرواژه باید مطابقت داشته باشند.
سپس، گذرواژه برای پیچیدگی آزمایش میشود. به عنوان یک راهنمای کلی، گذرواژهها باید 6 تا 8 نویسه شامل یک یا چند نویسه از هر یک از مجموعههای زیر باشد:
- حروف کوچکِ حروف الفبا
- ارقام 0 تا 9
- علائم نگارشی
باید مراقب بود که نویسههای پیشگزیده سامانه مانند:«نویسههای پاک کردن، خط جدید، پایان خط و ...» وارد نشود. دستور
passwd
، گذرواژهای را که پیچیده نیست، رد میکند.
نکاتی در مورد گذواژههای کاربر
امنیت گذرواژه به قدرت الگوریتم رمزگذاری و خود گذرواژه بستگی دارد. اندازه فضای کلید روش رمزگذاری سیستم UNIX قدیمی بر اساس NBS DES است. الگوریتم روشهای اخیرتر توصیه می شود (ENCRYPT_METHOD را ببینید). اندازه فضای کلید به تصادفی بودن گذرواژه انتخاب شده بستگی دارد.
به خطر انداختن امنیت رمز عبور به طور معمول ناشی از انتخاب بی دقت گذرواژه یا رسیدگی. به همین دلیل ، نباید گذرواژه ای را انتخاب کنید که در فرهنگ لغت ظاهر می شود یا که باید نوشته شود گذرواژه همچنین نباید یک نام مناسب ، مجوز شما باشد شماره ، تاریخ تولد یا آدرس خیابان. هر یک از این موارد ممکن است به عنوان حدسی برای نقض مورد استفاده قرار گیرد امنیت سیستم
می توانید در مورد نحوه انتخاب رمز عبور قوی راهنمایی کنید http://en.wikipedia.org/wiki/Password_strength
گزینهها
گزینههایی که برای دستور
passwd
اعمال میشود عبارتند از:
-a, --all
: این گزینه فقط با گزینهٔ -S قابل استفاده است و باعث نمایش وضعیت همه کاربران میشود.
-d, --delete
: گذرواژهٔ کاربر را حذف میکند(آن را خالی کنید). این یک راه سریع برای غیرفعال کردن رمز عبور است.
برای یک حساب این حساب نام کاربری را بدون رمز عبور تنظیم می کند.
-e, --expire
: بلافاصله گذرواژه حساب را منقضی میکنید.
- این کار باعث مجبور کردن کاربران به تغییر گذرواژهٔ آنها در ورود بعدی میشود.
-h, --help
: پیام راهنما را نمایش داده و خارج میشود.
-i, --inactive INACTIVE
: این گزینه برای غیرفعال کردن حساب پس از گذشت چند روز از انقضای گذرواژه، استفاده میشود.
بعد از اینکه یک حساب کاربری پس از روزهای INACTIVE هنوز گذرواژهاش منقضی باشد، ممکن است کاربر دیگر به حساب کاربری وارد نشود.
-k, --keep-tokens
: تغییر گذرواژه باید فقط برای ژتونهای(tokens) احراز هویت (گذرواژهها) منقضی انجام شود. کاربر میخواهد توکنهای تاریخ انقضاء خود را مانند گذشته نگهدارد.
-l, --lock
: گذرواژه حساب را قفل میکند. این گزینه با تغییر گذرواژه آن به مقداری که با هیچ مقدار رمزگذاری شده مطابقت ندارد،
آن را غیرفعال میکند.(در ابتدای گذرواژه، یک
!
اضافه میکند)
توجه داشته باشید که این کار باعث غیرفعال شدن حساب نمیشود. ممکن است کاربر همچنان بتواند با استفاده از
ژتون(token) احراز هویت دیگر (به عنوان مثال کلید SSH) به سیستم وارد شود. برای غیرفعال کردن حساب، مدیران
باید از
$ usermod --expiateate 1
استفاده کنند (این تاریخ انقضای حساب را به 2 ژانویه 1970 تنظیم میکند).
- کاربران با گذرواژهٔ قفل شده، مجاز به تغییر گذرواژهٔ خود نیستند.
-n, --mindays MIN_DAYS
: حداقل تعداد روز برای تغییر گذرواژه را روی MIN_DAYS تنظیم میکند.
- مقدار صفر نشان میدهد که کاربر میتواند گذرواژهٔ خود را در هر زمان تغییر دهد.
-q, --quiet
:حالت ساکت
-r, --repository REPOSITORY
: تغییر رمز در مخزن REPOSITORY.
-R, --root CHROOT_DIR
: تغییرات را در شاخهٔ CHROOT_DIR اعمال میکند و از پروندههای پیکربندی شاخهٔ CHROOT_DIR استفاده میکند.
-S, --status
: نمایش اطلاعات وضعیت حساب. اطلاعات وضعیت شامل 7 قسمت است.
- اولین قسمت نام کاربر ورودی است.
- قسمت دوم نشان میدهد که آیا حساب کاربری دارای گذرواژهٔ قفل شده (L)، بدون گذرواژه (NP) یا دارای گذرواژهٔ قابل استفاده است (P).
- قسمت سوم تاریخ آخرین تغییر گذرواژه را نشان میدهد.
- چهار قسمت بعدی کمینهٔ سن، بیشینهٔ سن، دوره هشدار و دوره عدم فعالیت برای گذرواژه نشان میدهد. این مقادیر در روز بیان میشوند.
-u, --unlock
: گذرواژه حساب کاربر را باز کنید. این گزینه گذرواژه را با تغییر آن به مقدار قبلی دوباره فعال میکند.
- گذرواژه را به مقدار قبل از استفاده از گزینهٔ -l بازمیگرداند.
-w, --warndays WARN_DAYS
: تعداد روزهای هشدار را پیش از نیاز به تغییر گذرواژه را تنظیم کنید. مقدار WARN_DAYS تعداد روزهای قبل از انقضای گذرواژه است که به کاربر هشدار داده میشود که گذرواژه آنها در حال انقضا است.
-x, --maxdays MAX_DAYS
: بیشینهٔ روزهایی را که گذرواژه معتبر بماند، را تعیین کنید. پس از MAX_DAYS، گذرواژه باید تغییر کند.
- با تنظیم مقدار -1 به عنوان MAX_DAYS بررسی اعتبار گذرواژه حذف میشود.
غارها
بررسی پیچیدگی گذرواژه ممکن است از سایتی به سایت دیگر متفاوت باشد. از کاربر خواسته می شود که a را انتخاب کند رمز عبور به همان اندازه که احساس راحتی می کند
در صورت فعال بودن NIS و فعال بودن آنها، ممکن است کاربران نتوانند رمز عبور خود را در سیستم تغییر دهند به سرور NIS وارد نشده است
passwd
از PAM برای احراز هویت کاربران و تغییر گذرواژهٔ آنها استفاده میکند.
پروندهها
/etc/passwd
: اطلاعات حساب کاربری.
/etc/shadow
: اطلاعات ایمنی حساب کاربری.
/etc/pam.d/passwd
: پیکربندی PAM برای passwd.
وضعیتهای خروج
دستور passwd مقادیر زیر را به عنوان وضعیت خروج برمیگرداند:
0
: موفقیت
1
: اجازه داده نشد
2
: ترکیبی از گزینههای نامعتبر
3
: شکست غیر منتظره ، هیچ کاری انجام نشده است
4
: شکست غیر منتظره ، پروندهٔ passwd گم شده است
5
: پروندهٔ passwd مشغول است، دوباره امتحان کنید
6
: آرگومان نامعتبر برای گزینه