در این پست چگونگی مدیریت و بدست اوردن اطلاعاتی از کاربران در لینوکس را شرح خواهم داد. همچنین شما را با متغیر های محلی و فایل ها و همچنین دستورات لازم برای مدیریت کاربران آشنا خواهم کرد. پس از نصب سیستم و داشتن یک نام کاربری و کلمه عبور لینوکس شما را در قالب گروه دسته بندی می کند. علت استفاده از گرو ها برای اشتراک گذاری منابع و فایل ها به دسته های خاصی از افراد است. شما حتما عضو یک گروه هستید و از ویژگی های آن گروه بهره می برید اما می توانید عضو بیش از یک گروه باشید.
همچنین توصیه میشود مطالعه کنید.
دستور useradd در لینوکس به همراه 15 مثال عملی
دستور usermod در لینوکس به همراه 15 مثال عملی
مدیریت User ها و Group ها، Permission های فایل، Attribute ها و فعال کردن دسترسی sudo روی Account ها
11 روش برای پیدا کردن اطلاعات Account و جزئیات Login کاربران در لینوکس
فایلی در دایرکتوری etc/ وجود دارد که این گروه ها را در خود نگاه می دارد.در فایل passwd به ازای هر کاربر یک خط وجود دارد.دستور زیر را اجرا کنید :
یک خط از آن مانند زیر است :
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 برای چاپ کردن مقدار متغیر ها ) آنها را اجرا و خروجی را مشاهده کند.
در لینوکس هر برنامه متعلق به گروهی از کاربران و یا کاربر ریشه است خروجی PATH$ مسیر هایی که حاوی دستوراتی که شما مجاز به اجرای انها هستید را نشان می دهد. هر دو مسیر توسط یک : از یکدیگر جدا شده اند
فایل های کاربری : این فایل ها در دایرکتوری خانگی ما و بصوورت مخفی (شروع با dot) هستند که می توان به فایل های
bashrc که برای ذخیره سازی متغیر های محیطی و نام های مستعار به کار برد.این فایل در هنگام ورود به سیستم یا اجرای یک خط فرمان خوانده می شود
bash_logout با قطع ارتباط از یا خروج از bash اجرا شده و بطور پیش فرض صفحه نمایش را پاک می کند.
bash_profile در ارتباط با فایل bashrc و و چند متغیر محلی را تنظیم میکند و فایل bashrc را اجرا می کند.
یک توضیح کوتاه از این فایل که مفید برای کار با متغیر های محلی است توضیح دو خط زیر که موجود در فایل است :
خط اول می گوید مسیر home/mirza/bin/ را به انتهای متغیر محیطی PATH که توسط یک علامت : از هم جدا شده اند الحاق کن و با اجرای خط دم انها را ثبت کن.
فایل bash_history حاوی اخرین دستورا اجرایی شما در خط فرمان است. دستور history برای نمایش محتویات همین فایل در خط فرمان است و حتی متغیر های محیطی برای کار با این فایل وجود دارند ( این متغیر ها اطلاعات خود را بصورت خودکار از همین فایل می خوانند)
سه متغیر محیطی جالب دیگر برای هر کاربر ؛
این اطلاعات برای هر کاربر یا یکسان است و یا متفاوت تنها مطلبی که باید بدانید در لینوکس دایرکتوری خانگی کاربر ریشه بر خلاف تمامی کاربران یک دیرکتوری به نام root است که یک زیردایرکتوزی از دایرکتوری / است. ( مسیر زیر)
البته اهمیت متغیر های محلی در مبحث اسکریپت نویسی شل یا Shell Scripting بسیار پر اهمیت خواهد بود.
بعنوان مثال اگر شما در خط فرمان یک دستور مانند cd یا ls و یا هر دستور مجاز دیگری را اجرا کنید این دستور در فایل bash_history شما ذخیره می شود اما این دستور در فایل bash_history دیگر کاربران ذخیره نخواهد شد \س نتیجه می گیریم که ۴ محتویات فایل گفته شده و متغیر های محیطی مختص فعالیت های شما در سیستم هستند.
نویسنده نامی امیر
همچنین توصیه میشود مطالعه کنید.
دستور 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
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 مسیر های اجرایی شما
فایل های کاربری : این فایل ها در دایرکتوری خانگی ما و بصوورت مخفی (شروع با dot) هستند که می توان به فایل های
bashrc که برای ذخیره سازی متغیر های محیطی و نام های مستعار به کار برد.این فایل در هنگام ورود به سیستم یا اجرای یک خط فرمان خوانده می شود
bash_logout با قطع ارتباط از یا خروج از bash اجرا شده و بطور پیش فرض صفحه نمایش را پاک می کند.
bash_profile در ارتباط با فایل bashrc و و چند متغیر محلی را تنظیم میکند و فایل bashrc را اجرا می کند.
یک توضیح کوتاه از این فایل که مفید برای کار با متغیر های محلی است توضیح دو خط زیر که موجود در فایل است :
کد PHP:
PATH=$PATH:$HOME/bin
export PATH
فایل bash_history حاوی اخرین دستورا اجرایی شما در خط فرمان است. دستور history برای نمایش محتویات همین فایل در خط فرمان است و حتی متغیر های محیطی برای کار با این فایل وجود دارند ( این متغیر ها اطلاعات خود را بصورت خودکار از همین فایل می خوانند)
کد PHP:
echo $HISTCMD
echo $HISTFILE
echo $HISTFILESIZE
echo $HISTSIZE
echo $HISTCONTROL
کد PHP:
echo $OSTYPE نوع سیستم عامل
echo $PWD دایرکتوری فعلی شما
echo $OLDPWD دایرکتوری قبل از تغییر دایرکتوری به دایرکتوری فعلی
کد PHP:
root/
بعنوان مثال اگر شما در خط فرمان یک دستور مانند cd یا ls و یا هر دستور مجاز دیگری را اجرا کنید این دستور در فایل bash_history شما ذخیره می شود اما این دستور در فایل bash_history دیگر کاربران ذخیره نخواهد شد \س نتیجه می گیریم که ۴ محتویات فایل گفته شده و متغیر های محیطی مختص فعالیت های شما در سیستم هستند.
نویسنده نامی امیر
کامنت