亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來(lái)到思海網(wǎng)絡(luò),我們將竭誠(chéng)為您提供優(yōu)質(zhì)的服務(wù)! 誠(chéng)征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購(gòu)買流程 | 付款方式 | 聯(lián)系我們 [ 會(huì)員登錄/注冊(cè) ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁(yè) >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

如何限制Linux用戶的進(jìn)程數(shù)呢?

添加時(shí)間:2010-12-6  添加: admin 
我們這兩天監(jiān)測(cè)到一位客戶的 VPS 持續(xù)維持 100% 的 CPU 利用率很長(zhǎng)一段時(shí)間,然后昨天客戶向我們報(bào)告他的 VPS 無(wú)法登錄了,從我們這邊來(lái)看他的 VPS 正在運(yùn)行,而且網(wǎng)絡(luò)也有反應(yīng),只不過(guò) CPU 利用率滿負(fù)荷而已,VPSee 收到客戶消息的第一反應(yīng)是客戶的 VPS 被 CC (Challenge Collapsar) 攻擊了,后來(lái)客戶告訴我們他沒(méi)有做網(wǎng)站,只是開了一些 shell 帳號(hào)供別人通過(guò) ssh 使用,這有可能是其中某個(gè)帳號(hào)(被黑了以后)放了 fork 炸彈,這是非常簡(jiǎn)單而且很常用的一類惡意程序,原理很簡(jiǎn)單,就是通過(guò)不停的 fork 進(jìn)程來(lái)達(dá)到消耗 Linux 系統(tǒng)所有資源的目的,使得系統(tǒng)無(wú)法(沒(méi)有資源)運(yùn)行其他程序。比如被 fork 炸了以后,就會(huì)出現(xiàn):

  -bash: fork: retry: Resource temporarily unavailable

  下面就是一個(gè)最簡(jiǎn)單的 bash fork 炸彈:

 。 () { : | : & } ; :

  上面幾個(gè)符號(hào)看上去很復(fù)雜,其實(shí)如果寫成下面這個(gè)樣子就好懂了,: 是函數(shù)名,執(zhí)行一個(gè)調(diào)用自己的遞歸并且 pipe 到自己,& 表示后臺(tái)執(zhí)行程序,最后的一個(gè) : 是在函數(shù)外調(diào)用和執(zhí)行 : () 這個(gè)函數(shù)的意思:

 。 () {

 。 | : &

  }; :

  如何避免 fork 炸彈呢?方法很簡(jiǎn)單,只要限制每個(gè)用戶可以調(diào)用的進(jìn)程數(shù)就可以避免,這個(gè)可以通過(guò)修改 vi /etc/security/limits.conf 文件來(lái)設(shè)定:

  # vi /etc/security/limits.conf

  vpsee hard nproc 32

  @student hard nproc 32

  @faculty hard nproc 64

  上面的配置文件意思是說(shuō)限制 vpsee 這個(gè)用戶只能 fork 32 個(gè)進(jìn)程;然后限制 student 這個(gè)用戶組的每個(gè)成員最多能 fork 32 個(gè)進(jìn)程;限制 faculty 這個(gè)用戶組的每個(gè)成員最多能 fork 64 個(gè)進(jìn)程。不過(guò)要事先檢查系統(tǒng)是否有 pam_limits.so 這個(gè)模塊以及是否已經(jīng)加載:

  # ls /lib64/security/pam_limits.so

  /lib64/security/pam_limits.so

  # vi /etc/pam.d/login

  session required pam_loginuid.so

  如果自己是 Linux 普通用戶,不是 root 用戶不能修改 limits.conf 和重啟系統(tǒng)的話,可以用 ulimit 來(lái)臨時(shí)限制自己允許創(chuàng)建的進(jìn)程數(shù),ulimit 有 Hard 和 Soft 兩種方法限制,用 Hard 的話可以減少最大可用的進(jìn)程數(shù),但是就不能重新增大這個(gè)限制了;用 Soft 的話可以自己自由增大和減小限制(ulimit,-H 和 -S 的詳細(xì)說(shuō)明可以參看 man ulimit)。不同的 Linux 版本對(duì)這個(gè) ulimit -u 的默認(rèn)值不同,在 CentOS 上默認(rèn)情況下最大運(yùn)行進(jìn)程數(shù)是 8256,在 Fedora 上是 1024,所以這個(gè)要看不同的發(fā)行版本,不過(guò)這個(gè)無(wú)所謂,反正可以改,不過(guò)改成32后就不能再改成比32更大的了(比如64),只能再改成比32小的,ulimit 不帶 -H 和 -S 參數(shù)的時(shí)候同時(shí)設(shè)置 Hard 和 Soft:

  $ ulimit -u

  8256

  $ ulimit -u 32

  $ ulimit -u 64

  -bash: ulimit: max user processes: cannot modify limit: Operation not permitted

  $ ulimit -a

  core file size (blocks, -c) 0

  data seg size (kbytes, -d) unlimited

  scheduling priority (-e) 0

  file size (blocks, -f) unlimited

  pending signals (-i) 8256

  max locked memory (kbytes, -l) 32

  max memory size (kbytes, -m) unlimited

  open files (-n) 1024

  pipe size (512 bytes, -p) 8

  POSIX message queues (bytes, -q) 819200

  real-time priority (-r) 0

  stack size (kbytes, -s) 10240

  cpu time (seconds, -t) unlimited

  max user processes (-u) 32

  virtual memory (kbytes, -v) unlimited

  file locks (-x) unlimited

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證: 粵B1.B2-20030321 備案號(hào):粵B2-20030321-1
網(wǎng)站公安備案編號(hào):44060602000007 交互式欄目專項(xiàng)備案編號(hào):200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎(jiǎng)  警警  手機(jī)打開網(wǎng)站