اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

متوقف کردن و غیر فعال کردن سرویس های ناخواسته در لینوکس

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

    متوقف کردن و غیر فعال کردن سرویس های ناخواسته در لینوکس

    سرور های ما معمولا با توجه به طرح ها و نیاز هایمان ساخته می شوند، اما کدام فانکشن های های در نظرگرفته شده در هنگام ساخت به سرور سرعت و کارایی میدهد. همه ما میدانیم در زمان نصب سیستم عامل های لینوکسی، برخی از بسته های ناخواسته بدون اگاهی کابر نصب می شود. در این مقاله ما در مورد نحوه stop / disabled برخی از برنامه های ناخواسته و سرویس هایی که ممکن است مورد احتیاج نباشد اما به طور پیشفرض در هنگام نصب سیستم عامل نصب شده و ندانسته شروع به خوردن منابع سیستم شما می کنند، بحث خواهیم کرد.

    هنگامی که ما در حال ایجاد یک سرور هستیم، باید از خودمان بپرسیم که ما به چه چیزهایی نیاز داریم. آیا من به یک Web Server یا یک FTP Server ، NFS Server DNS Server ، Database Server یا ...... احتیاج دارم.

    خوب در ابتدا اجازه بدهید که با دستور زیر ببینیم چه سرویس هایی در حال اجرا بر روی سیستم شما هستند.

    کد PHP:
    [bahadori@linuxzone]# ps ax 
    خروجی نمونه
    کد PHP:
    PID TTY      STAT   TIME COMMAND
        2 
    ?        S      0:00 [kthreadd]
        
    ?        S      0:00  \[migration/0]
        
    ?        S      0:09  \[ksoftirqd/0]
        
    ?        S      0:00  \[migration/0]
        
    ?        S      0:24  \[watchdog/0]
        
    ?        S      2:20  \[events/0]
        
    ?        S      0:00  \[cgroup]
        
    ?        S      0:00  \[khelper]
       
    10 ?        S      0:00  \[netns]
       
    11 ?        S      0:00  \[async/mgr]
       
    12 ?        S      0:00  \[pm]
       
    13 ?        S      0:16  \[sync_supers]
       
    14 ?        S      0:15  \[bdi-default]
       
    15 ?        S      0:00  \[kintegrityd/0]
       
    16 ?        S      0:49  \[kblockd/0]
       
    17 ?        S      0:00  \[kacpid]
       
    18 ?        S      0:00  \[kacpi_notify]
       
    19 ?        S      0:00  \[kacpi_hotplug]
       
    20 ?        S      0:00  \[ata_aux]
       
    21 ?        S     58:46  \[ata_sff/0]
       
    22 ?        S      0:00  \[ksuspend_usbd]
       
    23 ?        S      0:00  \[khubd]
       
    24 ?        S      0:00  \[kseriod]
       ..... 
    حالا اجازه بدهید مانند زیر یک نگاه سریع به پروسه های پذیرش اتصال (Ports) با استفاده از دستور netsat بندازیم.

    کد PHP:
    [bahadori@linuxzone]# netstat -lp 
    خروجی نمونه :

    کد PHP:
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name  
    tcp        0      0 
    *:31138                     *:*                         LISTEN      1485/rpc.statd      
    tcp        0      0 
    *:mysql                     *:*                         LISTEN      1882/mysqld        
    tcp        0      0 
    *:sunrpc                    *:*                         LISTEN      1276/rpcbind        
    tcp        0      0 
    *:ndmp                      *:*                         LISTEN      2375/perl          
    tcp        0      0 
    *:webcache                  *:*                         LISTEN      2312/monitorix-http
    tcp        0      0 
    *:ftp                       *:*                         LISTEN      2174/vsftpd        
    tcp        0      0 
    *:ssh                       *:*                         LISTEN      1623/sshd          
    tcp        0      0 localhost
    :ipp               *:*                         LISTEN      1511/cupsd          
    tcp        0      0 localhost
    :smtp              *:*                         LISTEN      2189/sendmail      
    tcp        0      0 
    *:cbt                       *:*                         LISTEN      2243/java          
    tcp        0      0 
    *:websm                     *:*                         LISTEN      2243/java          
    tcp        0      0 
    *:nrpe                      *:*                         LISTEN      1631/xinetd        
    tcp        0      0 
    *:xmltec-xmlmail            *:*                         LISTEN      2243/java          
    tcp        0      0 
    *:xmpp-client               *:*                         LISTEN      2243/java          
    tcp        0      0 
    *:hpvirtgrp                 *:*                         LISTEN      2243/java          
    tcp        0      0 
    *:5229                      *:*                         LISTEN      2243/java          
    tcp        0      0 
    *:sunrpc                    *:*                         LISTEN      1276/rpcbind        
    tcp        0      0 
    *:http                      *:*                         LISTEN      6439/httpd          
    tcp        0      0 
    *:oracleas-https            *:*                         LISTEN      2243/java        
    .... 
    درخروجی بالا، شما متوجه شدید که برخی از برنامه ها که در زیر هم اورده شده اند در سرور شما موجود میباشند که مورد نیاز نیستند اما در حال اجرا و استفاده از منابع سرور می باشند.


    1. smbd and nmbd

    smb مانند پروسه nmbd است. آیا شما واقعا نیاز به اشتراک گذاری SMB در ویندوز یا دستگاه های دیگر دارید؟ اگر نه !پس چرا این پروسه در حال اجراست؟ شما با خیال راحت میتوانید این پروسه را متوقف و شروع خودکار پروسه در بوت بعدی ماشین را غیر فعال کنید.


    2. Telnet

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


    3. rlogin

    آیا شما نیاز به ورود، میزبان دیگری از طریق شبکه دارید؟ اگر نه! این پروسه را متوقف و شروع خودکار هنگام بوتش را غیر فعال کنید.


    4. rexec

    فرایند اجرا از راه دور با نام مستعار rexec به شما اجازه می دهد، دستورات shell را از راه دور بر روی یک کامپیوتر اجرا کنید. اگر شما نیاز به اجرای فرامین shell بر روی کامپیوتر از راه دور ندارید، پس به سادگی این پروسه رو متوقف کنید.


    5. FTP

    آیا شما نیاز به انتقال فایل ها از یک میزبان به میزبان دیگر از طریق اینترنت دارید؟ اگر نه شما با خیال راحت می توانید این سرویس را متوقف کند.


    6. automount

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


    7. named

    آیا شما نیاز به (NameServer(DNS دارید؟ اگر نه چه چیزی شما را قانع کرده که این پروسه در حال اجرا باشد و منابع شما را بخورد. برای اولین بار این پروسه در حال اجرا را متوقف و اجرا در هنگام بوت را خاموش کنید.


    8. lpd

    lpd مانند printer است که امکان چاپ را به سرور می دهد. اگر شما احتیاج به چاپ کردن در سرورتان ندارید، شانس خورده شدن منابع را به این پروسه ندهید.


    9. Inted

    ایا شما در حال اجرای سرویس inetd هستید؟ اگر شما در حال استفاده از برنامه های پایه مانند SSH به تنهایی با برنامه های پایه دیگر به تنهایی مانند Mysql, Apache, etc هستید، پس شما احتیاج به inetd ندارید. بهتر است که این پروسه را متوقف و شروع خودکار در دفعه ی بعد را غیر فعال کنید.


    10. portmap

    Portmap یک روش اتصال به رایانه راه دور درشبکه باز (ONCRPC) است که کاربردش مانند rpc.portmap و rpcbind است.در حال اجرا بودن این پروسه ها به این معنیست که NFS server در حال اجراست و اگر NFS server در حال اجراست به این معنیست که منابع سیستم شما در حال به هدر رفتن توسط برنامه های غیر ضروری است.



    چگونه یک Process را در لینوکس متوقف کنیم

    به منظور بستن یک پروسس در حال اجرا در لینوکس، از دستور ‘Kill PID‘ استفاده کنید. اما قبل از استفاده از این دستور، ما باید PID پروسه را پیدا کنیم. برای مثال، من در اینجا میخوام PID پروسه ‘cupsd‘ رو پیدا کنم.
    کد PHP:
    [bahadori@linuxzone]# ps ax | grep cupsd

    1511 ?        Ss     0:00 cupsd -/etc/cups/cupsd.conf 
    بنابراین، PID پروسه ‘cupsd‘ برابر ‘1511‘ هستش. برای متوقف کردن این PID دستور زیر را اجرا کنید.
    کد PHP:
    [bahadori@linuxzone]# kill -9 1511 


    چگونه یک سرویس را در لینوکس غیرفعال کنیم؟

    در توضیع های پایه ی Red Hat مانندFedora و CentOS از اسکریپتی به نام ‘chkconfig‘ برای فعال و غیر فعال کردن سرویس های در حال اجرا استفاده می کنیم.

    برای مثال، اجازه بدید وب سرور Apache رو از startup غیر فعال کنم.

    کد PHP:
    [bahadori@linuxzone]# chkconfig httpd off
    [bahadori@linuxzone]# chkconfig httpd --del 

    در توزیع های پایه ی Debian مانند Ubuntu - Linux Mint و بقیه ی توزیع های پایه از اسکریپتی به نام 'update-rc.d' استفاده می شود.

    به عنوان مثال، برای غیر فعال کردن سرویس Apache از startup، دستور زیر را اجرا می کنیم. در اینجا گزینه ی 'f-' برای اجبار است.
    کد PHP:
    [bahadori@linuxzone]# update-rc.d -f apache2 remove 
    بعد از انجام این تغییرات، سیستم در بوت بعدی بدون این پروسه های بیهوده بارگزاری میشود و در واقع در منابع سیستم صرفه جویی و سرور کاربردی تر، سریع تر، امن تر و مطمئن تر میشود.


    همچنین توصیه میشود مقالات زیر را مطالعه کنید :

    آنچه که شما باید درباره process ها در لینوکس بدانید

    دستور ps در لینوکس برای مانیتور یا پیدا کردن process ها

    آموزش نحوه پیداکردن پروسس در حال اجرا و kill کردن آن در لینوکس

    راهنمای دستورات Kill - PKill و Killall برای بستن یک پروسس در لینوکس

    چگونه با استفاده از PID Number نام یک Process را در لینوکس پیدا کنیم

    نحوه پیدا کردن Process های در حال اجرا که CPU و RAM زیادی در Linux مصرف میکنند

    آموزش نحوه پیداکردن پروسس در حال اجرا و kill کردن آن در لینوکس

    نحوه Kill کردن Process های بی مسئولیت با استفاده از دستور xkill در لینوکس



    امیدوارم که بتونین از این مقاله استفاده درستی بکنید.

    با تشکر از وقتتون
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-19-2021, 04:22 AM.

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

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

شبکه های اجتماعی
در حال انجام ...
X