Passwd: تفاوت بین نسخهها
(←نکاتی در مورد گزواژههای کاربر) |
|||
(۵ نسخهٔ میانی ویرایش شده توسط ۲ کاربر نشان داده نشده) | |||
سطر ۱۳: | سطر ۱۳: | ||
== شرح == | == شرح == | ||
− | دستور {{ic|passwd}} با کمک توابع هش(hash) | + | دستور {{ic|passwd}} با کمک توابع هش(hash)، گذرواژهٔ کاربر را اعتبارسنجی میکند، بدین ترتیب که ابتدا رمز ورودی کاربر را به یک الگوریتم هش(hash) میفرستد و مقدار بازگشتی را برای اعتبارسنجی ذخیره میکند. گذرواژهٔ وارد شده به دلایل امنیتی ذخیره نمیشود. |
دستور {{ic|passwd}} هماکنون از الگوریتمهای هش {{ic|MD5}}، {{ic|Blowfish}}، {{ic|Eksblowfish}}، {{ic|SHA-256}}، {{ic|SHA-512}} پشتیبانی میکند: | دستور {{ic|passwd}} هماکنون از الگوریتمهای هش {{ic|MD5}}، {{ic|Blowfish}}، {{ic|Eksblowfish}}، {{ic|SHA-256}}، {{ic|SHA-512}} پشتیبانی میکند: | ||
سطر ۲۱: | سطر ۲۱: | ||
== تغییر رمز عبور == | == تغییر رمز عبور == | ||
در صورت وجود گذرواژه، ابتدا از کاربر خواسته میشود گذرواژهٔ قبلی خود را وارد کند. سپس این گذرواژه رمزگذاری شده و با گذرواژهٔ ذخیره شده مقایسه میشود. | در صورت وجود گذرواژه، ابتدا از کاربر خواسته میشود گذرواژهٔ قبلی خود را وارد کند. سپس این گذرواژه رمزگذاری شده و با گذرواژهٔ ذخیره شده مقایسه میشود. | ||
− | کاربر فقط یک فرصت دارد تا گذرواژهٔ صحیح را وارد کنید، ولی کاربر فوق العاده | + | کاربر فقط یک فرصت دارد تا گذرواژهٔ صحیح را وارد کنید، ولی کاربر فوق العاده('''root''', '''superuser''') مجاز است این مرحله را دور بزند تا بتواند گذرواژههای فراموش شده را تغییر دهد. |
− | پس از وارد کردن گذرواژه، اطلاعات قدیمی شدن گذرواژه بررسی میشود تا ببیند آیا در این زمان کاربر مجاز به تغییر گذرواژه است. اگر نه، {{ic|passwd}} از تغییر گذرواژه خودداری میکند. | + | پس از وارد کردن گذرواژه، اطلاعات قدیمی شدن گذرواژه بررسی میشود تا ببیند آیا در این زمان کاربر مجاز به تغییر گذرواژه است. اگر نه، دستور {{ic|passwd}} از تغییر گذرواژه خودداری میکند. |
− | سپس دو | + | سپس دو مرتبه از کاربر خواسته میشود که گذرواژهٔ جایگزین را وارد کند. ورودی دوم با ورودی اولی مقایسه میشود و هر دو برای تغییر گذرواژه باید مطابقت داشته باشند. |
سپس، گذرواژه برای پیچیدگی آزمایش میشود. به عنوان یک راهنمای کلی، گذرواژهها باید 6 تا 8 نویسه شامل یک یا چند نویسه از هر یک از مجموعههای زیر باشد: | سپس، گذرواژه برای پیچیدگی آزمایش میشود. به عنوان یک راهنمای کلی، گذرواژهها باید 6 تا 8 نویسه شامل یک یا چند نویسه از هر یک از مجموعههای زیر باشد: | ||
− | * حروف | + | * حروف کوچک الفبا |
* ارقام 0 تا 9 | * ارقام 0 تا 9 | ||
* علائم نگارشی | * علائم نگارشی | ||
سطر ۳۵: | سطر ۳۵: | ||
== نکاتی در مورد گذواژههای کاربر == | == نکاتی در مورد گذواژههای کاربر == | ||
+ | {{یادداشت|نیاز به اصلاح دارد}} | ||
امنیت گذرواژه به قدرت الگوریتم رمزگذاری و خود گذرواژه بستگی دارد. اندازه فضای کلید روش رمزگذاری سیستم UNIX قدیمی بر اساس NBS DES است. | امنیت گذرواژه به قدرت الگوریتم رمزگذاری و خود گذرواژه بستگی دارد. اندازه فضای کلید روش رمزگذاری سیستم UNIX قدیمی بر اساس NBS DES است. | ||
الگوریتم روشهای اخیرتر توصیه می شود (ENCRYPT_METHOD را ببینید). اندازه | الگوریتم روشهای اخیرتر توصیه می شود (ENCRYPT_METHOD را ببینید). اندازه | ||
سطر ۴۵: | سطر ۴۶: | ||
امنیت سیستم | امنیت سیستم | ||
− | می توانید در مورد | + | می توانید در مورد نحوهٔ انتخاب گذرواژهٔ قوی اینجا را مطالعه کنید: [http://en.wikipedia.org/wiki/Password_strength] |
− | http://en.wikipedia.org/wiki/Password_strength | ||
== گزینهها == | == گزینهها == | ||
− | گزینههایی که برای دستور {{ic|passwd}} اعمال | + | گزینههایی که میتوان برای دستور {{ic|passwd}} اعمال شوند، عبارتند از: |
{{ic|-a, --all}} : این گزینه فقط با گزینهٔ ''''''-S قابل استفاده است و باعث نمایش وضعیت همه کاربران میشود. | {{ic|-a, --all}} : این گزینه فقط با گزینهٔ ''''''-S قابل استفاده است و باعث نمایش وضعیت همه کاربران میشود. | ||
− | {{ic|-d, --delete}} : گذرواژهٔ کاربر را حذف میکند(آن را خالی | + | {{ic|-d, --delete}} : گذرواژهٔ کاربر را حذف میکند(آن را خالی میکند). این یک راه سریع برای غیرفعال کردن گذرواژهٔ یک کاربر است. |
− | + | این کار حساب کاربر را بدون گذرواژه تنظیم می کند. | |
+ | * با این کار دیگر هنگام ورود به سامانه از کاربر درخواست گذرواژه نمیشود. | ||
+ | * این کار را برای کاربران با دسترسی بالا مانند کاربران عضو گروه '''sudo''' انجام ندهید. | ||
+ | {{رنگ|red||زیرا ممکن است صدمات جدی به سامانه وارد شود.}} | ||
− | {{ic|-e, --expire}} : بلافاصله | + | {{ic|-e, --expire}} : بلافاصله گذرواژهٔ حساب را منقضی میکند. |
* این کار باعث مجبور کردن کاربران به تغییر گذرواژهٔ آنها در ورود بعدی میشود. | * این کار باعث مجبور کردن کاربران به تغییر گذرواژهٔ آنها در ورود بعدی میشود. | ||
{{ic|-h, --help}} : پیام راهنما را نمایش داده و خارج میشود. | {{ic|-h, --help}} : پیام راهنما را نمایش داده و خارج میشود. | ||
− | {{ic|-i, --inactive INACTIVE}} : این گزینه برای غیرفعال کردن حساب پس از گذشت چند روز از | + | {{ic|-i, --inactive INACTIVE}} : این گزینه برای غیرفعال کردن حساب پس از گذشت چند روز از انقضاء گذرواژه، استفاده میشود. |
بعد از اینکه یک حساب کاربری پس از روزهای '''INACTIVE''' هنوز گذرواژهاش منقضی باشد، ممکن است کاربر دیگر به حساب کاربری وارد نشود. | بعد از اینکه یک حساب کاربری پس از روزهای '''INACTIVE''' هنوز گذرواژهاش منقضی باشد، ممکن است کاربر دیگر به حساب کاربری وارد نشود. | ||
{{یادداشت|لطفا گزینه بالا را بررسی کنید، و اگر درست نیست آنرا اصلاح کنید.}} | {{یادداشت|لطفا گزینه بالا را بررسی کنید، و اگر درست نیست آنرا اصلاح کنید.}} | ||
− | {{ic|-k, --keep-tokens}} : تغییر | + | {{ic|-k, --keep-tokens}} : تغییر گذرواژه باید فقط برای ژتونهای(tokens) احراز هویت (گذرواژهها) منقضی انجام شود. کاربر میخواهد توکنهای تاریخ انقضاء خود را مانند گذشته نگهدارد. |
− | |||
− | {{ic|-l, --lock}} : گذرواژه حساب | + | {{ic|-l, --lock}} : گذرواژه حساب را قفل میکند. این گزینه با تغییر گذرواژه آن به مقداری که با هیچ مقدار رمزگذاری شده مطابقت ندارد، |
− | به مقداری که با هیچ مقدار رمزگذاری شده مطابقت | + | آن را غیرفعال میکند.(در ابتدای گذرواژه، یک {{ic|!}} اضافه میکند) |
− | توجه داشته باشید که این باعث غیرفعال شدن حساب | + | توجه داشته باشید که این کار باعث غیرفعال شدن حساب نمیشود. ممکن است کاربر همچنان بتواند با استفاده از |
− | + | ژتون(token) احراز هویت دیگر (به عنوان مثال کلید '''SSH''') به سیستم وارد شود. برای غیرفعال کردن حساب، مدیران | |
− | باید از usermod -expiateate 1 استفاده | + | باید از {{ic|$ usermod --expiateate 1}} استفاده کنند (این تاریخ انقضای حساب را به 2 ژانویه 1970 تنظیم میکند). |
− | کاربران با | + | * کاربران با گذرواژهٔ قفل شده، مجاز به تغییر گذرواژهٔ خود نیستند. |
− | {{ic|-n, --mindays MIN_DAYS}} : حداقل تعداد روز | + | {{ic|-n, --mindays MIN_DAYS}} : حداقل تعداد روز برای تغییر گذرواژه را روی '''MIN_DAYS''' تنظیم میکند. |
− | + | * مقدار صفر نشان میدهد که کاربر میتواند گذرواژهٔ خود را در هر زمان تغییر دهد. | |
− | {{ic|-q, --quiet}} :حالت | + | {{ic|-q, --quiet}} :حالت ساکت |
+ | {{یادداشت|اطلاعات اضافی درج شود}} | ||
− | {{ic|-r, --repository REPOSITORY}} : تغییر رمز در مخزن REPOSITORY | + | {{ic|-r, --repository REPOSITORY}} : تغییر رمز در مخزن '''REPOSITORY'''. |
+ | {{یادداشت|اطلاعات اضافی درج شود}} | ||
− | {{ic|-R, --root CHROOT_DIR}} : تغییرات را در | + | {{ic|-R, --root CHROOT_DIR}} : تغییرات را در شاخهٔ '''CHROOT_DIR''' اعمال میکند و از پروندههای پیکربندی شاخهٔ '''CHROOT_DIR''' استفاده میکند. |
− | |||
− | {{ic|-S, --status}} : نمایش اطلاعات وضعیت حساب اطلاعات وضعیت شامل 7 | + | {{ic|-S, --status}} : نمایش اطلاعات وضعیت حساب. اطلاعات وضعیت شامل 7 قسمت است. |
− | اولین | + | * اولین قسمت نام کاربر ورودی است. |
− | دارای | + | * قسمت دوم نشان میدهد که آیا حساب کاربری دارای گذرواژهٔ قفل شده ('''L''')، بدون گذرواژه ('''NP''') یا دارای گذرواژهٔ قابل استفاده است ('''P'''). |
− | + | * قسمت سوم تاریخ آخرین تغییر گذرواژه را نشان میدهد. | |
− | + | * چهار قسمت بعدی کمینهٔ سن، بیشینهٔ سن، دوره هشدار و دوره عدم فعالیت برای گذرواژه نشان میدهد. این مقادیر در روز بیان میشوند. | |
− | این | ||
{{ic|-u, --unlock}} : گذرواژه حساب کاربر را باز کنید. این گزینه گذرواژه را با تغییر آن به مقدار قبلی دوباره فعال میکند. | {{ic|-u, --unlock}} : گذرواژه حساب کاربر را باز کنید. این گزینه گذرواژه را با تغییر آن به مقدار قبلی دوباره فعال میکند. | ||
− | گذرواژه را به مقدار قبل از استفاده از گزینهٔ '''-l''' بازمیگرداند. | + | * گذرواژه را به مقدار قبل از استفاده از گزینهٔ '''-l''' بازمیگرداند. |
{{ic|-w, --warndays WARN_DAYS}} : تعداد روزهای هشدار را پیش از نیاز به تغییر گذرواژه را تنظیم کنید. مقدار '''WARN_DAYS''' تعداد روزهای قبل از انقضای گذرواژه است که به کاربر هشدار داده میشود که گذرواژه آنها در حال انقضا است. | {{ic|-w, --warndays WARN_DAYS}} : تعداد روزهای هشدار را پیش از نیاز به تغییر گذرواژه را تنظیم کنید. مقدار '''WARN_DAYS''' تعداد روزهای قبل از انقضای گذرواژه است که به کاربر هشدار داده میشود که گذرواژه آنها در حال انقضا است. | ||
سطر ۱۰۳: | سطر ۱۰۵: | ||
== غارها == | == غارها == | ||
− | {{یادداشت|این | + | {{یادداشت|این بخش را اصلاح کنید}} |
بررسی پیچیدگی گذرواژه ممکن است از سایتی به سایت دیگر متفاوت باشد. از کاربر خواسته می شود که a را انتخاب کند | بررسی پیچیدگی گذرواژه ممکن است از سایتی به سایت دیگر متفاوت باشد. از کاربر خواسته می شود که a را انتخاب کند | ||
رمز عبور به همان اندازه که احساس راحتی می کند | رمز عبور به همان اندازه که احساس راحتی می کند | ||
سطر ۱۲۷: | سطر ۱۲۹: | ||
{{ic|6}} : آرگومان نامعتبر برای گزینه | {{ic|6}} : آرگومان نامعتبر برای گزینه | ||
− | + | [[رده:نرمافزارهای مدیریت کاربر و گروه]] | |
− | [[ |
نسخهٔ کنونی تا ۳۱ مرداد ۱۴۰۰، ساعت ۱۱:۱۴
دستور
passwd
فرمانی برای اعتبارسنجی گذرواژهٔ کاربر است، که در اکثر سیستمعاملهای یونیکس و شبهیونیکس یافت میشود.
با کمک این فرمان میتوان کارهای مختلفی بر گذرواژهٔ کاربران انجام داد، مانند:
- ایجاد گذرواژه
- تغییر گذرواژه
- حذف گذرواژه
- قفل کردن گذرواژه
- برداشتن قفل گذرواژه
- اجبار به تغییر گذرواژه
- ...
محتویات
شرح
دستور
passwd
با کمک توابع هش(hash)، گذرواژهٔ کاربر را اعتبارسنجی میکند، بدین ترتیب که ابتدا رمز ورودی کاربر را به یک الگوریتم هش(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 را ببینید). اندازه فضای کلید به تصادفی بودن گذرواژه انتخاب شده بستگی دارد.
به خطر انداختن امنیت رمز عبور به طور معمول ناشی از انتخاب بی دقت گذرواژه یا رسیدگی. به همین دلیل ، نباید گذرواژه ای را انتخاب کنید که در فرهنگ لغت ظاهر می شود یا که باید نوشته شود گذرواژه همچنین نباید یک نام مناسب ، مجوز شما باشد شماره ، تاریخ تولد یا آدرس خیابان. هر یک از این موارد ممکن است به عنوان حدسی برای نقض مورد استفاده قرار گیرد امنیت سیستم
می توانید در مورد نحوهٔ انتخاب گذرواژهٔ قوی اینجا را مطالعه کنید: [۱]
گزینهها
گزینههایی که میتوان برای دستور
passwd
اعمال شوند، عبارتند از:
-a, --all
: این گزینه فقط با گزینهٔ -S قابل استفاده است و باعث نمایش وضعیت همه کاربران میشود.
-d, --delete
: گذرواژهٔ کاربر را حذف میکند(آن را خالی میکند). این یک راه سریع برای غیرفعال کردن گذرواژهٔ یک کاربر است.
این کار حساب کاربر را بدون گذرواژه تنظیم می کند.
- با این کار دیگر هنگام ورود به سامانه از کاربر درخواست گذرواژه نمیشود.
- این کار را برای کاربران با دسترسی بالا مانند کاربران عضو گروه sudo انجام ندهید.
زیرا ممکن است صدمات جدی به سامانه وارد شود.
-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
: آرگومان نامعتبر برای گزینه