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
: تغییر رمز عبور باید فقط برای توکن های احراز هویت منقضی انجام شود
(رمزهای عبور). کاربر می خواهد توکن های تاریخ انقضاء خود را مانند گذشته نگه دارد.
-l, --lock
: گذرواژه حساب را قفل میکند. این گزینه با تغییر گذرواژه آن به مقداری که با هیچ مقدار رمزگذاری شده مطابقت ندارد،
آن را غیرفعال میکند.(در ابتدای گذرواژه، یک
!
اضافه میکند)
توجه داشته باشید که این کار باعث غیرفعال شدن حساب نمیشود. ممکن است کاربر همچنان بتواند با استفاده از
ژتون(token) احراز هویت دیگر (به عنوان مثال کلید SSH) به سیستم وارد شود. برای غیرفعال کردن حساب، مدیران
باید از
$ usermod --expiateate 1
استفاده کنند (این تاریخ انقضای حساب را به 2 ژانویه 1970 تنظیم میکند).
کاربران با گذرواژهٔ قفل شده، مجاز به تغییر گذرواژهٔ خود نیستند.
-n, --mindays MIN_DAYS
: حداقل تعداد روز بین تغییرات گذرواژه را روی MIN_DAYS تنظیم کنید. مقدار صفر
for this field نشان می دهد که کاربر می تواند رمز عبور خود را در هر زمان تغییر دهد.
-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
: آرگومان نامعتبر برای گزینه