آموزش دستور usermod | آموزش مدیریت کاربران لینوکس | گام به گام | بدون شک یکی از دستورات مهم و کاربردی برای مدیریت حساب های کاربری لینوکس دستور usermod است. این دستور یا بهتر است بگوییم نرم افزار کاربرد هایی اعم از اضافه کردن گروه به حساب کاربری ، تغییر home directory کاربر ، اضافه نمودن توضیحات مربوط به کاربر ، اختصاص دادن UID به کاربر و خیلی از موارد دیگر که در ادامه با مثال های عملی آنها را فرا میگیریم.لازم به ذکر است که برای استفاده از این دستور باید سطح دسترسی کاربر root را در اختیار داشت. دستور usermod فایل های زیر را تحت تاثیر خود قرار میدهد :
- etc passwd
- etc shadow
- etc group
- etc gshadow
- etc login.defs
الگوی کلی استفاده از دستور usermod به صورت زیر است :
:~# usermod [options] username
با توجه به الگوی فوق در میابیم که به جای option بایستی سوئیچ های مربوط به دستور usermod را قرار دهیم و به جای username بایستی نام کاربری کاربرمان را که میخواهیم تنظیمات خاص روی حساب کاربری اش اعمال کنیم را وارد میکنیم.خب صحبت دیگر کافیست یکراست به سراغ آموزش عملی استفاده از سوئیچ های مختلف دستور usermod را با میرویم ...
مثال 1 : سوئیچ c- برای اضافه کردن توضیحات به کاربر
از این دستور برای اضافه نمودن کامنت یا توضیحات به حساب کاربری کاربر استفاده میشود.مثال زیر را داشته باشید :
:~# usermod -c "I am an ITPRO" amirhossein
در دستور فوق ما یک توضیح با عنوان I am an ITPRO را به کاربر amirhossein اضافه کردیم.برای اطمینان پیدا کردن از نتیجه باید فایل etc passwd را باز کرده و مشاهده کنید.به دستور زیر توجه کنید :
:~# cat /etc/passwd :~# amirhossein:x:1002:1002:I am an ITPRO.:/home/amirhossein:/bin/bash
مثال 2 : سوئیچ d- برای تغییر دادن home directory کاربر
از این سوئیچ برای تغییر دادن نام دایرکتوری home کاربر استفاده میشود.برای مثال :
:~# usermod -d /myhome/itpro/ amirhossein
همانطور که در مثال فوق دیدید ما نام دایرکتوری home پیشفرض کاربر amirhossein را که home amirhossein بود به myhome itpro تغییر دادیم.برای مشاهده نتیجه با هم فایل etc / passwd را باز کنید تا نتیجه را مشاهده کنید :
:~# cat /etc/passwd :~# amirhossein:x:1002:1002:I am an ITPRO.:/myhome/itpro:/bin/bash
مثال 3 : سوئیچ e- برای تنظیم تاریخ انقضاء برای حساب کاربری
از این سوئیچ برای ست کردن تاریخ انقضاء برای حساب کاربر با فرمت YYYY-MM-DD استفاده میشود. در ابتدا با دستور chage نگاهی به تاریخ انقضای اکانت کاربری خودمان می اندازیم:
:~# chage -l amirhossein Last password change : Nov 02, 2017 Password expires : never Password inactive : never Account expires : July 22, 2017 Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7
همانطور که در بالا مشاهده کردید وضعیت تاریخ انقضای اکانت کاربری amirhossein در مورخه July 22 2017 است از این رو ما آنرا تا 1 سال بعد تمدید میکنیم یعنی July 22 2018 . به دستور زیر دقت کنید :
:~# usermod -e 2018-07-22 amirhosesin
همانطور که انتظار میرود بایستی تاریخ انقضای حساب کاربری amirhossein تغییر کرده باشد :
:~# chage -l amirhossein Last password change : Nov 02, 2017 Password expires : never Password inactive : never Account expires : July 22, 2018 Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7
مثال 4 : سوئیچ g- برای تغییر دادن گروه اصلی کاربر
برای تغییر دادن گروه اصلی و اولیه ای که کاربر در آن عضو میباشد بایستی از سوئیچ g- استفده کنیم. قبل از اینکار ابتدا گروه فعلی که کاربر در آن عضو است را با دستور id چک میکنیم :
:~# id uid=1002(amirhossein) gid=1002(amirhossein) groups=1002(amirhossein)
حال سوئیچ g- را برای این کار استفاده میکنیم :
# usermod -g ITpro-Group1 amirhossein
در مثال فوق ما کاربر amirhossein را که به طور پیشفرض عضو گروه amirhossein بود را به عضویت گروه ITpro-Group1 درآوردیم.به نتیجه زیر توجه کنید :
:~# id uid=1002(amirhossein) gid=1002(ITpro-Group1) groups=1002(amirhossein)
مثال 5 : سوئیچ G- برای به عضویت درآوردن کاربر به یک گروه جدید
برای به عضویت در آوردن کاربر در یک گروه جدید(علاوه بر گروهی که به طور پیشفرض در آن عضو است) بایستی از سوئیچ G- استفاده کنید ، به مثال زیر توجه کنید :
:~# usermod -G ITpro-Group2 amirhossein
در دستور فوق ما کاربر amirhossein را به عضویت گروه ITpro-Group2 درآوردیم. به نتیجه زیر دقت کنید :
:~# id uid=1002(amirhossein) gid=1002(amirhossein) groups=1002(amirhossein),1003(ITpro-Group2)
تذکر مهم : همیشه هنگام استفاده از سوئیچ G- احتیاط کنید زیرا ممکن است تمام گروه هایی که کاربر در آن عضو است را پاک کند پس بهتر است قبل از وارد کردن سوئیچ G- سوئیچ a- که مخفف append یا اضافه کردن است را نیز بکار ببرید.
مثال 6 : سوئیچ l- برای تغییر دادن نام کاربری هنگام لاگین
برای تغییر دادن نام کاربری یا username ای که برای لاگین کردن کاربر استفاده میشود میتوان از این سوئیچ استفاده کرد. از این سوئیچ به عنوان عامل امنیتی نیز میتوان از یاد کرد. به مثال زیر توجه کنید :
:~# usermod -l amir_9025 amirhossein
در مثال فوق نام کاربری amirhossein را که برای لاگین کردن به سیستم استفاده میشد را به amir_9025 تغییر نام دادیم. توجه کنید که اگر با این نام کاربری به سیستم لاگین هستید قبل از انجام این کار باید Log off کنید و با دسترسی root اینکار را انجام دهید.
مثال 7 : سوئیچ L-برای قفل یا Lock کردن اکانت کاربر
برای قفل کردن اکانت کاربر میتوانید از سوئیچ L- استفاده کنید. توجه کنید که بعد از قفل کردن اکانت کاربری، کاربر نمیتواند با استفاده از پسورد خود به حساب کاربری اش لاگین کند و در فایل etc shadow / به جای پسورد هش شده اش علامت تعجب (!) نمایش داده میشود، به این معنی که اکانت کاربر قفل شده است. برای استفاده از این سوئیچ به مثال زیر توجه کنید :
:~# usermod -L amirhossein
بعد از اینکه فایل etc shadow / را باز کردید میتوانید علامت ! را کنار نام کاربر مشاهده کنید.
amirhossein:!$6$gueXuMGy$K/cWEVgNg8Z8faEAHcsHtVCXteAbLVJW5l/EjJmnXEBQpG7N9c3UV8KPiSqtfE3ELLv9fk3YS85cViUzn
مثال 8 : سوئیچ p- برای ایجاد کردن پسورد رمزنگاری نشده برای کاربر
از این سوئیچ میتوانید برای ست کردن پسورد رمزنگاری نشده یا clear text برای کاربر استفاده کنید. این سوئیچ چندان هم کاربردی نیست و استفاده از آن خطرناک است و پیشنهاد نمیشود. لازم به ذکر است که سوئیچ p- مخفف password نیز میباشد. برای استفاده از این سوئیچ به دستور زیر دقت کنید :
:~# usermod -p itpro90 amirhossein
با استفاده از دستور فوق یک پسورد رمز نشده به نام itpro94 برای کاربر amirhossein ایجاد کردیم. طبق معمول با باز کردن فایل etc shadow / میتوانیم پسورد هش نشده کاربر را مشاهده کنیم :
amirhossein:itpro94:17359:0:99999:7:::
مثال 9 : سوئیچ s- برای تغییر دادن shell پیشفرض کاربر
همیشه یادتان باشد که برای مشاهده shell پیشفرض کاربر باید فایل etc passwd / را مشاهده کنید. با استفاده از سوئیچ s- که مخفف shell نیز میباشد میتوانید shell پیشفرضی که در هنگام ایجاد کاربر جدید به آن اختصاص می یابد را تغییر دهید. به دستور زیر توجه کنید :
:~# usermod -s /bin/sh amirhossein
در دستور فوق ما shell کاربر amirhossein را که به طور پیشفرض bash بود به شل sh تغییر دادیم.
:~# cat /etc/passwd amirhossein/:x:1013:1014::/home/amirhossein:/bin/sh
مثال 10 : سوئیچ u- برای تغییر دادن شناسه کاربری یوزر
حرف u در این سوئیچ مخفف UID یا User Identifier (شناسه کاربر) میباشد. شناسه کاربری یوزر های عادی یا استاندارد بین مقادیر 500 تا 6000 میباشد. برای استفاده از این سوئیچ به دستور زیر دقت کنید :
:~# usermod -u 900 amirhossein
در دستور فوق ما شناسه کاربری amirhossein را برابر 900 قرار دادیم. برای اینکه شناسه کاربری را مشاهده کنید میتوانید از دستور id به شکل زیر استفاده کنید :
:~# id amirhossein uid=900(fedora) gid=900(fedora) groups=900(fedora),24(cdrom),25(floppy),27(sudo)
مثال 11 : سوئیچ g- برای تغییر دادن شناسه گروه کاربر
این سوئیچ نیز مانند سوئیچ u- میباشد با این تفاوت که بجای تغییر دادن شناسه کاربری شناسه گروه کاربری یا همان GID را تغییر میدهد. به دستور زیر توجه کنید :
:~# usermod -g 700 amirhossein
دستور فوق GID کاربر amirhossein را برابر 700 قرار میدهد. با استفاده از دستور id میتوانید GID کاربر مورد نظر را مشاهده کنید.
- نکته : قبل از اینکه از دستور usermod برای مدیریت حساب های کاربری کاربران استفاده کنید لازم است که از دستور useradd بتوانید بخوبی استفاده کنید. لازم به ذکر است که بسیاری از سوئیچ های دستور usermod در useradd نیز وجود دارد و بر عکس. در دوره آموزش لینوکس اسنشیالز در خصوص مدیریت کاربران بصورت مقدماتی صحبت می شود. امیدوارم مورد توجه شما قرار گرفته باشد.
سلام ، لطفا تو قسمت سوالات سوال خودتون رو ارسال کنید تا بهش پاسخ داده بشه. ممنونم
سلام اگر بخوام کاربر رو از گروه حذف کنم از چه دستوری باید استفاده کنم
مفید بود ...
#ممنون