ترا سرور


ارائه دهنده خدمات سرور اختصاصی , سرور مجازی , هاست میزبانی , هاست دانلود , ثبت دامنه
مشاوره :
09199763827
همین حالا تماس بگیرید

مدیریت کاربران در Linux

مدیریت کاربران در لینوکس
اطلاعات کاربران لینوکس (Linux) در /etc/passwd ذخیره می شود و شما می توانید مستقیما آنها را ویرایش کنید که اصلا این روش توصیه نمی شود. قالب این فایل به صورت زیر است (هر مورد با یک , از دیگری جدا شده است)
User name (normally all lower case)
Password (encrypted – only contains the letter ‘x)
(User ID (a unique number of each user
Primary Group ID
(Comment (Normally the person’s full name
(Home directory (normally /home/
(Default shell (normally /bin/bash
اطلاعات password کاربران لینوکس (Linux) در /etc/shadow ذخیره شده است و تنها با دستور passwd قابل تغییر است.
اطلاعات گروه های کاربران لینوکس (Linux) هم در /etc/group ذخیره می شود
فرمان هایی که  ممکن است در این کار شما را یاری کند در زیر می آوریم :
افزودن کاربر جدید: adduser
d home directory –
(- s starting program (shell
– p password
(- g (primary group assigned to the users
(- G (Other groups the user belongs to
(- m (Create the user’s home directory
مثال :
adduser -gusers -Gmgmt -s/bin/shell -pxxxx -d/home/amir  -m amir
usermodتغییر مشخصات کاربر:
d home directory –
(s starting program (shell –
p password –
(g (primary group assigned to the users –
(G (Other groups the user belongs to –
مثال:
usermod -Gothers amir
حذف کاربر: userdel
(r (remove home directory
مثال:
userdel -r mehran
تغییر رمز عبور یا گذرواژه: passwd
user’s name (Only required if you are root and want to change another user’s (password
مثال:
passwd amir
اضافه و حذف گروه ها
گروه ها به کاربران اجازه برقراری ارتباط با یکدیگر ،انجام کارها به صورت اشتراکی و همکاری دسته جمعی در پروژه ها یا دسترسی داشتن به دستگاههای جانبی و تسهیلات ویژه ای را می دهد که کاربران گروه بندی نشده قادر به استفاده از آنها نمی باشند.برای ایجاد یک گروه فرمان Groupadd را که در/user/bin  ذخیره شده بادرج نام گروه به عنوان آرگومان ان به کار ببرید.برای ایجاد گروهی به نام Programmers این نام را به صورت آرگومان برای فرمان فوق به صورت زیر تایپ کنید:
#/user/sbin/groupadd programmers
کار حذف گروه ها نیز کار بسیار ساده و با فراخوانی فرمان Groupdel  صورت می گیرد
مثال حذف گروه  Programmers
#/user/sbin/groupdel programmers
سرپرستی گروه ها
ازآنجایی که بنا به تعریف گروه ها مجموعه ای از کاربران انفرادی هستند هرگروهی نیاز به نگهداری دارد،کلیه کارهای سرپرستی با دستور Gpasswd انجام می گیرد.
پس از ایجاد یک گروه ،می توانید یک سرگروه انتخاب کنید که سرگروه می تواند هر کاربری که را خواست به گروه اضافه یا از آن حذف کند و کلمه عبور گروه را در صورت تمایل / نیاز پاک کند .
برای این کار فرمان Gpasswd  را به همراه پارامتر –A و نام کاربری که می خواهیم سرگروه باشد به کار ببرید:
# gpasswd –A ali programmers
نکته:خط فرمان کاربر ریشه (root) با # و کاربران دیگر با $ شروع می شود.
برای اضافه کردن کاربران به گروه فرمان Gpasswd  را به همراه پارامتر –a و نام کاربری که باید اضافه شودو نیز نام گروه مورد نظر به کارببرید:
$gpasswd –a esmaeil programmers
هم چنین برای حذف esmaeil  سرگروه یعنی ali باید فرمان Gpasswd را به همراه پارامتر –d و نام کاربر یعنی esmaeil به کاربرد:
$gpasswd –d esmaeil programmers
تغییر عضویت گروهی
کاربران عادی جهت استفاده از عضویت گروهی باید فرمان newgrp را به کار برند. این فرمان همراه با نام گروه به منزله ارگومان آن فراخوانده می شود،سپس شناسه گروه کاربر در صورتی که کاربر عضو این گروه باشد به گروه ذکر شده تغییر می کند.
برای مثال اگر esmaeil که یک عضو گروه programmers است بخواهد به پرونده ای که متعلق به گروه programmers است دسترسی داشته باشد فرمان newgroup را فرا می خواند و programmers  را به عنوان آرگومان آن قرار می دهد:
$newgrp programmers
کاربران می توانند به ریشه خود و گروه پیش فرض خود برگردند با استفاده از دستور newgrp خالی
$newgrp
مالکیت پرونده و اجازه های دسترسی به آن
هر پرونده‌ای در لینوکس دارای مجوزهایی است که این مجوزها به افراد حق خواندن، نوشتن و یا حتی اجرا کردن پرونده را می‌دهند (و یا این حق را می‌گیرند) البته به استثنای کاربر ریشه (root) که در هر شرایطی به همه پرونده‌های سیستم دسترسی دارد. نحوه دسترسی به پرونده‌ها در سه مجموعه مجوز تعیین می‌شود:
مالک (u): برای مجموعه دسترسی‌ها و مجوزهای صاحب پرونده استفاده می‌شود.
گروه (g): برای مجموعه دسترسی‌ها و مجوزهای گروهی که این پرونده به آن وابسته است استفاده می‌شود.
دیگران (o): برای مجموعه دسترسی‌ها و مجوزهای دیگر کاربران استفاده می‌شود.
برای هریک از سه مجموعه بالا، سه نوع اجازه مختلف وجود دارد که عبارتند از:
خواندن (r): اجازه بازکردن و خواندن پرونده، و یا اجازه نمایش محتویات شاخه (پوشه).
نوشتن (w): اجازه ویرایش و حذف پرونده، و یا اجازه ویرایش محتویات شاخه (پوشه).
اجرا (x): اجازه اجرا کردن پرونده، و یا اجازه ورود به شاخه (پوشه).
drwxrwxr-x  ۲ root root 4096 May 10 16:58 home
مالک دایرکتوری /home مشخص است. این دایرکتوری متعلق به کاربر root از گروه root می باشد.
در سمت چپ خروجی برای پوشه و یا پرونده ۱۰ حرف وجود دارد که معنی آنها به ترتیب از چپ عبارتند از:
حرف اول (———*) نشانه پرونده یا پوشه بودن است. (d برای پوشه و – برای پرونده)
سه حرف بعد (——***-) به ترتیب دسترسی خواندن، نوشتن و اجرا برای مالک است. (rwx برای اجازه و – در جای هر یک از حروف برای عدم اجازه آن مورد)
سه حرف بعد (—***—-) به ترتیب دسترسی خواندن، نوشتن و اجرا برای گروه است. (rwx برای اجازه و – در جای هر یک از حروف برای عدم اجازه آن مورد)
سه حرف بعد (***——-) به ترتیب دسترسی خواندن، نوشتن و اجرا برای دیگران است. (rwx برای اجازه و – در جای هر یک از حروف برای عدم اجازه آن مورد)
در نتیجه کاربر root به پوشه home اجازه نمایش محتویات شاخه، ویرایش محتویات شاخه و ورود به شاخه را دارد.(چون root مالک است)
نکته:
با دستور » نام پرونده  ll یا « ls -l می توان خصوصیات یک پرونده (مجوزهای آن) را مشاهده کرد.
تغییر اجازه های دسترسی
برای تغییر اجازه های دسترسی به یک پرونده باید از فرمان Chmod استفاده کنید.
به دو روش می توان فرمان Chmod را به کار برد : روش نمادین و روش عددی. به کاربردن روش نمادین برای تغییر مجوزهای دسترسی آسان تر است،زیرا در آن از همان کاراکترهایی که در کد مجوز بکار بردیم استفاده می شود.در روش عددی اعداد به مجوزها تخصیص داده می شوند و به علت اختصاری بودن استفاده بیشتری دارد.
فرمت به کاربردن فرمان Chmod به صورت زیر است:
Chmod permode file1 [file2,…] Permode شامل قسمت های زیر است:
■ یک کاراکتر ترکیبی از حروف زیر
U (برای کاربر مالک)
G (برای گروه مالک)
O (برای کاربران دیگر)
این کاراکتر یا دسته حروف نشان دهنده افرادی است که اجازه دسترسی آن باید تغییر داده شود.
■ یکی از علامت های + ، – و یا= بسته به اینکه مجوز باید اضافه،حذف و یا به طور صریح تخصیص داده شود.
■ یک کاراکتر ترکیبی از حروف زیر:
R (برای اضافه کردن ، حذف کردن/ مجوز خواندن)
W (برای اضافه کردن ، حذف کردن/ مجوز نوشتن)
X (برای اضافه کردن ، حذف کردن/ مجوز اجرای پرونده)
حرفa  به معنی همه یعنی مالک،گروه و کاربران دیگر است.
[esmaeil@host ~]$ cd myfiles
[esmaeil@host myfiles]$ ll file1
-rw-rw-r–  ۱ root    ۲۴ May 10 16:49 file1
[esmaeil @host myfiles]$ chmod g=rwx file1
[esmaeil @host myfiles]$ ll file1
-rw-rwx-r–  ۱ esmaeil root    ۲۴ May 10 16:49 file1
در این مثال مشاهده می کنید که پرونده /myfiles/file1 دارای مجوزهایی است که ما بعداً قسمت مربوط به گروه مالک را تغییر می دهیم.(به طور صریح تخصیص می دهیم)
مثالی دیگر:
[esmaeil@host myfiles]$ ll file1
-rwxrwxr–  ۱ esmaeil root    ۲۴ May 10 16:49 file1
[esmaeil@host myfiles]$ chmod ug-wx file1
[esmaeil@host myfiles]$ ll file1
-r–r–r–  ۱ esmaeil root    ۲۴ May 10 16:49 file1
در این مثال مشاهده می کنید که پرونده /myfiles/file1 دارای مجوزهایی است که ما بعداً قسمت مروط به کاربر مالک و گروه مالک را تغییر می دهیم(از آنها گرفته می شود)
استفاده ازفرمان chmod در حالت عددی
در حالت نمادین فرمان chmod ،  از نمادهایی مانند x وw وr وo وg وu که در الگوهای گوناگون به منزله آرگومان هایی برای تغییر این مجوزها مرتب شده اند تشکیل شده است.
حالت عددی chmod تا اندازه ای متفاوت می باشد.در حالت عددی فرمت زیر را بکار ببرید:
Chmod NNN file
هر N نمایش دهنده یک رقم عدد می باشد.اولین N  مجوز کاربر مالک،دومین N  مجوز گروه و سومینN مجوز برای کاربران دیگر می باشد.مقدارN عدد ۰ یا اعداد ۴،۲،۱ و یا مجموع آنها می باشد.N به ازای صفر به معنی نداشتن اجازه و سایر اعداد به معنی زیر می باشند:
مقدار
معنی
۴
۲
۱
اجازه خواندن پرونده یا دایرکتوری
اجازه نوشتن بر روی پرونده یا دایرکتوری
اجازه اجرای پرونده یا دایرکتوری
مثال:
[esmaeil@host ~]$ cd myfiles
[esmaeil@host myfiles]$ ll file1
-rw-rw-r–  ۱ esmaeil root    ۲۴ May 10 16:49 file1
[esmaeil@host myfiles]$ chmod 777 file1
[esmaeil@host myfiles]$ ll file1
-rwxrwxrwx  ۱ esmaeil root    ۲۴ May 10 16:49 file1
در این مثال ما عدد ۷۷۷ را وارد کرده ایم که هر عدد ۷ معادل اجازه rwx یعنی تمامی مجوزها می باشد.
[esmaeil@host myfiles]$ chmod 444 file1
[esmaeil@host myfiles]$ ll file1
-r–r–r–  ۱ esmaeil root    ۲۴ May 10 16:49 file1
حال مجوزهای همان پرونده را مجدداً تغییر می دهیم و عدد ۴۴۴ را وارد می کنیم که معادل a-wx  می باشد و ما فقط مجوز خواندن پرونده را به مالک ، گروه ، وکاربران دیگر می دهیم.
تغییر مالک و گروه یک پرونده
تغییر مالک
برای تغییر مالک یک پرونده از دستور Chown به روش زیر استفاده می کنیم:
نام پرونده یا دایرکتوری  مالک جدید  Chown
برای درک بهتر این موضوع به مثال زیر توجه کنید:
[root@host esmaeil]# cd myfiles
[root@host myfiles]# ll file1
-rw-rw-r–  ۱ esmaeil root    ۲۴ May 10 16:49 file1
[root@host myfiles]# chown root file1
[root@host myfiles]# ll file1
-rw-rw-r–  ۱ root  root    ۲۴ May 10 16:49 file1
در ابتدا مالک پرونده Esmaeil بود اما ما آنرا به root تغییر دادیم.
تغییر گروه یک پرونده
برای تغییر مالک یک پرونده از دستور Chgrp به روش زیر استفاده می کنیم:
نام پرونده یا دایرکتوری گروه جدید  Chgrp
برای درک بهتر این موضوع به مثال زیر توجه کنید:
[root@host esmaeil]# cd myfiles
[root@host myfiles]# ll file1
-rw-rw-r–  ۱ root  root     ۲۴ May 10 16:49 file1
[root@host myfiles]# chgrp esmaeil file1
[root@host myfiles]# ll file1
-rw-rw-r–  ۱ root  esmaeil    ۲۴ May 10 16:49 file1
ما گروه پرونده را به Esmaeil تغییر دادیم.
برای تغییر مالک و گروه پرونده با هم از دستور Chown  به روش زیر استفاده می کنیم:
گروه جدید . مالک جدیدChown
به مثال زیر دقت کنید:
[root@host esmaeil]# cd myfiles
[root@host myfiles]# ll file1
-rw-rw-r–  ۱ root  esmaeil   ۲۴ May 10 16:49 file1
[root@host myfiles]# chown esmaeil.root file1
[root@host myfiles]# ll file1
-rw-rw-r–  ۱ esmaeil root    ۲۴ May 10 16:49 file1
مالک پرونده به root و گروه پرونده به esmaeil تغییر داده شد.
حفاظت از حساب ریشه
حساب ریشه در سیستم عامل Linux حساسترین و بی دفاع ترین بخش آن است، زیرا این حساب از همه حساب ها قدرتمند تر و توانمندتر می باشد.تحت حساب ریشه می توان هر پرونده ای را ساخت ،خواند و هر پرونده ای را تغییر داده و یا حذف کرد و منابع ان را فعال یا غیر فعال کرد.
برای وصل شدن به ریشه از هرکجا و با هر کاربری از دستور Su استفاده می شود که البته بعداً نیاز به Password می باشد ولی به هر حال ممکن است یک خرابکار به طور اتفاقی به Password دست یابد و آنگاه !!!
خوشبختانه یک تغییر نسبتاً ساده در فضای امنیتی حاکم بر حساب ریشه می تواند بر امنیت کل سیستم بیفزاید.این تغییر شامل استفاده از گروه Wheel است.
گروهWheel
گروه Wheel، به گروه خاصی اطلاق می شود که بنا به تعریف در بیشتر سیستم های Linux فقط آنها اجازه دسترسی به فرمان su را دارند.
برای فعال کردن گروه wheel باید به ترتیب عمل کرد:
۱-حداقل یک کاربر را به گروه Wheel اضافه کرد که دارای امتیاز سرپرستی باشد تا بتواند فرمان su را فراخواند.
۲-تغییر مالکیت این گروه و اجازه های دسترسی به برنامه suبرای محدود کردن ، اجازه دسترسی فقط به اعضاء گروه Wheel داده شود.
۱- اضافه کردن کاربران به گروه Wheel
برای اضافه کردن کاربری به گروه Wheel از خط فرمان فرمان دستور :  wheelکاربر gpasswd -a را تایپ می کنیم.
۲- تغییر مالکیت و اجازه های دسترسی به فرمان su
با استفاده از دستور  chown root.wheel /bin/su اجازه دسترسی به این فرمان را به گروه wheel بدهید.
حال اجازه های دسترسی زیر را به کاربر su بدهید:
ü      به ریشه اجازه خواندن، نوشتن و اجرای SUID
ü      به گروه اجازه خواندن واجرا
ü  هیچ نوع اجازه دسترسی برای کاربری که مالک su نیست و یا عضو گروه Wheel نمی باشد.
با به کار بردن حالت عددی فرمان chmod ، این مجوزها را می توان با تخصیص کد عددی ۷۵۰ به عنوان آرگومان فرمان chmod و درج پرونده ای که مجوز آن باید تغییر کند(/bin/su) نیز در سیستم اعمال کرد:
#chmod 750 /bin/su
اکنون فرمان Su محافظت شده و هیچ کاربر عادی نمی تواند آن را بکار برد.
محدود کردن کاربران
سیستم عامل  Linux این امکان را به راهبر می دهد که محدودیت هایی عمومی و یا برای کاربران خاصی را اعمال نماید که اهم این محدودیت ها عبارتند از:
ü             تعداد Login ها
ü             تعداد پروسس ها
ü             فضای گرفته شده در حافظه
ü             اتصال از هر نقطه ای
ü             زمان اجرا
ü             به کارگرفتن سرویس
که ما در اینجا به بررسی سه مورد می پردازیم: login ، Process و File Size
دایرکتوری مربوط به محدود نمودن کاربران:
دایرکتوری /etc/security مربوط به محدودیتهایی است که برای کاربران(Userid) تعریف می شود.
اسامی فایلهای تحت این دایرکتوری:
Accsess.conf     condole.apps     group.conf     pam_env.conf
Chroot.conf      console.perms    limits.conf     time.conf
شکل کلی دستورات مربوط به محدود کردن کاربران بدین صورت است:
#
که در آن Domain نام کاربر و Type نوع عملیات, Item محدودیت و Value  مقدار هستند.
login
مثال ۱ :تغییراتی در سیستم دهید که کاربر Student فقط بتواند یک Login داشته باشد.
برای اعمال تغییرات به دایرکتوری /etc/security رفته و فایل Limits.conf را تغییر داده و خط زیر را اضافه می نمائیم:
@Student – maxlogins 1
تفسیر خط بالا به این صورت است که Userid با نام Student حداکثر Login هایی که می تواند داشته باشد فقط یکی است.
در صورتی که کاربر بخواهد Login دوم را داشته باشد پیام زیر ارسال و ارتباط قطع خواهد شد.
Kernel 2.4.22-1.2188.npt on an i686
Login:student
Password:
بعد ازاجرای login پیام  زیر ظاهر و ارتباط قطع خواهد شد  خواهد شد
Permission denied
Connection to host lost
-bash:fork:resource temporaitly unvailable
Process
مثال ۲:تغییراتی در سیستم دهید که کاربر Student  فقط بتواند حداکثر ۶ پروسس همزمان داشته باشد. برای اعمال تغییرات به دایرکتوری /etc/security رفته و خط زیر را به فایل Limits.conf اضافه می کنیم
@Student hard nproc 6
در صورتی که کاربر بخواهد پروسس هفتم را اجرا نماید پیغام زیر ظاهر می شود:
student]$date
بعد از اجرای date پیغام خطای زیر ظاهر خواهد شد
-bash:fork:resource temporaitly unvailable
فرض کنید که کاربرstudenent قبالا پروسسbackground اجرا نموده۶
File Size
مثال ۳: تغییراتی در سیستم دهید که کاربر Student فقط بتواند فایل هایی با حداکثر ۲۰۰ کیلو بایت تولید کند.برای اعمال تغییرات دوباره به مسیر قبلی یعنی دایرکتوری /etc/security رفته و فایل Limits.conf  را تغییر داده و خط زیر را وارد می کنیم:
@Student hard fsize 200
با توجه به این دستور اگر کاربر student  بخواهد فایلی با بیش از ۲۰۰ کیلو بایت بسازد پیام زیر ظاهر می شود:
[student@jala student]$ cp/etc/termcp myfile
بعد از اجرای cp پیغام خطای زیر ظاهر خواهد شد
Cp:writing ‘myfile’:No space left on device
طول termcap حدود ۷۰۰ کیلو بایت و یک از فایل های مهم لینوکس می باشد

موفق باشید…

  teraserver.ir  :منبع

برچسب ها : ، ، ، ، ،
برای دریافت آخرین اخبار سایت و پیشنهادات به لینک زیر مراجعه کنید
اخبار ترا سرور