در این پست چگونگی مدیریت و بدست اوردن اطلاعاتی از کاربران را شرح خواهم داد. شما را با متغیر های محلی و فایل های و همچنین دستورات لازم برای مدیریت کاربران آشنا خواهم کرد.پس از نصب سیستم و داشتن یک نام کاربری و کلمه عبور لینوکس شما را در قالب گروه دسته بندی می کند.علت استفاده از گرو ها برای اشتراک گذاری منابع و فایل ها به دسته های خاصی از افراد است . شما حتمن عضو یک گروه هستید و از ویژگی های آن گروه بهره می برید اما می توانید عضو بیش از یک گروه باشید.فایلی در دایرکتوری etc/ وجود دارد که این گروه ها را در خود نگاه می دارد.در فایل passwd به ازای هر کاربر یک خط وجود دارد.دستور زیر را اجرا کنید :
cat /etc/passwd
یک خط از آن مانند زیر است:
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 برای چاپ کردن مقدار متغیر ها ) آنها را اجرا و خروجی را مشاهده کند.
- 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
فایل bash_history حاوی اخرین دستورا اجرایی شما در خط فرمان است. دستور history برای نمایش محتویات همین فایل در خط فرمان است و حتی متغیر های محیطی برای کار با این فایل وجود دارند ( این متغیر ها اطلاعات خود را بصورت خودکار از همین فایل می خوانند)
- echo $HISTCMD
- echo $HISTFILE
- echo $HISTFILESIZE
- echo $HISTSIZE
- echo $HISTCONTROL
سه متغیر محیطی جالب دیگر برای هر کاربر ؛
- echo $OSTYPE نوع سیستم عامل
- echo $PWD دایرکتوری فعلی شما
- echo $OLDPWD دایرکتوری قبل از تغییر دایرکتوری به دایرکتوری فعلی
این اطلاعات برای هر کاربر یا یکسان است و یا متفاوت تنها مطلبی که باید بدانید در لینوکس دایرکتوری خانگی کاربر ریشه بر خلاف تمامی کاربران یک دیرکتوری به نام root است که یک زیردایرکتوزی از دایرکتوری / است. ( مسیر زیر)
root/
بعنوان مثال اگر شما در خط فرمان یک دستور مانند cd یا ls و یا هر دستور مجاز دیگری را اجرا کنید این دستور در فایل bash_history شما ذخیره می شود اما این دستور در فایل bash_history دیگر کاربران ذخیره نخواهد شد \س نتیجه می گیریم که ۴ محتویات فایل گفته شده و متغیر های محیطی مختص فعالیت های شما در سیستم هستند.
آشنایی با مدیریت کاربران در لینوکس – بخش دوم
مدیریت کاربران در لینوکس – بخش سوم
آشنایی با Bash – بخش سوم (نام های مستعار)
آشنایی با Bash – بخش دوم ( دستور cd و نماد ها )