اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

دستور usermod به همراه 15 مثال عملی

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    دستور usermod به همراه 15 مثال عملی

    در توزیع های لینوکس و یونیکس، دستور usermod برای تغییر هر attribute از کاربران ایجاد شده از طریق خط فرمان می باشد. دستور usermod در لینوکس بسیار شبیه به دستور useradd و یا adduser می باشد اما لاگین را به کاربر موجود اعطا می کند.

    دستور useradd و یا adduser برای ایجاد حساب های کاربری در لینوکس می باشد. برای شناخت بیشتر در مورد نحوه ی ایجاد کاربران سیستمی، راهنمای کامل ما را در لینک زیر مطالعه نمایید:

    دستور useradd در لینوکس به همراه 15 مثال عملی

    مدیریت کاربران، گروه ها و سطوح دسترسی در لینوکس

    5 دستور chattr برای ایجاد فایل های مهم IMMUTABLE (غیرقابل تغییر) در لینوکس



    پس از ایجاد حساب های کاربران، در همان سناریوها ما نیاز به ایجاد attribute ها یک کاربر موجود همچون تغییر home directory، نام لاگین، شل لاگین، زمان اتمام پسورد، و ... داریم که با استفاده از دستور usermod استفاده می شود. زمانیکه ما دستور usermod را در ترمینال اجرا می کنیم، فایل های زیر استفاده شده و تحت تاثیر قرار می گیرند.
    • /etc/passwd : اطلاعات حساب کاربری.
    • /etc/shadow : اطلاعات امنیتی حساب کاربری.
    • /etc/group : اطلاعات حساب گروه ها.
    • /etc/gshadow : اطلاعات امنیتی حساب گروه ها.
    • /etc/login.defs : مجموعه تنظیمات پسورد shadow ..


    Syntax اولیه ی دستور به صورت ذیل می باشد:
    کد PHP:
    usermod [optionsusername 

    پیش نیاز ها
    • ما باید حساب های کاربری را برای اجرای دستور usermod داشته باشیم.
    • تنها superuser (root) اجازه ی اجرای دستور usermod را دارد.
    • دستور usermod می تواند برروی توزیع های مختلف لینوکس اجرا شود.
    • دانش اولیه ی دستور usermod به همراه گزینه های آن را باید داشته باشیم.



    آپشن های Usermod

    دستور usermod با گزینه هایی برای تغییر یک کاربر موجود، برای استفاده آسان است. اجازه دهید نحوه ی استفاده از دستور usermod را جهت تغییر برخی کاربران موجود در لینوکس به کمک گزینه های زیر مشاهده کنیم :
    آپشن -c : ما می توانیم توضیحاتی را برای حساب کاربری اضافه کنیم.
    آپشن -d : برای تغییر دایرکتوری هر کاربر موجود.
    آپشن -e : با استفاده از این گزینه ما می توانیم زمان انقضای حساب را در بازه ی خاصی مشخص کنیم.
    آپشن -g : برای تغییر گروه اصلی هر کاربر.
    آپشن -G : برای اضافه کردن یک گروه مکمل.
    آپشن -a : برای اضافه کردن هر گروهی به عنوان گروه ثانوی.
    آپشن -l : برای تغییر نام لاگین.
    آپشن -L : برای قفل کردن حساب کاربر.این گزینه پسورد را قفل می کند، بنابراین امکان استفاده از حساب وجود ندارد.
    آپشن -m : برای انتقال محتوای home directory به محل جدید.
    آپشن -p : برای استفاده از پسورد un-encrypted برای پسورد جدید (غیر امن).
    آپشن -s : برای ایجاد یک شل خاص برای حساب کاربری جدید.
    آپشن -u : برای تخصیص UID برای کاربر که عددی بین 0 تا 999 می باشد.
    آپشن -U : برای unlock حساب کاربری. این گزینه قفل پسورد را حذف کرده و اجازه ی استفاده ی مجدد را فراهم می کند.

    در این مقاله ما 15 مورد مثال عملی در مورد دستور usermod و نحوه ی استفاده در لینوکس را خواهیم دید، که به شما در مورد یادگیری و بالا بردن مهارت های خط فرمان کمک خواهد کرد.



    1. اضافه کردن اطلاعات به حساب کاربری

    آپشن –c برای توضیح مختصر درباره ی حساب کاربری استفاده می شود. برای مثال اجازه دهید اطلاعات کاربر tecmint را با استفاده از دستور زیر اضافه کنید.
    کد PHP:
    # usermod -c "This is Tecmint" tecmint 
    پس از اضافه کردن اطلاعات به کاربر با استفاده از دستور زیر می توانید آنرا در فایل /etc/passwd مشاهده کنید.
    کد PHP:
     # grep -E --color 'tecmint' /etc/passwd
     
    tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh 
    دستور usermod در لینوکس





    2. تغییر Home Directory کاربر

    در مرحله ی بالا ما می توانیم ببینیم که home directory ما زیر /home/tecmint است، اگر ما نیاز به تغییر آن به دایرکتوری دیگری داریم ما می توانیم آنرا با استفاده از آپشن –d با استفاده از دستور usermod تغییر دهیم.

    برای مثال ما می خواهیم home دایرکتوری جدید ما /var/www باشد، اما قبل از تغییر، اجازه دهید home directory کنونی کاربر را با استفاده از دستور زیر بررسی کنیم.
    کد PHP:
     # grep -E --color '/home/tecmint' /etc/passwd
     
    tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh 
    اکنون، دایرکتوری home کاربر را از /home/tecmint به /var/www تغییر دهید و home directory را پس از تغییر بازبینی نمایید.
    کد PHP:
     # usermod -d /var/www/ tecmint
    # grep -E --color '/var/www/' /etc/passwd
     
    tecmint:x:500:500:This is Tecmint:/var/www:/bin/sh 
    نحوه تغییر مسیر دایرکتوری home یک کاربر در لینوکس





    3. تنظیم زمان انقضای حساب کاربری

    گزینه ی –e برای تنظیم زمان انقضای یک حساب کاربری با فرمت زمان YYYY-MM-DD استفاده می شود. قبل از تنظیم زمان انقضای یک کاربر اجازه دهید ابتدا فرمت کنونی انقضا را با استفاده از دستور chage برسی کنیم.
    کد PHP:
     # chage -l tecmint
     
    Last password change                                 Nov 022014
    Password expires                                     
    never
    Password inactive                                    
    never
    Account expires                                      
    Dec 012014
    Minimum number of days between password change               
    0
    Maximum number of days between password change               
    99999
    Number of days of warning before password expires    

    وضعیت انقضای کاربر tecmint در Dec 1 2014 می باشد، اجازه دهید آنرا به Nov 1 2014 با استفاده از دستور usermod –e تغییر دهیم و آنرا با استفاده از دستور chage مجددا بررسی کنیم.
    کد PHP:
     # usermod -e 2014-11-01 tecmint
    # chage -l tecmint
     
    Last password change                                 Nov 022014
    Password expires                                     
    never
    Password inactive                                    
    never
    Account expires                                      
    Nov 012014
    Minimum number of days between password change               
    0
    Maximum number of days between password change               
    99999
    Number of days of warning before password expires    

    ایجاد تاریخ انقضاء برای یک یوزر در لینوکس





    4. تغییر گروه اصلی کاربر

    برای تنظیم و یا تغییر یک گروه اصلی، ما از آپشن –g با دستور usermod استفاده می کنیم. قبل از تغییر گروه اصلی کاربر ابتدا گروه فعلی کاربر را بررسی کنید.
    کد PHP:
     # id tecmint_test
     
    uid=501(tecmint_testgid=502(tecmint_testgroups=502(tecmint_test
    حالا، گروه babin را به عنوان گروه اصلی کاربر tecmint_test قرار داده و تغییرات را بررسی کنید.
    کد PHP:
     # usermod -g babin tecmint_test
    # id tecmint_test
     
    uid=501(tecmint_testgid=502(babingroups=502(tecmint_test
    تغییر گروه اصلی کاربر در لینوکس





    5. اضافه کردن گروه به یک کاربر موجود

    اگر شما می خواهید یک گروه جدید به نام tecmint_test0 به کاربر tecmint اضافه کنید، شما می توانید از آپشن –G با دستور usermod به صورت زیر استفاده کنید.
    کد PHP:
     # usermod -G tecmint_test0 tecmint
    # id tecmint 
    اضافه کردن یک کاربر به یک گروه در لینوکس





    هشدار : دقت کنید که اضافه کردن یک گروه جدید به کاربر موجود با استفاده از گزینه ی –G تمام گروه های موجود را حذف خواهد کرد. بنابراین همیشه با گزینه ی –G گزینه ی –a(append) را نیز برای اضافه کردن گروه جدید به کار ببرید.



    6. اضافه کردن گروه مکمل و اصلی به کاربر

    اگر شما نیاز به اضافه کردن یک کاربر به هر یک از گروه مکمل دارید، شما می توانید از آپشن های –a و –G استفاده کنید. برای مثال در اینجا ما به حساب کاربری tecmint_test0 گروه wheel را اضافه میکنیم.
    کد PHP:
     # usermod -a -G wheel tecmint_test0
    # id tecmint_test0 
    بنابراین، کاربر tecmint_test0 در گروه اصلی خود و همچنین گروه دوم wheel باقی می ماند. این حساب کاربری نرمال مرا برای اجرای هر دستور ممتاز root در لینوکس ایجاد خواهد کرد.
    اضافه کردن یک کاربر به چندین گروه در لینوکس





    7. تغییر نام لاگین کاربر

    برای تغییر نام لاگین کاربر موجود، ما میتوانیم از آپشن –l استفاده کنیم. در مثال زیر، ما می تونیم نام لاگین کاربر را از tecmint به tecmint_admin تغییر دهیم. بنابراین نام کاربری tecmint به نام جدید tecmint_admin تغییر خواهد کرد.
    کد PHP:
    # usermod -l tecmint_admin tecmint 
    اکنون برای کاربر tecmint بررسی می کنیم، آن نشان داده نخواهد شد به دلیل اینکه به نام tecmint_admin تغییر کرده است.
    کد PHP:
    # id tecmint 
    حساب کاربری tecmint_admin را بررسی کنید، که در اینجا با همان UID با همان گروهی که قبلا اضافه شده بود تغییر کرده است.
    کد PHP:
    # id tecmint_admin 
    تغییر نام یوزر یک کاربر در لینوکس





    8. قفل کردن حساب کاربری

    برای قفل کردن هر کاربر سیستمی، ما میتوانیم از آپشن –L استفاده کنیم، پس از اینکه حساب قفل شد ما نمی توانیم با استفاده از پسورد لاگین کنیم و شما یک ! قبل از پسورد کدگذاری شده در فایل /etc/shadow خواهید دید، به این معنی که پسورد غیرفعال شده است.
    کد PHP:
    # usermod -L babin 
    حساب قفل شده را بررسی کنید.
    کد PHP:
    # grep -E --color 'babin' cat /etc/shadow 
    نحوه قفل کردن یک یوزر در لینوکس





    9. Unlock کردن حساب کاربری

    آپشن –U برای unlock کردن هر کاربر قفل شده استفاده می شود، این علامت ! را قبل از پسورد کد گذاری شده حذف خواهد کرد.
    کد PHP:
     # grep -E --color 'babin' /etc/shadow
    # usermod -U babin 
    کاربر را پس از unlock کردن بررسی کنید.
    کد PHP:
    # grep -E --color 'babin' /etc/shadow 
    نحوه باز کردن قفل یک یوزر در لینوکس






    10. تغییر home directory کاربر به محل جدید

    اجازه دهید که یک حساب کاربری به نام pinky با home directory، /home/pinky در نظر بگیریم، شما می خواهید آنرا به محل جدید /var/pinky منتقل کنید. شما می توانید از آپشن –d و –m برای انتقال فایل ها به محل جدید استفاده کنید.

    Home دایرکتوری فعلی را برای حساب کاربر بررسی کنید.
    کد PHP:
    # grep -E --color 'pinky' /etc/passwd 
    سپس فایل هایی را که معلق به کاربر pinky است را لیست کنید.
    کد PHP:
    # ls -l /home/pinky/ 
    اکنون ما home directory را از /home/pinky به /var/pinky انتقال دهید.
    کد PHP:
    # usermod -d /var/pinky/ -m pinky 
    سپس، دایرکتوری را تغییر دهید.
    کد PHP:
    # grep -E --color 'pinky' /etc/passwd 
    فایل های زیر /home/pinky را بررسی کنید. در اینجا ما فایل ها را با استفاده از آپشن –m انتقال داده ایم. بنابراین هیچ فایلی وجود ندارد و فایل های کاربر pinky به /var/pinky منتقل شده اند.
    کد PHP:
     # ls -l /home/pinky/
    # ls -l /var/pinky/ 
    عوض کردن دایرکتوری home یک یوزر در لینوکس





    11. ایجاد پسورد un-encrypted برای کاربر

    برای ایجاد یک پسورد un-encrypted ما می توانیم از آپشن –p استفاده کنیم. برای توضیح این هدف، من یک پسورد جدید به نام redhat برروی کاربر pinky ایجاد می کنیم.
    کد PHP:
    # usermod -p redhat pinky 
    پس از تنظیم پسورد می توانیم فایل shadow را برای دیدن فرمت un-encrypted آن استفاده کنیم.
    کد PHP:
    # grep -E --color 'pinky' /etc/shadow 
    دستور usermod در linux




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



    12. تغییر شل کاربر

    شل لاگین کاربر می تواند تغییر کرده و یا در طول ایجاد با دستور useradd تعریف شود و یا با استفاده از آپشن –s و دستور usermod تغییر کند.

    برای مثال کاربر babin دارای شل /bin/bash به صورت پیش فرض است، حالا من می خواهم آنرا به /bin/sh تغییر دهم.
    کد PHP:
     # grep -E --color 'babin' /etc/passwd
    # usermod -s /bin/sh babin 
    پس از تغییر شل کاربر، شل کاربر را با استفاده از دستور زیر تغییر دهید.
    کد PHP:
    # grep -E --color 'babin' /etc/passwd 
    تغییر شل یک یوزر در لینوکس





    13. تغییر شناسه ی کاربر (UID)

    در مثال زیر شما می توانید ببینید که نام کاربر babin دارای uid 502 می باشد، حالا من می خواهم آنرا به 888 تغییر دهم. ما می توانیم هر uid بین 0 الی 999 را تخصیص دهیم.
    کد PHP:
     # grep -E --color 'babin' /etc/passwd
    OR
    # id babin 
    اکنون اجازه دهید uid ی کاربر babin را با استفاده از گزینه ی –u تغییر دهیم و تغییرات را بررسی کنیم.
    کد PHP:
     # usermod -u 888 babin
    # id babin 
    تغییر uid یک کاربر در لینوکس





    14. تغییر حساب کاربری با چند گزینه

    در اینجا ما یک کاربر jack داریم و اکنون من می خواهم دایرکتوری home آنرا تغییر دهم و همجنین شل کاربری و زمان انقضا و برچسب و uid و گروه آنرا به یکباره با یک دستور اجرا می کنیم.

    کاربر jack دارای home directory پیش فرض /home/jack می باشد، حالا من می خواهم آنرا به /var/www/html تغییر داده و شل آنرا به bash و زمان انقضای حساب آنرا به December 10th 2014، تغییرداده و برچسب جدید This is jack را اضافه نموده و uid را به 555 تغییر داده و آنرا عضو گروه apple نمایم.

    اجازه دهید نحوه ی تغییرات حساب کاربری jack را با چندین گزینه ببینیم.
    کد PHP:
    # usermod -d /var/www/html/ -s /bin/bash -e 2014-12-10 -c "This is Jack" -u 555 -aG apple jack 
    سپس تغییرات دایرکتوری home و uid آن را بررسی کنید.
    کد PHP:
    # grep -E --color 'jack' /etc/passwd 
    تاریخ انقضای حساب را نیز بررسی کنید.
    کد PHP:
    # chage -l jack 
    گروهی که jack عضو آن است را نیز بررسی کنید.
    کد PHP:
    # grep -E --color 'jack' /etc/group 
    مدیریت کاربران در لینوکس با دستور usermod






    15. تغییر UID و GID یک کاربر

    ما می توانیم UID و GID یک کاربر را بررسی نماییم. برای تغییر به GID جدید ما نیاز به گروه جدیدی داریم. در اینجا قبلا یک حساب به نام orange با GID 777 وجود دارد. حالا حساب کاربر jack من می خواهد با UID 666 و GID 777 تخصیص داده شده است.

    UID و GID فعلی را بررسی کنید.
    کد PHP:
    # id jack 
    UID و GID را تغییر دهید.
    کد PHP:
    # usermod -u 666 -g 777 jack 
    تغییرات را بررسی کنید.
    کد PHP:
    # id jack 
    نحوه عوض کردن uid و gid یک کاربر در لینوکس




    همچنین توصیه میشود مطالعه کنید :

    11 روش برای پیدا کردن اطلاعات و جزئیات کاربران Login شده در لینوکس

    نحوه بلاک یا غیرفعال کردن کاربران در لینوکس

    دستور who برای مشاهده کاربران لاگین شده به سرور لینوکس


    نتیجه

    در اینجا ما با نحوه ی استفاده از دستور usermod با آپشن های آن با جزئیات آشنا شدیم، قبل از دانستن در مورد usermod ابتدا می بایست با دستور useradd آشنا شوید. اگر من در این مقاله نکته ای را فراموش کرده ام می توانید در توضیحات مطرح کرده و مورد بحث قرار دهید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-07-2021, 11:59 AM.
    اینستاگرام انجمن لینوکس ایران : https://www.instagram.com/iranlinuxforum

    #2
    برای حذف یک کاربر از یک گروه میتونید از دستور زیر استفاده کنید
    کد:
    sudo gpasswd -d user group

    کامنت

    درباره انجمن منطقه لینوکسی ها

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

    شبکه های اجتماعی
    در حال انجام ...
    X