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

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

cat /etc/passwd

یک خط از آن مانند زیر است:

mirza:x:500:500:amirnami:/home/amirnami:/bin/bash

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

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

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

  • echo $HOME برای مسیر خانگی
  • echo $BASH شل پیش فرض
  • echo $UID شناسه کاربری شما
  • echo $USERNAME نام کاربری شما
  • echo $GROUPS شناسه گروه های شما
  • echo $PATH مسیر های اجرایی شما

در لینوکس هر برنامه متعلق به گروهی از کاربران و یا کاربر ریشه است خروجی PATH$ مسیر هایی که حاوی دستوراتی که شما مجاز به اجرای انها هستید را نشان می دهد. هر دو مسیر توسط یک : از یکدیگر جدا شده اند

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

  •  bashrc که برای ذخیره سازی متغیر های محیطی و نام های مستعار به کار برد.این فایل در هنگام ورود به سیستم یا اجرای یک خط فرمان خوانده می شود
  • bash_logout با قطع ارتباط از یا خروج از bash اجرا شده و بطور پیش فرض صفحه نمایش را پاک می کند.
  • bash_profile در ارتباط با فایل bashrc و و چند متغیر محلی را تنظیم میکند و فایل bashrc را اجرا می کند.
یک توضیح کوتاه از این فایل که مفید برای کار با متغیر های محلی است توضیح دو خط زیر که موجود در فایل است
PATH=$PATH:$HOME/bin
export PATH
خط اول می گوید مسیر home/mirza/bin/ را به انتهای متغیر محیطی PATH که توسط یک علامت : از هم جدا شده اند الحاق کن و با اجرای خط دم انها را ثبت کن.
فایل bash_history حاوی اخرین دستورا اجرایی شما در خط فرمان است. دستور history برای نمایش محتویات همین فایل در خط فرمان است و حتی متغیر های محیطی برای کار با این فایل وجود دارند ( این متغیر ها اطلاعات خود را بصورت خودکار از همین فایل می خوانند)
  • echo $HISTCMD
  • echo $HISTFILE
  • echo $HISTFILESIZE
  • echo $HISTSIZE
  • echo $HISTCONTROL

سه متغیر محیطی جالب دیگر برای هر کاربر ؛

  • echo $OSTYPE نوع سیستم عامل
  • echo $PWD دایرکتوری فعلی شما
  • echo $OLDPWD دایرکتوری قبل از تغییر دایرکتوری به دایرکتوری فعلی

این اطلاعات برای هر کاربر یا یکسان است و یا متفاوت تنها مطلبی که باید بدانید در لینوکس دایرکتوری خانگی کاربر ریشه بر خلاف تمامی کاربران یک دیرکتوری به نام root است که یک زیردایرکتوزی از دایرکتوری / است. ( مسیر زیر)

root/

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

بعنوان مثال اگر شما در خط فرمان یک دستور مانند cd یا ls و یا هر دستور مجاز دیگری را اجرا کنید این دستور در فایل bash_history شما ذخیره می شود اما این دستور در فایل bash_history دیگر کاربران ذخیره نخواهد شد \س نتیجه می گیریم که ۴ محتویات فایل گفته شده و متغیر های محیطی مختص فعالیت های شما در سیستم هستند.

منبع :‌http://falearn.ir

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *