اطلاعیه

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

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

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

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

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

    در برخی توزیع های دیگر لینوکس، دستور useradd با نسخه های متفاوت سبک تری آمده است. من به شما پیشنهاد می کنم که قبل از استفاده از دستورالعمل ما برای ایجاد کاربر جدید در لینوکس داکیومنت آنرا بخوانید.

    هنگامیکه ما دستور useradd را در ترمینال لینوکس اجرا می کنیم، موارد زیر را اجرا خواهد کرد:
    • آن فایل های /etc/passwd ،/etc/shadow و /etc/gshadow را برای ایجاد حساب کاربری جدید ویرایش خواهد کرد.
    • برای هر کاربر یک home directory ایجاد می کند.
    • مجوز ها و ownership هایی را برای home directory تنظیم می کند.



    Syntax اولیه ی دستور به صورت زیر است:
    کد PHP:
     useradd [optionsusername 

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

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

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

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



    در این مقاله ما می خواهیم به شما 15 مورد از موارد استفاده ی دستور useradd را با مثال های عملی در لینوکس نشان دهیم. ما این بخش را به دو قسمت مقدماتی و پیشرفته تقسیم کرده ایم.
    • قسمت اول : موارد استفاده ی مقدماتی با 10 مثال
    • قسمت دوم : موارد استفاده ی پیشرفته با 5 مثال




    قسمت اول : 10 مثال از موارد استفاد ه ی دستور useradd

    1. نحوه ی اضافه کردن یک کاربر جدید در لینوکس

    برای ایجاد یک کاربر جدید، شما با استفاده از دستور useradd و یا adduser به همراه username سوالات را دنبال کنید. Username نام لاگین برای کاربر می باشد، که توسط کاربر برای لاگین به سیستم استفاده می شود.
    تنها یک کاربر می تواند اضافه شود و username باید منحصر بفرد با شد (آنرا از کاربران دیگری که قبلا روی سیستم وجود داشته اند متمایز می کند)
    برای مثال، برای اضافه کردن یک کاربر جدید به نام linux-zone از دستور زیر استفاده کنید.
    کد PHP:
    [root@linux-zone ~]# useradd linux-zone 
    زمانیکه ما یک کاربر جدید در لینوکس با استفاده از دستور useradd اضافه می کنیم آن در وضعیت قفل شده (locked) ایجاد خواهد شد و برای باز کردن قفل آن نیاز به تنظیم یک پسورد برای آن حساب با دستور passwd داریم.
    کد PHP:
     [root@linux-zone ~]# passwd linux-zone
    Changing password for user linux-zone.
    New 
    UNIX password:
    Retype new UNIX password:
    passwdall authentication tokens updated successfully
    هنگامیکه یک کاربر جدید ایجاد شد، آن به صورت اتوماتیک به فایل /etc/passwd اضافه خواهد شد. این فایل برای ذخیره ی اطلاعات کاربران استفاده می شود.
    کد PHP:
    linux-zone:x:504:504:linux-zone:/home/linux-zone:/bin/bash 

    ورودی های بالا شامل یک مجموعه ای از 7 فیلد جدا شده با ":" می باشد، هر فیلد معنی خاصی دارد. اجازه دهید ببینیم که این فیلد ها چه هستند:
    • Username : نام لاگین کاربر که برای لاگین کاربر به سیستم استفاده می شود. طول آن بین 1-32 کاراکتر باید باشد.
    • Password : پسورد کاربر که به صورت کدگذاری شده در فایل /etc/shadow دخیره شده است.
    • User ID (UID) : هر کاربری باید یک شناسه ی کاربری داشته باشد.User Identification Number. به صورت پیش فرض UID 0 برای کاربر root رزرو شده است و UID های از رنج 1-99 برای حساب های از پیش تعریف شده ی دیگر رزرو شده اند و در نهایت UIDهای از رنج 100-999 برای حساب های سیستمی و کاربران رزرو شده اند.
    • Group ID (GID) : شناسه ی گروه اصلی ID (GID) که در فایل /etc/group ذخیره شده است.
    • User Info : این فیلدد اختیاری است و به شما اجازه می دهد که اطلاعاتی در مورد کاربر ذخیره کنید. برای مثال، نام کامل کاربر. این فیلد توسط دستور ‘finger’ پر می شود.
    • Home Directory : مسیر absolute برای home directory کاربر.
    • Shell : مسیر absolute برای یک کاربر shell همانند /bin/bash.



    2. ایجاد یک کاربر با Home Directory متفاوت

    به صورت پیش فرض دستور useradd یک home directory زیر دایرکتوری /home با نام کاربری ایجاد می کند. بنابراین برای مثال، ما می بینیم که home directory پیش فرض برای کاربر "linux-zone" تکمینت /home/linux-zone می باشد.
    اما، این اکشن می تواند با استفاده از آپشن –d با محل home directory جدید تغییر داده شود. برای مثال، دستور زیر یک کاربر به نام anusha با home directory در مسیر /data/projects ایجاد کند.
    کد PHP:
     [root@linux-zone ~]# useradd -d /data/projects anusha 
    شما می توانید home directory کاربر و اطلاعات دیگر همچون id کاربر، id گروه، شل و توضیحات آن را ببینید.
    کد PHP:
    [root@linux-zone ~]# cat /etc/passwd | grep anusha
      
    anusha:x:505:505::/data/projects:/bin/bash 


    3. ایجاد یک کاربر با استفاده از User ID خاص

    در لینوکس هر کاربری دارای UID منحصر بفردی می باشد. به صورت پیش فرض، هر زمان که ما یک کاربر جدید در لینوکس ایجاد می کنیم، user id آن از 500، 501 و 502 و ... تخصیص داده می شود.
    اما، ما می توانیم کاربران را با uid سفارشی با استفاده از آپشن –u ایجاد کنیم. برای مثال دستور زیر یک کاربر با uid 999 با نام navin ایجاد خواهد کرد.
    کد PHP:
    [root@linux-zone ~]# useradd -u 999 navin 
    حالا، اجازه دهید که کاربر ایجاد شده با یک uid تعریف شده را با استفاده از دستور زیر بررسی کنیم.
    کد PHP:
     [root@linux-zone ~]# cat /etc/passwd | grep linux-zone
     
    navin:x:999:999::/home/navin:/bin/bash 
    نکته : اطمینان حاصل کنید که یک uid می بایست منحصر از کاربران دیگری که قبلا برروی سیستم ایجاد شده اند باشد.


    4. ایجاد یک کاربر با Group ID خاص

    به طور مشابه هر کاربر GID مخصوص به خود دارد. ما می توانیم کاربران را با شناسه ی گروه خاصی با استفاده از آپشن –g ایجاد کنیم.
    در این مثال ما می خواهیم یک کاربر tarunika با یک UID و GID به طور همزمان با کمک آپشن های –u و –g ایجاد کنیم.
    کد PHP:
    [root@linux-zone ~]# useradd -u 1000 -g 500 tarunika 
    حال می توانیم شناسه ی کاربری و شناسه ی گروه تخصیص داده شده به کاربر را در فایل /etc/passwd ببینیم.
    کد PHP:
     [root@linux-zone ~]# cat /etc/passwd | grep tarunika
     
    tarunika:x:1000:500::/home/tarunika:/bin/bash 

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

    گزینه ی –G برای اضافه کردن یک کاربر به یک گروه اضافی استفاده می شود. نام هر گروهی توسط کاما بدون هیچ فاصله ای جدا می شود.
    در این مثال ما یک کاربر به نام linux-zone را در چند گروه همچون admins و webadmin و developer اضافه می کنیم.
    کد PHP:
    [root@linux-zone ~]# useradd -G admins,webadmin,developers linux-zone 
    سپس با استفاده از دستور id بررسی می کنیم که گروه ها به کاربر تخصیص داده شده است یا خیر.
    کد PHP:
     [root@linux-zone ~]# id linux-zone
     
    uid=1001(linux-zonegid=1001(linux-zone)
    groups=1001(linux-zone),500(admins),501(webadmin),502(developers)
    context=root:system_r:unconfined_t:SystemLow-SystemHigh 

    6. اضافه کردن کاربر بدون Home directory

    در برخی مواقع، به دلیل برخی موارد امنیتی ما نمی خواهیم یک home directory به کاربر تخصیص دهیم.در این مواقع، هنگامیکه یک کاربر به سیستم لاگین می کند که به تازگی ریستارت شده باشد، و home directory آن root خواهد بود. هنگامیکه کاربر دستور su را اجرا می کند آن به home directory کاربر قبلی لاگین خواهد کرد.
    برای ایجاد کاربر بدون home directory، آپشن –M استفاده می شود. برای مثال دستور زیر یک کاربر با نام shilpi بدون یک home directory ایجاد خواهد کرد.
    کد PHP:
    [root@linux-zone ~]# useradd -M shilpi 
    اکنون، اجازه دهید با استفاده از دستور ls کاربر ایجاد بدون home directory را بررسی کنیم.
    کد PHP:
    [root@linux-zone ~]# ls -l /home/shilpi
    lscannot access /home/shilpiNo such file or directory 

    7. ایجاد یک کاربر با زمان انقضای حساب کابری

    به صورت پیش فرض هنگامیکه ما کاربری را با دستور useradd ایجاد می کنیم حساب کاربری آن هرگز منقضی نخواهد شد و زمان انقضا ی آن 0 ست می شود.
    اما ما می توانیم زمان انقضای آنرا با استفاده از گزینه ی –e تنظیم کنیم، که زمان را به فرمت YYYY-MM-DD تنظیم خواهد کرد. این برای ایجاد حساب های موقت برای زمان و دوره ی خاصی مفید خواهد بود.
    در این مثال ما یک کاربر با نام Aparna با زمان انقضای 27th April 2014 با فرمت YYYY-MM-DDایجاد می کنیم.
    کد PHP:
    [root@linux-zone ~]# useradd -e 2014-03-27 aparna 
    سپس سن حساب و پسورد را با دستور chage برای کاربر Aparna بررسی کنید.
    کد PHP:
    [root@linux-zone ~]# chage -l aparna
     
    Last password change                                         Mar 282014
    Password expires                                             
    never
    Password inactive                                            
    never
    Account expires                                              
    Mar 272014
    Minimum number of days between password change                       
    0
    Maximum number of days between password change                       
    99999
    Number of days of warning before password expires            


    8. ایجاد یک کاربر با تاریخ انقضای پسورد

    آرگومان –f برای تعریف تعداد روزهای پس از انقضای یک پسورد استفاده می شود. یک مقدار 0 حساب کاربری را به محض اینکه پسورد منقضی شد غیرفعال می کند. به صورت پیش فرض مقدار زمان انقضای پسورد به –l به معنی هرگز منقضی نشود تنظیم می شود.
    در این مثال ما یک زمان انقضای پسورد حدود 45 روز برروی کاربر linux-zone با استفاده از گزینه ی –e و –f ایجاد خواهیم کرد.
    کد PHP:
    [root@linux-zone ~]# useradd -e 2014-04-27 -f 45 linux-zone 

    9. اضافه کردن یک کاربر با توضیحات سفارشی

    آپشن –c به شما اجازه می دهد که توضیحات سفارشی را اضافه کنید، همچون نام کامل کاربر، شماره تلفن و ... را در فایل /etc/passwd اضافه کند. توضیحات می تواند به صورت یک هط بدون هیچ فاصله ای اضافه گردد.
    برای مثا ل دستور زیر یک کاربر با نام mansi را اضافه خواهد کرد و نام کامل آنرا در فیلد توضیحات اضافه خواهد کرد.
    کد PHP:
    [root@linux-zone ~]# useradd -c "Manis Khurana" mansi 
    شما می توانید توضیحات خود را در قسمت توضیحات در فایل /etc/passwd مشاهده کنید.
    کد PHP:
     [root@linux-zone ~]# tail -1 /etc/passwd
     
    mansi:x:1006:1008:Manis Khurana:/home/mansi:/bin/sh 

    10. تغییر شل لاگین کاربر

    گاهی اوقات ما کاربرانی را اضافه می کنیم که هیچ کاری با شل لاگین ندارند و یا گاهی اوقات ما نیاز داریم شل متفاوتی را به کاربرانمان اختصاص دهیم. ما می توانیم شل لاگین متفاوتی را با استفاده از آپشن –s اختصاص دهیم.
    در این مثال ، یک کاربر با نام linux-zone بدون شل لاگین با شل /sbin/nologin ایجاد خواهیم کرد.
    کد PHP:
    [root@linux-zone ~]# useradd -s /sbin/nologin linux-zone 
    شما می توانید شل تخصیص شده به کاربر را در فایل /etc/passwd مشاهده کنید.
    کد PHP:
    [root@linux-zone ~]# tail -1 /etc/passwd
     
    linux-zone:x:1002:1002::/home/linux-zone:/sbin/nologin 


    بخش دوم – 5 مورد استفاده ی پیشرفته ی دستور useradd


    11. اضافه کردن یک کاربر با Home directory مخصوص، شل پیش فرض و توضیحات شخصی

    دستور زیر یک کاربر ravi با home directory /var/www/linux-zone ایجاد خواهد کرد، شل پیش فرض /bin/bash و برخی اطلاعات اضافی در مورد کاربر اضافه خواهد شد.
    کد PHP:
    [root@linux-zone ~]# useradd -m -d /var/www/ravi -s /bin/bash -c "Linux-Zone Owner" -U ravi 
    در دستور بالاآپشن ‘-m –d’ یک کاربر با home directory خاص ایجاد می کند و آپشن –s شل پیش فرض /bin/bash را برای آن تنظیم می کند. آپشن –c اطلاعات اضافی ای ار در مورد کاربر اضافه کرده و آرگومان –U یک گروه با همان نام کاربر ایجاد می کند.


    12. اضافه کردن یک کاربر با Home directory، و custom Shell، توضیحات شخصی و UID/GID

    دستور بسیار شبیه به بالا است اما در اینجا شل /bin/zsh و UID وGID برای کاربر tarunika تعریف شده است. به طوریکه –u UID کاربر را به 1000 تعریف کرده و –g GID کاربر را به 1000 تعریف میکند.
    کد PHP:
     [root@linux-zone ~]# useradd -m -d /var/www/tarunika -s /bin/zsh -c "Linux-Zone Technical Writer" -u 1000 -g 1000 tarunika 

    13. اضافه کردن یک کاربر با Home directory، بدون shell، توضیحات شخصی و ID کاربر

    دستور زیر نیز بسیار شبیه دستور بالاست، تنها تفاوت آن در اینجا این است که ما لاگین شل را برای کاربر avishek با UID 1019 غیر فعال کرده ایم.
    در اینجا آپشن –s شل پیش فرض /bin/bash را اضافه می کند اما در این مورد ما آنرا به /usr/sbin/nologin ست کرده ایم. که به این معنی است که کاربر avishek قادر به لاگین به سیستم نخواهد بود.
    کد PHP:
     [root@linux-zone ~]# useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "Linux-Zone Sr. Technical Writer" -u 1019 avishek 

    14. اضافه کردن یک کاربر با Home directory،Shell،Skell و توضیحات شخصی و ID کاربری

    تنها تغییر در این دستور این است که ما ازگزینه ی –k برای تنظیم دایرکتوری skeleton /etc/custom.skell استفاده کرده ایمو نه پیش فرض /etc/skel. ما همچنین از آپشن –s برای تعریف شل متفاوت /bin/tcsh برای کاربر navin استفاده کرده ایم.
    کد PHP:
     [root@linux-zone ~]# useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "No Active Member of Linux-Zone" -u 1027 navin 

    15. اضافه کردن یک کاربر بدون Home directory، بدون shell، بدون گروه و با توضیحات شخصی

    این دستور نیز بسیار متفاوت از دستورات قبلی است. در اینجا ما ا زآپشن –M برای ایجاد کاربر بدون home directory و از آرگومان –N استفاده کرده ایم که می گوید که سیستم تنها username را بدون گروه ایجاد کند. آرگومان –r برای ایجاد یک کاربر سیستمی می باشد.
    کد PHP:
     [root@linux-zone ~]# useradd -M -N -r -s /bin/false -c "Disabled Linux-Zone Member" clayton 

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

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

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

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


    برای اطلاعات بیشتر و آپشن های دیگر در باره ی useradd دستور useradd را برروی ترمینال ایجاد کنید و آپشن های قابل دسترس آنرا مشاهده کنید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-07-2021, 12:04 PM.
    اینستاگرام انجمن لینوکس ایران : https://www.instagram.com/iranlinuxforum

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

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

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