کانال تلگرام منطقه لینوکسی ها
نمایش نتایج: از 1 به 2 از 2

موضوع: راهنمای کامل استفاده از دستور usermod به همراه 15 مثال عملی

  1. #1
    مدیر آزمایشی
    تاریخ عضویت
    Aug 2015
    نوشته ها
    73
    تشکر ها
    1
    3
    میزان امتیاز
    3
    Array

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

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

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

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

    پس از ایجاد حساب های کاربران، در همان سناریوها ما نیاز به ایجاد 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 
    add-information-user-png


    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 
    change-user-home-directory-png


    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    

    set-user-account-expiry-date-png


    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
    change-user-primary-group-png


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

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

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


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

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

    add-multiple-groups-user-png


    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 
    change-user-login-name-png


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

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


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

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


    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/ 
    move-user-home-directory-png


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

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

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


    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 
    change-user-login-shell-png


    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 
    change-user-uid-png


    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-command-options-png


    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 
    change-user-gid-png

    نتیجه
    در اینجا ما با نحوه ی استفاده از دستور usermod با آپشن های آن با جزئیات آشنا شدیم، قبل از دانستن در مورد usermod ابتدا می بایست با دستور useradd آشنا شوید. اگر من در این مقاله نکته ای را فراموش کرده ام می توانید در توضیحات مطرح کرده و مورد بحث قرار دهید.
    ویرایش توسط Habili : 10-07-2017 در ساعت 02:29 AM

  2. 4 کاربر مقابل از Fariba عزیز به خاطر این پست مفید تشکر کرده اند .

    Habili (10-06-2017),phoenix  (10-05-2017)

  3. #2
    عضو انجمن
    تاریخ عضویت
    Sep 2017
    نوشته ها
    6
    تشکر ها
    3
    2
    میزان امتیاز
    0
    Array
    برای حذف یک کاربر از یک گروه میتونید از دستور زیر استفاده کنید
    کد:
    sudo gpasswd -d user group

  4. کاربر مقابل از phoenix عزیز به خاطر این پست مفید تشکر کرده است:

    Habili (10-06-2017)

موضوعات مشابه

  1. پاسخ: 0
    آخرين نوشته: 02-01-2016, 10:58 PM
  2. پاسخ: 1
    آخرين نوشته: 02-06-2015, 12:46 PM
  3. پاسخ: 9
    آخرين نوشته: 10-15-2014, 09:59 PM
  4. دستور dmesg چیست و چگونه استفاده کنیم
    توسط Gravity در انجمن General Linux
    پاسخ: 0
    آخرين نوشته: 09-24-2014, 12:57 AM
  5. آموزش تصویری تیکه تیکه کردن فایلهای حجیم با استفاده از نرم افزار winrar
    توسط Habili در انجمن نرم افزارهای عمومی و تخصصی مایکروسافت
    پاسخ: 0
    آخرين نوشته: 06-22-2013, 12:55 AM

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
درباره ما
سایت منطقه لینوکسی ها در سال 1392 با هدف ارائه خدمات نوین در حوزه فناوری اطلاعات و ارتباطات در راستای پیاده سازی ارتباطات صدا، تصویر، دیتا و بالا بردن سطح علمی و عمومی کاربران از طریق انجمن در سطح جهانی راه اندازی شده و با بهره گیری از توان تخصصی و تجارب حرفه ای مدیران و کارشناسان خود، پیشگام بودن در ارائه راه کارهای برتر را آرمان خود قرار داده است. امید است این سایت بتواند زمینه ساز رشد و ترقی جامعه ایرانی در سرتاسر دنیا گردد.
شبکه های اجتماعی
ایمیل مدیر کل
habili@linux-zone.org