خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش استفاده از دستور Usermod در لینوکس

آموزش استفاده از دستور Usermod در لینوکس
usermod یک ابزار خط فرمان است که به شما امکان می دهد اطلاعات لاگین کاربر را تغییر دهید.

نرم افزار سامانه مودیان راهکار
این مقاله نحوه استفاده از دستور usermod برای افزودن کاربر به یک گروه، تغییر shell کاربر، login name، دایرکتوری home و موارد دیگر را پوشش می‌دهد.



دستور usermod در لینوکس

syntax کلی دستور usermod به شکل زیر است:

usermod [options] USER

فقط کاربران root یا با دسترسی sudo می توانند usermod را اجرا کرده و حساب کاربری را تغییر دهند. اگر دستور با موفقیت اجرا شود، هیچ چیزی را در خروجی نمایش نمی دهد.


معمولی ترین و رایج ترین مورد استفاده از usermod اضافه کردن کاربر به یک گروه است. برای افزودن یک کاربر موجود به یک گروهی از گزینه های a- و G- به دنبال نام گروه و نام کاربری استفاده کنید:

usermod -a -G GROUP USER

اگر می‌خواهید کاربر را همزمان به چند گروه اضافه کنید، گروه‌ها را پس از G- با , از هم جدا تایپ کنید. برای این نظور به لینک زیر می توانید مراجعه کنید:


همیشه هنگام اضافه کردن کاربر به یک گروه جدید از گزینه a- استفاده کنید. اگر گزینه a- را حذف کنید، کاربر از گروه هایی که بعد از گزینه G- لیست نشده اند حذف می شود و اگر کاربر یا گروه وجود نداشته باشد، دستور به شما اعلان می دهد.

تغییر گروه اصلی کاربر با usermod در لینوکس

برای تغییر گروه اصلی کاربر، دستور usermod را با گزینه g- و به دنبال آن نام گروه و نام کاربری اجرا کنید:

sudo usermod -g GROUP USER

در مثال زیر، گروه اصلی کاربر khoshamoz را به developers تغییر می دهیم:

usermod -g developers khoshamoz

یک کاربر می تواند فقط به یک گروه اصلی و صفر یا چند گروه ثانویه تعلق داشته باشد.

تغییر اطلاعات کاربر با دستور usermod در لینوکس

برای تغییر اطلاعات GECOS (نام کامل کاربر)، دستور را با گزینه c- و سپس کامنت یا توضیحات جدید و نام کاربری جدید اجرا کنید:

usermod -c "GECOS Comment" USER

مثال زیر نشان می دهد که چگونه اطلاعات اضافی را به کاربر khoshamoz اضافه کنید:

usermod -c "Test User" khoshamoz

این اطلاعات در فایل etc/passwd ذخیره می شود.

تغییر دایرکتوری home کاربر با دستور usermod در لینوکس

در اکثر سیستم‌های لینوکس، دایرکتوری‌های home کاربر بر اساس نام کاربر نامگذاری می‌شوند و تحت دایرکتوری home/ ایجاد می‌شوند. اگر بنا به دلایلی می‌خواهید دایرکتوری home کاربر را تغییر دهید، دستور usermod را با گزینه d- اجرا کرده و مسیر کامل دایرکتوری home جدید و نام کاربر را وارد کنید:

usermod -d HOME_DIR USER

به‌طور پیش‌فرض، دستور محتوای دایرکتوری home اصلی کاربر را به دایرکتوری جدید منتقل نمی‌کند. برای جابجایی محتوا از گزینه m- استفاده کنید. اگر دایرکتوری جدید از قبل وجود نداشته باشد، پس ابتدا دایرکتوری ایجاد می شود:

usermod -d HOME_DIR -m USER

مثال زیر نشان می دهد که چگونه دایرکتوری home کاربر www-data را به /var/www تغییر دهید:

usermod -d /var/www www-data

نحوه تغییر Shell پیشفرض کاربر با دستور usermod در لینوکس

Shell پیشفرض shell ای است که پس از لاگین به سیستم اجرا می شود. به طور پیش فرض، در اکثر سیستم های لینوکس، shell پیش فرض روی Bash Shell تنظیم شده است. برای تغییر shell پیش فرض کاربر، دستور را با گزینه s- اجرا کرده و مسیر مطلق shell و نام کاربر را وارد کنید:

usermod -s SHELL USER

در مثال زیر، shell کاربر را به Zsh تغییر می دهیم:

sudo usermod -s /usr/bin/zsh khoshamoz

با نمایش محتوای فایل /etc/shells می توانید متوجه شوید که چه shell هایی در سیستم شما موجود است.

تغییر UID یک کاربر در لینوکس با دستور usermod

UID (شناسه کاربر) شماره ای منحصر به فرد است که به هر کاربر اختصاص داده می شود و توسط سیستم عامل برای اشاره به کاربر استفاده می شود. برای تغییر UID کاربر، دستور را با گزینه u- به دنبال UID جدید و نام کاربر اجرا کنید:

usermod -u UID USER

مثال زیر نحوه تغییر شماره "UID" را به "1050" نشان می دهد:

sudo usermod -u 1050 khoshamoz

UID فایل های متعلق به کاربر در دیارکتوری Home کاربر به طور خودکار تغییر می کند. مالکیت سایر فایل ها باید به صورت دستی تغییر کند.

اگرچه نه همیشه ولی بعضا ممکن است بخواهید نام یک کاربر موجود را تغییر دهید. برای تغییر نام کاربری از گزینه l- استفاده کنید. توجه داشته باشید که این کاربر نمی تواند کاربر جاری باشد.
در مثال زیر، نام کاربر khoshamoz را به Hossein تغییر می دهیم.

sudo usermod -l khoshamoz Hossein

هنگام تغییر نام کاربری، شاید بخواهید که دایرکنوری home کاربر را نیز تغییر دهید تا نام کاربری جدید منعکس شود.

تاریخ انقضا تاریخی است که در آن حساب کاربری غیرفعال می شود. برای تنظیم تاریخ انقضای کاربر، از گزینه e- استفاده کنید:

sudo usermod -e DATE USER

تاریخ انقضا باید در فرمت YYYY-MM-DD تنظیم شود. به عنوان مثال، برای غیرفعال کردن کاربر hossein در 2022-02-21، دستور زیر را اجرا کنید:

sudo usermod -e "2022-02-21" hossein

برای غیرفعال کردن انقضای یک حساب، یک تاریخ انقضا خالی تنظیم کنید:

sudo usermod -e "" hossein

از دستور chage -l برای مشاهده تاریخ انقضای کاربر استفاده کنید:

sudo chage -l hossein

Last password change					: Jul 24, 2018
Password expires : never
Password inactive : never
Account expires : never
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

expiration date یا تاریخ انقضا در فایل etc/shadow ذخیره می شود.

lock و Unlock کردن کاربر در لینوکس با دستور usermod

گزینه L- به شما امکان می دهد حساب کاربری را قفل کنید:

usermod -L USER

دستور یک علامت تعجب (!) را در مقابل پسورد رمزنگاری شده قرار می دهد. هنگامی که فیلد پسورد در فایل /etc/shadow حاوی علامت تعجب باشد، کاربر نمی تواند با استفاده مکانیزم لاگین password authentication به سیستم لاگین کند. سایر متدهای لاگین مانند key-based authentication همچنان مجاز هستند. اگر می‌خواهید حساب را کلا lock کنید و همه متدهای لاگین را غیرفعال کنید، باید تاریخ انقضا یا expiration date را روی ۱ تنظیم کنید.
در مثال زیر کاربر Hossein را lock می کنیم.

sudo usermod -L Hossein

sudo usermod -L -e 1 Hossein

به منظور unlock کردن کاربر usermod را با گزینه U- اجرا کنید.

usermod -U USER

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز