قفل کردن و باز کردن قفل حساب کاربری در لینوکس

قفل کردن و باز کردن قفل حساب کاربری در لینوکس

مرتضی حبیبی

ما در این مقاله به شما همراهان عزیز قفل کردن و باز کردن قفل حساب کاربری در لینوکس را آموزش می دهیم. ما را همراهی کنید.

اگر که این گزینه قبلا در سیستم شما فعال نشده باشد شما باید به صورت دستی آن را وارد کنید.

این مطلب آموزشی به شما کمک خواهد کرد تا قفل حساب کاربری به طور دستی در لینوکس را بیاموزید.

این کار را با سه روش و با استفاده از کد های لینوکس می توان انجام داد.

توجه: اگر shell script  رمز عبور قبلا در سیستم شما فعال شده نیازی به خواندن این مطلب ندارید.

کد دستوری passwd:

 دستور passwd برای تغییر رمز عبور استفاده می‌شود. این کار با فراخوانی لینکوس PAM و API به دست می‌آید.

کد دستوری usermod:

دستور usermod برای اصلاح و یا روزرسانی اطلاعات حساب کاربری مورد استفاده قرار می‌گیرد. این روش برای اضافه کردن یک کاربر به یک گروه خاص و … به کار می‌رود.

توجه داشته باشید که باید از حساب کاربری استفاده کنید که به Lock و یا Unlock کردن آن نیاز دارید.

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

 # id username

uid=2240(username) gid=2243(username) groups=2243(username),2244(ladmin)

۱- Lock , Unlock  و بررسی وضعیت سیستم با استفاده از فرمان passwd در لینوکس:

دستور passwd یکی از دستورهای مورد استفاده مکرر توسط مدیران لینوکس است. این دستور برای به روزرسانی اطلاعات کاربر در پرونده etc/shadow/ به کار میرود.

اجرای passwd با کلید L- برای قفل کردن حساب کاربری .

# passwd -l username

Locking password for user username.
passwd: Success

شما می‌توانید وضعیت حساب قفل‌شده را با دستور passwd را بررسی کرده یا نامکاربری داده‌شده را از etc/shadow/ مشخص کنید.

بررسی وضعیت قفل حساب کاربری با استفاده از دستور passwd:

# passwd -S username
or
# passwd --status username

username LK 2019-05-30 7 90 7 -1 (Password locked.)

این دستورات به شما در خروجی اطلاعات کوتاهی از وضعیت رمز عبور به شما میدهد.

LK: قفل گذرواژه

NP: بدون گذرواژه

PS: متصل کردن رمز عبور.

بررسی وضعیت حساب کاربری قفل شده با استفاده از فایل  etc/shadow/. در صورتی که حساب قبلا قفل شده باشد در اول دو علامت تعجب نشان داده خواهد شد.

# grep username/etc/shadow
username:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::

اجرای دستور passwd با کلید – u برای باز کردن حساب کاربری استفاده شده .

# passwd -u username
Unlocking password for user username.
passwd: Success

۲- Lock , UnLock و بررسی وضعیت سیستم با استفاده از فرمان usermod در لینوکس :

دستور usermod نیز اغلب توسط مدیر لینوکس استفاده می‌شود . usermod برای اصلاح , و یا به روزرسانی اطلاعات حساب کاربری مورد استفاده قرار می‌گیرد . برای اضافه کردن یک کاربر به یک گروه خاص ، و… .

دستور usermod را با سوئیچ – اجرا کنید تا حساب کاربری مورد نظر را قفل کنید .

#  usermod --lock username
or
# usermod -L username

شما می‌توانید وضعیت حساب قفل‌ شده یا دستور passwd را بررسی کرده یا نام کاربری داده‌شده را از etc/shadow/ مشخص کنید .

بررسی وضعیت قفل حساب کاربری با استفاده از دستور passwd .

# passwd -S username
or
# passwd --status username

username LK 2019-05-30 7 90 7 -1 (Password locked.)

این در خروجی اطلاعات کوتاهی در مورد وضعیت گذرواژه برای یک حساب نمایش میدهد.

LK: قفل گذرواژه

NP: بدون گذرواژه

PS: متصل کردن رمز عبور.

بررسی وضعیت حساب کاربری قفل شده با استفاده از فایل  etc/shadow/. در صورتی که حساب قبلا قفل شده باشد در اول دو علامت تعجب نشان داده خواهد شد.

# grep username /etc/shadow

username:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::

دستور usermod را با کلید -U اجرا کنید تا حساب کاربر قفل شده را باز کند.

# usermod --unlock username
or
# usermod -U username

۳- نحوه غیر فعال کردن دسترسی SSH به حساب کاربر قفل شده در لینوکس با استفاده از دستور usermod:
همان طور که قبلا گفته شد دستور usermod توسط مدیر لینوکس استفاده میشود و برای اصلاح و به روزرسانی به کار میرود.

برای غیر فعال کردن دسترسی SSH می توان با اختصاص پوسته nologin به کاربر قفل شده دسترسی را غیر فعال کرد. برای انجام این کار، دستور زیر را اجرا کنید.

# usermod -s /sbin/nologin username

شما می‌توانید جزئیات حساب کاربر قفل شونده را با تنظیم نام کاربری داده‌شده از etc/passwd/ بررسی کنید .

# grep username/etc/passwd

username:x:2240:2243::/home/username:/sbin/nologin

می‌توانیم با دستور usermod به کاربر اجازه ورود به پوسته قدیمی را بدهیم .

# usermod -s /bin/bash username

Lock , UnLock و بررسی وضعیت چند کاربر در لینوکس با استفاده از Shell Scrip :

اگر می‌خواهید بیش از یک حساب باز یا قفل کنید ، باید اسکریپت را جستجو کنید .
ما می‌توانیم یک اسکریپت کوچک برای انجام این کار بنویسیم . برای اینکار از  shell script زیر استفاده کنید .
ایجاد فهرست کاربران . هر کاربر باید در خط جداگانه نوشته شده باشد .

$ cat user-lists.txt

u1
u2
u3
u4
u5

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

# user-lock.sh

#!/bin/bash
for user in `cat user-lists.txt`
do
passwd -l $user
done

یک مجوز اجرایی برای فایل user-lock.sh بسازید.

# chmod + user-lock.sh

در نهایت اسکریپت را اجرا کنید تا به جواب برسید .

# sh user-lock.sh

Locking password for user u1.
passwd: Success
Locking password for user u2.
passwd: Success
Locking password for user u3.
passwd: Success
Locking password for user u4.
passwd: Success
Locking password for user u5.
passwd: Success

استفاده از shell script زیر برای بررسی حساب کاربران قفل‌شده در لینوکس.

# vi user-lock-status.sh

#!/bin/bash
for user in `cat user-lists.txt`
do
passwd -S $user
done

یک مجوز اجرایی برای فایل user-lock-status.sh بسازید.

# chmod + user-lock-status.sh

در نهایت برای رسیدن به جواب shell script را اجرا کنید .

# sh user-lock-status.sh

u1 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u2 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u3 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u4 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u5 LK 2019-06-10 0 99999 7 -1 (Password locked.)

استفاده از shell script زیر برای باز کردن حساب کاربران متعدد در لینوکس .

# user-unlock.sh

#!/bin/bash
for user in `cat user-lists.txt`
do
passwd -u $user
done

یک مجوز اجرایی برای فایل user-unlock.sh بسازید .

# chmod + user-unlock.sh

در نهایت shell script را اجرا کنید تا به جواب برسید .

# sh user-unlock.sh

Unlocking password for user u1.
passwd: Success
Unlocking password for user u2.
passwd: Success
Unlocking password for user u3.
passwd: Success
Unlocking password for user u4.
passwd: Success
Unlocking password for user u5.
passwd: Success

اجرای همان shell script مشابه برای بررسی حساب‌های کاربری قفل‌ شده در لینوکس .

# sh user-lock-status.sh

u1 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
u2 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
u3 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
u4 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)
u5 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)

 

امیدواریم از مطلب بهره لازم را برده و برای شما مفید بوده باشد و آموزش قفل کردن و باز کردن قفل حساب کاربری در لینوکس را به خوبی یاد گرفته باشید.

نظرات خود را با ما به اشتراک بگذارید. ما را در شتابان هاست دنبال کنید.

برچسب ها: SSh