اطلاعیه

بستن
No announcement yet.

آشنایی با مدیریت کاربران در لینوکس – بخش اول

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

    آشنایی با مدیریت کاربران در لینوکس – بخش اول

    در این پست چگونگی مدیریت و بدست اوردن اطلاعاتی از کاربران در لینوکس را شرح خواهم داد. همچنین شما را با متغیر های محلی و فایل ها و همچنین دستورات لازم برای مدیریت کاربران آشنا خواهم کرد. پس از نصب سیستم و داشتن یک نام کاربری و کلمه عبور لینوکس شما را در قالب گروه دسته بندی می کند. علت استفاده از گرو ها برای اشتراک گذاری منابع و فایل ها به دسته های خاصی از افراد است. شما حتما عضو یک گروه هستید و از ویژگی های آن گروه بهره می برید اما می توانید عضو بیش از یک گروه باشید.


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

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

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

    مدیریت User ها و Group ها، Permission های فایل، Attribute ها و فعال کردن دسترسی sudo روی Account ها

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



    فایلی در دایرکتوری etc/ وجود دارد که این گروه ها را در خود نگاه می دارد.در فایل passwd به ازای هر کاربر یک خط وجود دارد.دستور زیر را اجرا کنید :

    کد PHP:
    cat /etc/passwd 
    یک خط از آن مانند زیر است :

    کد PHP:
    mirza:x:500:500:amirnami:/home/amirnami:/bin/bash 
    amirnami نام کاربری من – 500 شنتاسه من – 500 شناسه گروه اصلی من – Mirza نام گروه اصلی من و دو فیلد پایانی نیز مشخص است. پس به ازای هر کاربر که در سیستم ثبت شده است خطی بصورت زیر وجود دارد :
    username:password:uid:gid:user id Info:home_directory:default_shellx در بالا به این معنی است که برای نام کاربری یک کلمه عبور ایجاد شده اما به دلیل استفاده از تکنیک shadow کارکتر x جایگذین آن است.

    اطلاعات کاربری :
    دستور whoami نام کاربری شما را نشان می دهد.
    دستور who چه کسانی بر روی سیستم هستند.
    دستور w چه کسانی بر روی سیستم هستند و چه فعالیت هایی دارند.
    دستور last اخرین فعالیت شما را در سیستم نشان می دهد ( ورود و خروج به سیستم ) این دستور به صورت پیش فرض اطلاعات شما را نشان می دهد اما بصورت last username اطلاعات کاربر تعیین شده را نشان می دهد.

    متغیر های محیطی : شل bash دارای متغیر های محیطی است که برای هر کاربر اطلاعات مربوط به آن کاربر را نگه می دارد. مانند دستور های زیر ( دستور echo برای چاپ کردن مقدار متغیر ها ) آنها را اجرا و خروجی را مشاهده کند.

    کد PHP:
    echo $HOME برای مسیر خانگی
    echo $BASH شل پیش فرض
    echo $UID شناسه کاربری شما
    echo $USERNAME نام کاربری شما
    echo $GROUPS شناسه گروه های شما
    echo $PATH مسیر های اجرایی شما 
    در لینوکس هر برنامه متعلق به گروهی از کاربران و یا کاربر ریشه است خروجی PATH$ مسیر هایی که حاوی دستوراتی که شما مجاز به اجرای انها هستید را نشان می دهد. هر دو مسیر توسط یک : از یکدیگر جدا شده اند

    فایل های کاربری : این فایل ها در دایرکتوری خانگی ما و بصوورت مخفی (شروع با dot) هستند که می توان به فایل های

    bashrc که برای ذخیره سازی متغیر های محیطی و نام های مستعار به کار برد.این فایل در هنگام ورود به سیستم یا اجرای یک خط فرمان خوانده می شود
    bash_logout با قطع ارتباط از یا خروج از bash اجرا شده و بطور پیش فرض صفحه نمایش را پاک می کند.
    bash_profile در ارتباط با فایل bashrc و و چند متغیر محلی را تنظیم میکند و فایل bashrc را اجرا می کند.

    یک توضیح کوتاه از این فایل که مفید برای کار با متغیر های محلی است توضیح دو خط زیر که موجود در فایل است :

    کد PHP:
    PATH=$PATH:$HOME/bin
    export PATH 
    خط اول می گوید مسیر home/mirza/bin/ را به انتهای متغیر محیطی PATH که توسط یک علامت : از هم جدا شده اند الحاق کن و با اجرای خط دم انها را ثبت کن.
    فایل bash_history حاوی اخرین دستورا اجرایی شما در خط فرمان است. دستور history برای نمایش محتویات همین فایل در خط فرمان است و حتی متغیر های محیطی برای کار با این فایل وجود دارند ( این متغیر ها اطلاعات خود را بصورت خودکار از همین فایل می خوانند)

    کد PHP:
    echo $HISTCMD
    echo $HISTFILE
    echo $HISTFILESIZE
    echo $HISTSIZE
    echo $HISTCONTROL 
    سه متغیر محیطی جالب دیگر برای هر کاربر ؛

    کد PHP:
    echo $OSTYPE نوع سیستم عامل
    echo $PWD دایرکتوری فعلی شما
    echo $OLDPWD دایرکتوری قبل از تغییر دایرکتوری به دایرکتوری فعلی 
    این اطلاعات برای هر کاربر یا یکسان است و یا متفاوت تنها مطلبی که باید بدانید در لینوکس دایرکتوری خانگی کاربر ریشه بر خلاف تمامی کاربران یک دیرکتوری به نام root است که یک زیردایرکتوزی از دایرکتوری / است. ( مسیر زیر)

    کد PHP:
    root
    البته اهمیت متغیر های محلی در مبحث اسکریپت نویسی شل یا Shell Scripting بسیار پر اهمیت خواهد بود.

    بعنوان مثال اگر شما در خط فرمان یک دستور مانند cd یا ls و یا هر دستور مجاز دیگری را اجرا کنید این دستور در فایل bash_history شما ذخیره می شود اما این دستور در فایل bash_history دیگر کاربران ذخیره نخواهد شد \س نتیجه می گیریم که ۴ محتویات فایل گفته شده و متغیر های محیطی مختص فعالیت های شما در سیستم هستند.
    نویسنده نامی امیر
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-11-2020, 11:50 PM.

    #2
    آشنایی با مدیریت کاربران در لینوکس – بخش دوم

    در این پست با فایل ها و متغیر های محلی هر کاربر لینوکسی و همچنین دسته بندی کردن کاربران در غالب گروه یا گروه ها آشنا شدیم و اهمیت گروه ها به خاطر تقسیم بندی منابع و فایل میان کاربران هر گروه با توجه به نیازهایشان است. ۴ فایلی که هر کاربر در دایرکتوری خانگی خود دارد نیز به همراه دستور هایی برای دریافت اطلاعات کاربری توضیح داده شدند.
    دستور های adduser و passwd نیاز به سطح کاربر ریشه دارند.

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

    c- : شرح اطلاعات اکانت جدید که اغلب نام کامل شخص است.
    d- : معین کننده دیرکتوری اصلی که معمولا همان دایرکتوcmری خانگی است.
    e- : تاریخ انقضای اکانت یا expire
    -g : معین کننده گروه اصلی برای کاربر که اغلب شما در گروهی با نام کاربری خود خواهید بود.
    G- : تعیین دیگر گروه های اکانت که گروه ها با کاما از هم جدا می شوند.
    p- : تعیین کننده پسورد که باید بصورت کدگذاری شده باشد.(در ادامه با دستوری آشنا خواهیم شد که پسورد کدگذاری شده را ایجاد می کند و بهتر از این دستور پس از ایجاد اکانت استفاده شود).
    u- : شناسه کاربر را تعیین می کند که اگر استفاده نشود یک بصورت خودکار عدد به کاربر داده می شود.معمولا یک عدد پیش فرض وجود دارد که با ایجاد هر کاربر جدید یکی به این عدد اضافه می شود و به کاربر جدید داده می شود.

    در لینوکس فایلی در مسیر etc/ به نام login.defs وجود دارد که همین اطلاعات پیش فرض را در خود نگه می دارد و دستور useradd اطلاعات را از آن می خواند.در این فایل که مخفف login defines است اطلاعاتی مانند عبارات زیر وجود دارد :

    MAIL_DIR /var/spool/mail تعیین کننده دایرکتوری پیش فرض پست الکترونیک برای کاربران
    PASS_MIN_LEN حداقل کارکتر ها برای پسورد ها
    UID_MIN همانطور که گفته شد اگر از گزینه u برای تعیین شناسه کاربری استفاده نکنید یک عدد بصورت خودکار به آن داده می شود که مقدار اولیه این عدد بصورت پیش فرض با عبارت UID_MIN معین می شود.
    GID_MIN مانند عبارت قبلی اما برای تعیین عدد پیش فرض برای گروه اصلی کاربر
    CREATE_HOME از نام آن معلوم است و تعیین کننده اینکه ایا دایرکتوری خانگی ایجاد شود و آن بعنوان دایرکتوری خانگی شما باشد که ارتباط با گزینه d دارد.
    UMASK یک عدد خاص دارد که تعیین می کند هرگاه کاربر یک فایل یا دایرکتوری ایجاد کرد چه پرمیشن پیش فرضی به آن داده شود بطور ساده تر این دستور یک پرمیشن پیش فرض برای فایل و یک پرمیشن پیش فرض برای دایرکتوری های ایجاد شده توسط کاربران را معلوم می کند.(بخش پرمیشن ها را بخوانید)
    برای انکه محتویات این دستور را ببینید دستور زیر را در خط فرمان اجرا کنید :

    کد PHP:
    cat /etc/login.defs 
    تعیین پسور برای اکانت جدید :

    فایل دیگری که در ارتباط با کاربران است فایل passwd ودر مسیر etc/ قرار دارد. به ازای هر کاربر موجود در یک خط در ارتباط با آن کاربر وجود دارد که هر خط آن در قالب زیر است :

    کد PHP:
    username:password:uid:gid:user id Info:home_directory:default_shell 
    خط مربوط به من در این فایل که amirnami معرف نام کاربری من است.

    کد PHP:
    mirza:x:500:500:amirnami:/home/amirnami:/bin/bash 
    هرگاه که یک کاربر جدید به سیستم اضافه می شود یک خط برای آن در این فایل اضافه می شود.برای درک بیشتر دستور زیر را برای ایجاد یک کاربر به نام user1 اجرا کنید. دستور – su برای داشتن امکانات کاربر ریشه است چون دستور useradd از دستورهای کاربر ریشه است.

    کد PHP:
    su
    useradd user1 
    و سپس با دستور cat /etc/passdw به دنبال خطی که حاوی user1 باشد بگردید که آن خط مانند خط زیر باید باشد :

    کد PHP:
    user1:x:501:501::/home/user1:/bin/bash 
    توجه کنید در خط عدد 501 اولی نشان دهنده شناسه کاربر و اینکه برای این عدد 501 شده است چونکه عبارت UID_MIN در فایل login.defs عدد 500 بوده و چون کاربر amirnami پیش از این در سیستم ثبت شده عدد 500 متعلق به آن است و همین روند افزایشی برای دیگر کاربران صادق است مگر اینکه با گزینه u از دستور useradd شناسه کاربر را خودتان تعیین کنید و همین توضیح برای عدد دوم که متعلق به شناسه گروه است نیز صادق است. البته می توان از قبل گروهی را ایجاد کرد و ان گروه را به کاربر از طریق گزینه g تعلق داد اما چون گروهی تعیین نشده پس سیستم یگ گروه همنام با نام کاربری خود کاربر جدی به کاربر جدید می دهد.
    پس از مراحل بالا نوبت به دادن پسورد به کاربر است پس برای این کار از دستور passwd بصورت زیر استفاده می کنیم :
    کد PHP:
    su
    passwd username 
    برای کاربر user1 :


    passwd user1
    New Password
    Retype New Password
    دو خط قرمز معلوم است که از شما می خواهد یک پسورد وارد کنید و پس از زدن Enter دوباره آنرا تکرار کنید و پس از تکمیل دستور خط زیر بعنوان موفقیت در انجام دستور نشان داده خواهد شد.

    کد PHP:
    passwdall authentication tokens updated successfully 
    حال که شما با ایجاد یک اکانت جدید اشنا شدید اید بخواهید که کلمه عبور خود یا یک کاربر خاص را تغییر دهید این کارر در یونیکس توسط دستور passwd انجام خواهد شد که بصورت زیر است :

    ۱ – شما می خواهید نام کاربری خود را عوض کنید که باید دستورpasswd را به تنهایی اجرا کنید. اجرای تنهای دستور passwd شما به دستور passwd می گویید که می خواهیم پسورد کاربر فعلی یعنی خودم را عوض کنم :

    کد PHP:
    passwd 
    ۲ – یا اینکه می خواهید پسورد یک کاربر خاص تغییر دهیم که بصورت زیر خواهد بود.

    کد PHP:
    passwd username 
    در هردو حالت باید پسورد جدید را مانند بالا یک بار وارد کنید و دوبازره برای تایید تطابق آنرا وارد کنید.یک مثال :
    برای پایان مبحث یک مثال کلی از ایجاد تا تعیین پسورد خواهیم گفت :

    کد PHP:
    step 1 Create Account
    useradd 
    -g users -c “New User” -/bin/csh user2step 2 Set Password for user2
    passwd user2
    type password 
    and retype password 
    حذف کاربر :
    دستور userdel برای حذف یک کاربر از سیستم بکار می رود. این دستور جز دستور های کاربر ریشه بوده و برای اجرای آن نیاز به داشتن سطح کاربر ریشه دارید و بصورت زیر استفاده می شود :

    کد PHP:
    su
    userdel username 
    برای کاربر user1 بصورت زیر استفاده خواهد شد.

    کد PHP:
    userdel user1 
    تغییر اطلاعات اکانت کاربران :
    در بالا به چگونگی ایجاد یک اکانت جدید و دادن اطلاعات لازم و ضروری برای کار روی سیستم آشنا شدید اما می توان به غیر از اطلاعات بالا دیگر اطلاعاتی مانند اطلاعات تماس و آدرس ها را برای کاربر بعنوان پروفایل آن کاربر اضافه نمود. در لینوکس دستوری به نام chfn که مخفف change fullname است وجود دارد که اطلاعاتی از قبیل آذرس و تلفن های تماس را دریافت می کند. اگر می خواهید برای کاربر فعلی یعنی خودتان انجام دهید کافیست دستور chfn را اجرا کنید و اطلاعات لازم را وارد کنید و برای پر کردن اطلاع بعدی Enter را بزنید و اگر هم می خواهید برای دیگر کاربران انجام دهید باید بصورت زیر باشد.

    کد PHP:
    chfn username 
    البته توجه کنید که با انجام حالت دوم (خط بالا) باید دسترسی کاربر ریشه داشته باشید.البته برای انکه بتوانید دستور بالا را بصورت گرافیکی انجام دهید دستور دیگری به نام userinfo وجود دارد که عملکرد آن همان دستور chfn است اما بصورت گرافیکی و بازهم حالت تغییر اطلاعات برای کاربر دیگر نیاز به سطح دسترسی ریشه دارد.در زیر حالت نخست برای کاربر فعلی یعنی شما و حالت دوم برای کاربری خاص بکار می رود و حالت دوم نیاز به داشتن سطح ریشه دارد.

    کد PHP:
    userinfo
    userinfo username 
    دستور گرافیکی userpasswd برای انجام عمل دستور passwd وجود دارد که مانند مشابه متنی خود برای دادن یک پسورد به کاربر جدید و همچنین برای تغییر پسورد بکار می رود.در زیر حالت نخست برای کاربر فعلی یعنی شما و حالت دوم برای کاربری خاص بکار می رود و حالت دوم نیاز به داشتن سطح ریشه دارد.

    کد PHP:
    userpasswd
    userpasswd username 
    مدیریت گروه ها :
    دستور های بالا برای ایجاد و مدیریت کاربران بود و همانطور که گفته شد کاربران در دسته گروه هایی قرار می گیرند. فایلی که بطور مستقیم با گروه ها در ارتباط است فایلی به نام group در مسیر etc/ قرار دارد و برای دیدین آن دستور cat /etc/group را اجرا کنید. خروجی شامل خطوطیست که هر خط متعلق به یک گروه و همراه شناسه و پسورد گروه است.هر خط بصورت زیر خواهد بود.

    کد PHP:
    groupname:password:gid:lists users

    cdrom
    :x:24:vivek,student13,raj 
    cdrom نام گروه و x معرف پسورد ذخیره شده با تکنولوژی shadow و 24 معرف شناسه گروه و در نهاست فهرست اخر فهرست کاربران عضو است.

    ایجاد و حذف یک گروه جدید و افزودن کاربر به آن :
    دستور groupadd برای ایجاد یک گروه جدید یکار می رود و دستور groupdel برای حذف یک گروه از سیستم. به ازای ایجاد یک گروه یک خط در فایل group ایجاد می شود.

    کد PHP:
    groupadd groupname
    groupdel groupname 
    همچنین دستوری به نام gpasswd وجود دارد که مخفف group password است و مشابه passwd اما برای دادن کلمه عبور جدید به گروه و یا تغییر ان بکار می رود.

    توجه : دستور useradd -D رو با دسترسی کاربر ریشه برای نمایش اطلاعات پیش فرض گفته شده در بالاکه در فایل login.defs ذخیره شده اند استفاده کنید.

    دستور usermode :
    برای تغییر در یک اکانت بکار می رود.دارای ۲ گزینه اساسی و کاربردی دارکه :
    گزینه L برای Lock کردن یا غیر فعال کردن پسورد کاربر مورد نظر و غیر فعال کردن آن کاربر بکار می رود.
    گزینه U برای Unlock کردن پسورد و فعال کردن دوبازه اکانت و اجازه دسترسی و login کردن به سیستم.
    خطوط زیر را در دسترسی کاربر ریشه وارد نمایید :

    کد PHP:
    useradd -mc ” Sample tutorial” -e 2011/11/-/bin/tcsh user1passwd user1
    NEW PASSWORD ENTER
    RETYPE PASSWORD ENTER 
    حالا کلید های Ctrl+Alt+F2 را فشرده تا وارد محیط ترمینال مجازی شوید و با کاربر USER1 به سیستم LOGIN شوید.شما می توانید وارد شوید اما در تارخ هشتم نوامبر تاریخ expire است.
    در همان ترمینال مجازی با دستور – su کاربر ریشه شوید و دستور زیر را اجرا کنید.

    کد PHP:
    usermod -L user1 
    پسورد کاربر غیر فعال خواهد شد.
    نویسنده نامی امیر
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-11-2020, 11:51 PM.

    کامنت


      #3
      مدیریت کاربران در لینوکس – بخش سوم

      در دو مطلب آشنایی با مدیریت کاربران در لینوکس بخش نخست و بخش دوم با ۲ فایل login.defs و passwd و کاربر آنها اشنا شدیم. تمام کاربران سیستم حق خواندن را از این ۲ فایل دارند ( یعنی همه کاربران سیستم می توانند این ۲ فایل را با دستور های زیر بخوانند) اما تنها کاربر root است که هم می تواند این فایل را بخواند و هم بر روی آن بنویسد(آنرا تغییر دهد). برای اطلاع از حق مالکیت ها لطفن این لینک را بخوانید.

      همچنین در بخش نخست مدیریت کاربران با چند فایل که در دایرکتوری خانگی هر کاربر وجود دارد مانند bashrc و … نیز آشنا شدیم. اما دو فایل دیگری که هر کاربر و اکانت های آنها با آن ۲ فایل درگیر هستند فایل های group و shadow نام دارند که در ادامه با این دو فایل و محتویات آنها آشنا خواهیم شد.

      فایل group :
      در بخش دوم مدیریت کاربران در لینوکس با دستور های مدیریت گروه ها آشنا شدیم اما پس از ایجاد یک گروه اطلاعات در کجا ذخیره می شوند.فایلی به نام group در مسیر etc/ قرار دارد که همه کاربران مجوز خواندن از آن را دارند اما تنها کاربر ریشه می تواند هم از آن بخواند و هم بر آن بنویسد.هر خط این فایل شامل اطلاعات تمامی گروه ها در سیستم است.دستور زیر را اجرا کنید :

      کد PHP:
      cat /etc/group 
      هر خط آن بصورت زیر خواهد بود.

      کد PHP:
      groupname:password:groupid:memberlist 
      یک خط از آن بصورت زیر خواهد بود :

      کد PHP:
      root:x:0:root 
      که x معرف password ایجاد شده با سیستم shadow و root آخر یک عضو از گروه root که همان کاربر ریشه خودمان هست.در خط بالا root نام گروه است که شناسه گروه آن 0 است.دستوری در یونیکس به نام groups وجود دارد که نام گرو های یک کاربر را نشان خواهد داد.اگر به تنهایی استفاده شود گروه کاربر فعلی یعنی شما را نشان خواهد داد و همچنین می تواند برای یک کاربر خاص بصورت زیر باشد :

      کد PHP:
      groups username 
      فایل shadow :
      در فایل های passwd و group در فیلد password یک علامت x قرار می گیرد که اشاره به پسورد ذخیره شده در فایل shadow دارد.فایل shadow در مسیر etc/ قرار دارد و هر خط آن شامل یک کاربر یا گروه است.

      برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	shadow-file-795497.png-300x53.jpg نمایش ها:	1 اندازه:	4.9 KB شناسه:	17047

      فیلد 1 – (User name) : نام کاربری که با آن Login می کنید.

      فیلد 2 – (Password) : گذرواژه رمز شده.

      فیلد 3 – (Last password change) : زمان آخرین باری که گذرواژه تغییر کرده است.

      فیلد 4 : (Minimum) : حداقل تعداد روز هایی که لازم است برای تغییر گذرواژه.

      فیلد 5 – (Maximum) : حداکثر تعداد روزهایی که گذرواژه معتبر است(این زمان تعداد روز هایی را مشخص می کند که یک کاربر باید گذرواژه اش را از زمانی که مجبور به تغییر دارد را تعین می کن و باید تا قبل این زمان حتمن اقدام به تغییر گذرواژه خود کند).

      فیلد 6 – (warned) : تعداد روز هایی که تا قبل اینکه گذرواژه منقضی یا Expire شود.

      فیلد 7 – (Inactive ) : تعداد روز های پس از منقض شدن گذرواژه که اکانت غیر فعال است.

      فیلد 8 – (Expire) تعداد روز های از اول ژانویه سال 1970 که اکانت غیر فعال است.

      جمع بندی مطالب سه بخش مدیریت کاربران در لینوکس :

      در لینوکس هر کاربر دارای یک شناسه منحصر به فرد به نام UserID یا UID است که فقط مختص به اوست. همچنین در لینوکس با ایجاد هر کاربر یک گروه همنام با آن کاربر ساخته می شود و کاربر در آن قرار می گیرد. الته می توان کاربر را با دستور زیر می توان یک کاربر را عضو گروه دیگری کرد.

      کد PHP:
      useradd -{group-nameusername 
      هر گروه دارای یک شناسه مختص به خود و منحصر به فرد است که Group ID یا GID نام دارد.
      UID کاربر ریشه 0 و GID آن نیز 0 است و نام کاربری و نام گروه آن root است.(مفهوم کاربر root)
      با ایجاد هر کاربر بصورت پیش فرض یک دایرکتوری به آن در زیر دایرکتوری home/ همنام با نام خودش داده می شود. با ایجاد هر کاربر یک سری از متغیر ها که هر کدام دارای مقادیر و کاربرد های خاص هستند داده می شود که لینوکس از آنها برای کاربرد های خاص استفاده می کنند. بطور مثال وجه تمایز میان یک کاربر معمولی و ریشه در اجرای دستور ها در متغیر PATH آن است.

      فایل های مرتبط با کاربران و گروه ها بصورت زیر هستند :
      فایل etc/passwd/ : که پایگاه داده اصلی اطلاعات کاربران است : اطلاعاتی همچون نام کاربری و دایرکتوری خانگی و پوسته مورد استفاده کاربر. نکته مهم این است که فیلد دوم که بیان گر گذرواژه است اصلن دارای گذروازه نیست بلکه شامل x است که این فیلد اشاره به مدخلی در فایل etc/shadow/ که حاوی تمام گذرواژه هاست دارد. و این بیان می کند که به ازای هر کاربر در فایل passwd یک خط در فایل shadow وجود دارد که گذرواژه آن کاربر را ذخیره کرده است.
      فایل etc/group/ : مانند فایل بالا اما اطلاعات گروه ها و در فیلد آخر اعضای آن گروه ها را دارد.
      فایل etc/shadow/ : پایگاه داده گذرواژه ها

      دستور های زیر در ارتباط با کاربران و گروه ها هستند :

      کد PHP:
      useraddusermoduserdel
      groupadd
      groupmodgroupdel 
      انواع کاربر ها :
      در لینوکس دو نوع کاربر وجود دارد :
      کاربران سیستمی که دارای گذرواژه نیستند و نمی توانند به سیستم Login کنند و تنها برای مدیریت سرویس ها استفاده می شوند. بطور مثال با نصب اوراکل یک کاربر سیتمی به نام oracle ساخته خواهد شد که پایگاه داده اوراکل را مدیریت می کند. معمولا دارای UID زیر 100 هستند.
      کاربرانی که دارای گذرواژه بوده و می توانند به سیستم وارد شوند.(مثل من و شما)
      نویسنده نامی امیر
      آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-11-2020, 11:51 PM.

      کامنت


        #4
        آشنایی با مدیریت کاربران در لینوکس – بخش چهارم

        دستور usermode برای تغییر (ویرایش ) اکانت کاربری در توزیع های لینوکسی استفاده می شود.می توان تاریخ expire، تغییر Login Name، قرار دادن کاربر در گروه و … استفاده می شود. با استفاده از دستور useradd یک کاربر به همراه ویژگی های آن مانند گروه اصلی و گروه های فرعی، دایرکتوری خانگی، پوسته پیش فرض و … ایجاد کرد. سپس با دستور passwd پسورد را تعیین می شود. با استفاده از دستور groupadd گروه ها ایجاد می شوند. در مثال های زیر ابتدا گروه userslogin ایجاد می شود و با استفاده از دستور useradd دو کاربر user1 و user2 ایجاد می کنیم و با دستور passwd پسورد برای کاربران ایجاد می کنیم :

        کد PHP:
        groupadd  userslogin
        useradd  user1
        passwd  user1
        useradd  user2
        passwd  user2 
        بطور پیش فرض با ایجاد هر کاربر، در صورت تعیین نکردن گروه اصلی کاربر، یگ گروه همنام کاربر ایجاد شده و کاربر در آن گروه قرار می گیرد ولی می توانید با سوئیچ g- از دستور useradd در زمان ایجاد یک کاربر، گروه اصلی آنرا نیز تعیین کنید. سوئیچ G- نیز برای تعیین گروه های فرعی استفاده می شوند. همین دو سوئیچ نیز در دستور usermod برای تغییر گروه اصلی یا قرار دادن یک گاربر در گروه های دیگر (گروه های فرعی) استفاده می شوند. بطور مثال دستور های زیر کاربران را به گروه userslogin اضافه می کند.شکل کلی استفاده از آن بصورت زیر است.

        کد PHP:
        usermod  -G  Group_Name  Username

        usermod  
        -G  userslogin  user1
        usermod  
        -G  userslogin  user2 
        با اجرای دستور زیر در خروجی خواهید دید که دو کاربر user1 و user2 عضوی از گروه userslogin هستند.

        کد PHP:
        cat /etc/group grep userslogin 
        خروجی :

        کد PHP:
        userslogin:x:502:user1,user2 
        دستور groups به شکل زیر گروه های که کاربر عضو آنهاست را نشان می دهد.

        کد PHP:
        groups  USERNAME

        groups  root

        OUTPUT  
        :  root bin daemon sys adm disk wheel 
        با سوئیچ s- پوشته پیش فرض را تغییر دهید. فهرست تمامی پوسته های نصب شده روی سیستم در فایل shells در دایرکتوری etc/ قرار دارد.

        کد PHP:
        cat  /etc/shells 
        دستور زیر پوسته پیش فرض کاربر را به csh تغییر می دهد.شکل کلی آن بصورت زیر است.

        کد PHP:
        usermod  -s  SHEL_NAME  USERNAME

        usermod  
        -s  /bin/csh  user1 
        با سوئیچ e- تاریخ expire شدن اکانت را تعیین می شود. پس از گذر از این تاریخ اعلانی برای ایجاد پسورد جدید نشان داده می شود. شکل کلی آن بصورت زیر است.

        کد PHP:
        usermod  -e DATE_FOR_EXPIRE USERNAME

        usermod  
        -e 2013-01-20 user1 
        با استفاده از سوئیچ c- یک توضح یا کامنت برای کاربر قرار می دهید.شکل کلی استفاده از آن بصورت زیر است.

        کد PHP:
        usermod  -c  “COMMENT TEXT” USERNAME

        usermod  
        -c  “This is Normal user for Login” user1 
        با سوئیچ l- نامی که پس از Login شدن نشان داده می شود را می توان تغییر داد. شکل کلی استفاده از آن بصورت زیر است.

        کد PHP:
        usermod -l newusername oldusername

        usermod 
        -l karbar1 user1 
        با اجرای دستور بالا نام کاربری، کاربر user1به karbar1 تغییر خواهد کرد. اما دیگر خصوصیات آن مانند دایرکتوری خانگی، پوسته پیش فرض، پسورد، گروه های عضو و … تغییر نخواهند کرد.

        تمامی سوئیچ های دستور های بالا در دستور useradd و در زمان ایجاد یک کاربر وجود دارند. اما پس از ایجاد یک کاربر می توان با دستور usermod آنها را تغییر داد.
        نویسنده نامی امیر
        آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-11-2020, 11:51 PM.

        کامنت


          #5
          سلام کارتون عالی بود البته من کاربر لینوکس تازه کار هستم ای کاش توی این از آموزشی بطور مفصل تر توضیح دهید مثلا سوئیچهای دستور useradd مانند -c,-gوغیره البته همه دستورات ذکرشده واقعا نمیدونیم چجوری با اینها کار کنیم با تشکر

          کامنت

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

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

          شبکه های اجتماعی

          ایمیل مدیریت

          Habili@linux-zone.org

          در حال انجام ...
          X