امیرحسین کریم پور
مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

آموزش مدیریت کاربران و گروه ها در لینوکس با دستور usermod

آموزش دستور usermod | آموزش مدیریت کاربران لینوکس | گام به گام | بدون شک یکی از دستورات مهم و کاربردی برای مدیریت حساب های کاربری لینوکس دستور usermod است. این دستور یا بهتر است بگوییم نرم افزار کاربرد هایی اعم از اضافه کردن گروه به حساب کاربری ، تغییر home directory کاربر ، اضافه نمودن توضیحات مربوط به کاربر ، اختصاص دادن UID به کاربر و خیلی از موارد دیگر که در ادامه با مثال های عملی آنها را فرا میگیریم.لازم به ذکر است که برای استفاده از این دستور باید سطح دسترسی کاربر root را در اختیار داشت. دستور usermod فایل های زیر را تحت تاثیر خود قرار میدهد :

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
  1.  etc passwd
  2.  etc shadow
  3. etc group
  4. etc gshadow
  5. 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 نیز وجود دارد و بر عکس. در دوره آموزش لینوکس اسنشیالز در خصوص مدیریت کاربران بصورت مقدماتی صحبت می شود. امیدوارم مورد توجه شما قرار گرفته باشد.

امیرحسین کریم پور
امیرحسین کریم پور

مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

امیرحسین کریم پور ، مدیر ارشد توسینسو ، متخصص شبکه ، تخصص در حوزه سیستم عامل های کلاینت و سرور مایکروسافت و سرویس های مربوطه ، سیستم عامل لینوکس و... ، سابقه کار با سازمان ها و شرکت های مختلف در زمینه سرویس های مایکروسافت در قالب پروژه ، مشاوره و آموزش. علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی

نظرات