منبع اصلی نوشتار زیر در این لینک قرار دارد

راهنمای ایجاد / حذف کاربران در Linux/FreeBSD(با مثال-دستور های متفاوت)

یکی از وظایف مدیر، ایجاد و مدیریت کاربران است. در زمان ایجاد یک کاربر می توان اطلاعات را بصورت پیشفرض استفاده کرد یا اینکه با استفاده از سوئیچ هایی، اطلاعات لازم را فراهم کرد. دو فایل etc/passwd/ و etc/shadow/ بعنوان پایگاه داده هایی برای ذخیره کردن اطلاعات کاربران استفاده می شود. فایل passwd محلی برای ذخیره نام کاربری و اطلاعاتی همچون شِل پیشفرض و دایرکتوری خانگی کاربر است. هر خط آن شامل 7 فیلد است که دومین فیلد در صورتی مکه برای کاربر پسورد تنظیم شده باشد بصورت x بوده و اشاره گری به یک خط در فایل shadow است. فایل shadow مخزن پسوردها ست که بصورت رمزنگاری شده، پسورد ها را ذخیره کرده است.در توزیع های لینوکسی با استفاده از سه فرمان useradd,adduser و newuser می توان کاربرانی ایجاد کرد.

استفاده از دستور useradd :

دستور useradd پایه ای ترین دستور برای ایجاد کاربر است و از اطلاعات پیشفرضی که در فایل های etc/login.defs/ و etc/default/useradd/ یا دایرکتوری etc/skel/ قرار دارد برای ایجاد کاربر جدید استفاده می کند.

\"\"

ساده ترین شکل استفاده از دستور به صورت زیر است. با اجرای دستور زیر تمامی اطلاعات لازم از فایل های بالا و محتویات دایرکتوری خوانده می شوند.

useradd LOGIN_NAME

فایل etc/default/useradd/ شامل اطلاعات پیشفرضی مانند: شِل و دایرکتوری خانگی پیشفرض و … است. اگر بخواهید اطلاعات پیشفرضی که دستور useradd از آنها استفاده می کند ببنید از دستور useradd به همراه سوئیچ D- استفاده کنید. همچنین برای دیدن محتویات فایل etc/default/useradd/ از دومین دستور زیر استفاده کنید. همانطور که در شکل زیر می بنید خروجی این دو دستور یک سری اطلاعات یکسان را نشان می دهد، پس useradd از فایل etc/default/useradd/ استفاده می کند. محتویات دایرکتوری etc/skel/ در درون دایرکتوری خانگی کاربر کپی می شوند. یعنی می توانید دایرکتوری ها و یا فایل هایی را که می خواهید بعد از ایجاد هر کاربر، در دایرکتوری خانگیش کپی شود، در زیر این دایرکتوری قرار دهید.

useradd -D

cat /etc/default/useradd

\"\"

  • GROUP : اگر هیچ گروهی را هنگام ایجاد کاربر تعیین نکنیم، یک گروه همنام با نام کاربری، ایجاد می شود و کاربر عضو آن گروه خواهد شد ولی اگر یک گروه پیش فرض را تعیین کنیم (بطور مثال در شکل بالا با GID=100) و از سوئیچ n- نیز استفاده کنیم، کاربر عضو این گروه پیش رض خواهد شد.
  • HOME : محل پیشفرض ایجاد دایرکتوری های خانگی کاربران را نشان می دهد. زیر این دایرکتوری همنام با نام کاربری آن کارب ایجاد شده و تمامی محتوای دایرکتوری etc/skel/ در آن کپی می شود.
  • INACTIVE : با مقدار 1- ویژگی غیر فعال شدن کاربران پس از Expire شدن پسوردشان، را غیرفعال می کنیم. برای فعال کردن این ویژگی (غیرفعال شدن کاربر پس از انقضای پسوردش باید یک عدد مثبت به INACTIVE بدهیم که به یعنی اگر پسوردی پس از گذشت تعداد روزها Expire شود، اکانت آن کاربر Disable شود.
  • EXPIRE : زمانی را که در آن اکانت کاربر غیر فعال می شود.
  • SHELL : شِل پیشفرض که در صورت عدم تعیین شِل توسط سوئیچ s- به کاربر داده می شود.
  • SKEL :مسیر دایرکتوری که باید محتویاتش در دایرکتوری خانگی کپی شود را تعیین می کند.
  • CREATE_MAIL_SPOOL : مقادیر yes/no را می پذیرد. اگر yes باشد یعنی محل ذخیره پست های الکترونیکی را ایجاد کن و اگر no باشد، یعنی ایجاد نکن. این محل توسط پارامتر MAIL در فایل etc/login.defs/ معلوم می شود.

با استفاده از سوئیچ n- در دستور useradd می توان کاربری را به همراه تمامی گزینه های پیشفرض و گروه پیشفرض (بطور مثال در بالا گروهی با GID=100) ایجاد کرد.

useradd -n falearn

ایجاد کاربران با استفاده از اطلاعات سفارشی شده:

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

man useradd

دستور زیر یک حالت کلی و پر استفاده از دستور useradd است.

useradd -s <SHELL> -m -d <HomeDir> -g <Group> UserName

  • s- : شِل پیشفرض را تعیین می کند.
  • m- : اگر دایرکتوری خانگی وجود نداشته باشد، آنرا ایجاد می کند.
  • d- : مسیر دلخواه برای ایجاد دایرکتوری خانگی را تعیین و ایجاد می کند.
  • g- : اگر از قبل گروهی ایجاد کرده اید، با استفاده از نام آن بعد سوئیج g-، آنرا، بعنوان گروه اصلی کاربر تعیین می کند.
  • UserName : نام کاربری (Login Name)

حذف کاربران در لینوکس :

با استفاده از دستور userdel به همراه سوئیچ r- تمامی اطلاعات یک کاربر مانند دایرکتوری خانگی، MAIL SPOOL و خطوط مربوط به آن در فایل های passwd و shadow و … پاک خواهد شد. ولی اگر از سوئیچ r- استفاده نکنید اطلاعاتی مانند دایرکتوری خانگی و MAIL SPOOL باقی خواهند ماند و اگر زمانی بعد بخواهید کاربری با همین نام ایجاد کنید خطای اینکه دایرکتوری خانگی وجود دارد مواجه خواهید شد.

userdel -r USER_NAME

ایجاد کاربران بصورت تعامی با دستور adduser :

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

adduser

\"\"

در شکل بالا، قسمت 1 اجرای دستور را نشان می دهد. در گام های بعدی سوالاتی از شما پرسیده می شود و برخی از آنها مقادیر پیشفرضی را دارند که داخل براکت های باز و بسته آمده اند. اگر جلوی این خطوط Enter بزنید، مقادیر پیشفرض داخل [] در نظر گرفته می شوند. خلاصه اطلاعات نشان داده می شود. در قسمت 2 برای تایید محتویات سوال شده که باید yes را وارد کنید. در قسمت 3 اطلاعات وارد پایگاه داه یعنی همان فایل های etc/passwd/ و etc/group/ و etc/shadow/ شده اند. در قسمت 4 هم سوال می شود آیا می خواهید کاربر جدیدی ایجاد کنید.

در شکل بالا دو خط زیر وجود دارند. اولین خط که دارای مقدار پیشفرض no است، یعنی اینکه فعلن پسوردی تنظیم نمی کنم (چون بصورت واضخ پسورد نشان داده می شود). دومین خط زیر هم یعنی اینکه سیستم (دستور adduser) برای شما پسوردی ایجاد کند که مشکل آن این است که در قسمت خلاصه اطلاعات بصورت واضح نشان داده می شود.

Use an empty password

Use a random password

همچنین می توانید با دستور passwd مانند لینوکس در FreeBSD نیز پسورد کاربری را ایجاد یا تغییر دهید.

\"\"

حذف کاربر در FreeBSD :

از دستور rmuser به صورت زیر استفاده کنید.در خط 1 دستور را وارد کنید و سپس Enter بزنید. در خط 2 باید نام کاربری که می خواهید حذف شود را وارد کنید. در خط 3 نشان می دهد که خطی مطابق با کاربر وارد شده در فایل etc/passwd/ پیدا شده است. خط 4 را y وارد کنید تا خط پیدا شده در فایل passwd پاک شود. خطوط 5 و 6 نیز به ترتیب y بزنید (عملکردی شبیه به سوئیچ r- در دستور userdel در لینوکس) تا دایرکتوری خانگی و mailspool کاربر پاک شوند.

\"\"



برچسب ها : , , , , , , , , , , ,