導航:首頁 > 操作系統 > linux用戶空間限制

linux用戶空間限制

發布時間:2023-05-08 09:20:05

『壹』 linux磁碟配額可以通過哪兩種方法對用戶進行限制

Linux磁碟配額

1. 磁碟配額的使用限制

僅針對整個分區:磁碟配額實際運行時,是針對「整個分區」進行限制的,例如,如果/dev/hda5載入在/home下,那麼,在/home下面的所有目錄都會受到限制。
核心必須支持磁碟配額:Linux系統核心必須支持磁碟配額模塊。
磁碟配額的記錄文件:使用的Kernel 2.6.XX的核心版本,這個核心版本支持新的磁碟配額模塊,使用的默認文件(aquota.user、aquota.group)將不同於舊版本的quota.user和quota.group。舊版本的磁碟配額可以通過convertquota程序來轉換

只對一般身份用戶有效:並不是所有在Linux上的賬號都可以設置磁碟配額,例如root就不能設置磁碟配額,因為他擁有整個系統所有的數據。
2. 磁碟配額程序對硬碟配額的限制
最低限制( soft ):這是最低限制容量。用戶在寬限期間之內,它的容量可以超過最低限制,但必須在寬限時間之內將磁碟容量降低到最低限制的容量限制范圍之內。
最高限制( hard ):這是「絕對不能超過」的容量。通常最高限制會比最低限制高。
寬限時間:寬限之間是指當用戶使用的空間超過了最低限制,卻還沒有到最高限制時,在這個「寬限時間」內,就必須請用戶將使用的磁碟空間降低到最低限制之下,否則則不允許在寫入。反之,則寬限時間取消

3. 基本的磁碟配額命令
在開始進行磁碟配額的實際練習之前,先了解一下磁碟配額使用的命令,這些命令分為兩種,一種是查詢功能(quota、quotacheck、quotastats、warnquota、requota),另一種則是編輯磁碟配額的內容(edquota、setquota)。下面我們來討論這些基本命令。
3.1. /etc/mtab
為什麼要提這個文件系統實際載入的記錄文件呢?要注意,當我們使用磁碟配額的時候,系統會去搜素:「系統上具有磁碟配額參數的分區」,所以,當我們要使用磁碟配額的功能時,系統文件必須要支持磁碟配額的標志。一般來說,我們是通過編輯/etc/fstab後,在重新載入文件系統的方法,來讓系統的文件系統支持磁碟配額。這個概念很重要。
3.2. quota
這個命令僅僅用來「顯示」當前某個用戶或者組的磁碟配額值。
# quota -uvs //這個是顯示當前用戶的配額值
-u:表示顯示用戶的配額
-g:表示顯示組的配額
-v:顯示每個文件系統的磁碟配額
-s:可以選擇用Inode或者磁碟容量的限制值來顯示
# quota -gvs //顯示root用戶所在組的配額值
# quota -uvs test1 //顯示test1用戶的配額值

3. 3.quotacheck
這個命令的主要目的是掃描某個磁碟的配額空間,它會針對分區進行掃描,並且,由於該磁碟持續欲行,可能掃描過程中文件會增加,造成磁碟配額掃描錯誤,因此,當使用quotacheck時,該磁碟將「自動被設置為只讀扇區」;掃描完畢後,掃描所得的磁碟空間結果會寫入該區最頂端(aquota.user與aquota.group)
# quotacheck -cug //掃描分區,並生成配額信息文件
-a:掃描所有在/etc/mtab內含有磁碟配額支持的文件系統,加上此參數,可以不寫/mount_point
-v:顯示掃描過程
-u:針對用戶掃描文件與目錄的使用情況,會建立quota.user
-g:針對組掃描文件及與目錄的使用情況,會建立quota.group

-c :代表創建
Ps:如果提示不能quotacheck,許可權不足,此時的原因是因為SElinux ,關閉它就能創建了。

3. 4: edquota

這個文件時編輯每一個「用戶」或者「用戶組」的磁碟配額數值。通常我們以edquota -u username或者是edquota -g groupname來編輯個人與用戶組的磁碟配額值,不過這樣一個一個分配很慢。也可以直接復制一個人的設置給另外一個人。用edquota -p user1 -u user2,下面介紹編輯時,裡面的幾個值
。filesystem:代表這個磁碟是針對哪個分區
。blocks:這個是當前用戶在文件系統上所消耗的磁碟數量,也就是當前用戶使用的空間,單位是KB
-u:配置用戶的磁碟配額
-g:配置組的磁碟配額
-p:復制磁碟配額設定,從一個用戶到另一個用戶
-t:修改寬限時間,可以針對分區
# edquota -u test1 //配置test1的磁碟配額

# edquota -p test1 -u test2 //將test1的配置服務之test2

#edquota -t //修改寬限時間 可以針對每個分區

3.5. quotaon
這個命令是啟動磁碟配額,不過,由於這個命令是啟動aquota.group與aquota.user的,所以必須要先完成quotacheck的工作,然後執行quota -a即可啟動
-u:針對用戶啟動磁碟配額
-g:針對用戶組啟動磁碟配額
-v:顯示啟動過程的相關信息
-a:根據/etc/mtab內的文件系統設置啟動相關的磁碟配額,若不加-a的話,則後面就需要加上特定的文件系統
#quota -avug //啟動所有的磁碟配額
#quota -uv /data //啟動/data裡面的用戶磁碟配額設置

3.6. quotaoff
-a:全部文件系統的磁碟配額都關閉
-u:關閉用戶的磁碟配額
-g:關閉組的磁碟配額
#quotaoff -a //全部關閉
#quotaoff -u /data //關閉/data的用戶磁碟配額設置值

『貳』 如何限制Linux用戶的磁碟空間(ext3)

1.
修改
/etc/fstab
文件.在文件系統相應的
mount
命令行中加入限額選項(如下的例子)。/dev/hda7
/home
ext3
defaults,usrquota,grpquota
1
22.
重新裝載
Linux
分區,例如:
[root@fileserver
root]#
mount
-o
remount
/home
繼續。3.
在欲加
磁碟限額
的文件系統的安裝點目錄建立
aquota.user

aquota.group
文件:
[root@fileserver
root]#
cd
/home
(/home
為單個分區
/dev/hda7
的裝載點)
[root@fileserver
home]#
touch
aquota.user
(為用戶設置磁碟限額)
[root@fileserver
home]#
touch
aquota.group
(為
用戶組
設置磁碟限額)
這時生成

aquota.user

aquota.group
是空的,不符合系統的要求。
請看下一步。4.
生成符合系統要求的
aquota.user

aquota.group[root@fileserver
home]#
quotacheck
/home
(生成符合系統要求

aquota.user)
[root@fileserver
home]#
quotacheck
-g
/home
(生成符合系統要求

aquota.group)
生成時,有錯誤提示。這不要緊。

『叄』 linux下限制用戶最多隻能使用20M磁碟空間,50個文件。

假如你要設置用戶user,在/dev/sda1 分區使迅笑讓用20M磁碟空間,50個文件,下文以/為例:
1.設畝局置/etc/fstab ,在defaults後添加usrquota:
/dev/sda1 / ext4 defaults,usrquota 0 0

2.mount -o remount / (應該要reboot)

3 .建立用戶磁碟配額資料庫:(可能要在單用戶模式下)
quotacheck -cvua

4. 啟動磁碟配額功能:
quotaon /dev/sda1

5.編輯用戶磁碟配額
edquota -u user
Filesystem blocks soft hard inodes soft hard
/dev/sda1 8 20000 50

6.查看用升行戶配額
requota -u user

『肆』 Linux系統中如何限制用戶的可用空間

磁碟配額從開始准備文件系統的支持,到整個設置結束的主要步驟如下:

步驟1:設置分區的文件系統支持磁碟配額參數

#vi /etc/fstab :

UUID=*** ext3 defaults,usrquota,grpquota 1 2
步驟2:生成磁碟配額的配置文件

quotacheck –cugm /home 生成磁碟配額的配置文件
在/home下生成aquota.user和aquota.group文檔

參數:

a 檢查任何起用了配額的在本地掛載的文檔系統弊談

b 在檢查配額過程中顯示周詳的狀態信息

u 檢查用戶磁碟配額信息

g 檢查組群磁碟配額信息

這樣就加入了磁碟配額的磁碟格式了迅卜漏。不過,由於真正的磁碟配額在讀取時時讀取/etc/mtab文件,這個文件需要重啟之後才能用/etc/fstab的新數據,所以這個時畝爛候可以選擇 重新啟動 或者

#mount -o remount /data
步驟3:打開磁碟配額

#quotaon -a
步驟4:編輯磁碟配額限制值數據

現在假設想給test用戶10M的硬碟配額限制,他所擁有的最大文檔數不得超過100個。

#edquota -u test //test為用戶名
進入編輯環境,將如下三行:

Quotas for user test:
/dev/hadx: blocks in use14,limits(soft=0, hard=0)
inodes in use: 12, limits (soft=0, hard=0)
改為:

Quotas for user test:
/dev/hdax: blocks in use: 14, limits (soft=10204, hard=10204)
inodes in use: 12, limits (soft=100, hard=100)
其中:blocks in use:用戶已使用塊的大小,單位是KB。inodes in use: 用戶現有文檔的大小。這兩項都是系統自動給出,不必改變。

『伍』 如何限制Linux內存的使用

swap是一塊磁碟空間或者一個本地文件
/proc/sys/vm/swappiness 可以設置伺服器使用 swap 的積極程度。取值范圍為0-100,值越大,越積極使用swap,更傾向於回收匿名頁;值越小,越消極使用swap,更傾向於回收文件頁。
即使swap設置為0,當剩餘內存+文件頁小於頁高閾值( pages_high )的時候,也會發生swap

Linux有專門的內核線程 kswapd0 定期回收內存,為了衡量內存的使用情況, kswapd0 定義了三個內存閾值:頁最小閾值 pages_min 、頁低閾值 pages_low 和頁高閾值 pages_high ,剩餘內存使用 pages_free 表示。
kswapd0 定期掃描內存的使用情況,並根據剩餘內存和這三個閾值的關系進行內存回收操作。
pages_free < pages_min :進程可用內存耗盡,只有內核才可以分配內存
pages_min < pages_free < pages_low :內存壓力較大, kswapd0 會執行內存回收,直到剩餘內存大於高閾值為止
pages_low < pages_free < pages_high :內存有一定壓力,但還可以滿足新內存請求
pages_free > pages_high :剩餘內存較多,沒有內存壓力。
這些閾值可以通過內核選項來 proc/sys/vm/min_free_kbytes 間接設置。 min_free_kbytes 設置了頁最小閾值( pages_min )。 pages_low=pages_min*5/4 , pages_high=pages_min*3/2

/etc/security/limits.conf
通過這個配置文件可以對每個登錄的會話進行限制,這種限制不是全局的,也不是永久的,只在會話期間起作用。
通常,對單個用戶的限制優先順序高於對用戶組的限制

可以使用以下方式限制內存使用

語法
<domain> <type> <item> <value>

詳見 limits.conf(5) - Linux man page

/proc/sys/vm/overcommit_memory 控制內核使用虛擬內存的模式,可以設置為以下值

『陸』 linux下限制用戶最多隻能使用20M磁碟空間,50個文件。

edquota
-u
username
/dev/sda1
x
0
20000
y
0
50假設home在/dev/sda1分區上面,其中x,
y
是與home所在分區大小有關,配置時可以不管他

『柒』 linux用戶態棧空間的大小有沒有限制

當然有限制,你可以使用命令 ulimit -s 查看大小。
因為物理空間存在著大小限制,因此棧空間肯定也是有大小限制的,液拆不然程序還不崩了。
甚至,你可以測試一下,分配一個超大的棧空間(方法是,在函數中,定義一個超大空間的數組),然明埋埋後看是否可激螞以運行,當達到一個限制的時候,程序是無法正常運行的

『捌』 linux限定用戶或組對磁碟空間的使用

安裝磁碟配額支持軟體

yum install quota

製作文件系統,並以支持配額功能的方式掛載文件系統

mkfs.ext4 /dev/sdb1

mount /dev/sdb1 /tmp

mount -o remount,usrquota,grpquota /dev/sdb1

查看磁碟掛載時是否啟用磁碟配額技術

mount

要想永久掛載(需在配置文件里,加入usrquota,grpquota這兩個參數)
vim /etc/fstab

/dev/sdb1 /tmp ext4 defaults,usrquota,grpquota 0 0

檢測磁碟配額並生成配額文件(若是出錯,請關閉selinux)

quotacheck -cugv /tmp #此命令會在/tmp下生成兩個文件

#解釋:

-c 創建配額文旅則件,

-u (-g) 掃描磁碟空間,計算每個用戶(組)識褲頌別碼所佔用的目錄和文件數,

-a 掃描在/etc/fstab文件里,有加入quota設置的分區,

-d 詳細顯示指令執行過程,便於排錯。

-R 排除根目錄所在分區

用戶和組帳號的配額設置

useradd wsfnk #先創建一個用戶,若有就不用創建了

edquota -u wsfnk #-g 表示 wsfnk組,在類似vim界面,編輯限制大小,


Disk quotas for user wsfnk (uid 1000):

Filesystem blocks soft hard inodes soft hard

/dev/sdb1 0 拆純棚20 50 1 0 0

#對其中各欄位解釋如下:

#Filesystem下顯示實現磁碟配額的分區;

#blocks下為當前已經使用的大小,不用修改;

#soft為軟限制,超出後會給出警告,超出的部分默認會保存7天;

#hard為硬限制,不可超越的限制(軟硬限制默認單位都是KB);

#後面的兩個相同的soft、hard分別表示分區中這個用戶可以創建的文件數目軟硬限制;

#本例中設置,qingsword可以使用/dev/sdb1分區的軟限制大小10KB,硬限制20KB,可創建的文件個數軟限制是3個,硬限制5個;

edquota參數

-u :設置用戶的quta,這是預設的參數

-g :設置群組的quota

-p 源用戶名稱 :將源用戶的quota設置套用到其他用戶或組

-t :設置寬限期限


激活磁碟配額

quotaon -ugv /tmp

注意:磁碟配額中的blocks,不是fdisk里看到的blocks,而是表示1k

測試是否限制會生效

寫數據
mkdir /tmp/test

chmod 777 /tmp/test

切換用戶wsfnk

su wsfnk

cd /tmp/test

dd if=/dev/zero of=wss.test bs=1k count=500


關閉磁碟配額

#關閉單個磁碟的磁碟配額

quotaoff /sdb1

#關閉所有已經開啟的磁碟配額

quotaoff -a

#反之,開啟所有磁碟配額

quotaon -a

#如果不再使用磁碟配額,可以將配置文件也刪除

rm -rf /sdb1/aquota.*

#最後刪除/etc/fstab中的自動掛載即可。 詳情查看 網頁鏈接

『玖』 Linux為什麼區分內核空間和用戶空間

程序如果要被CPU執行,就得編譯成CPU可以執行的指令,一大堆的程序就變成了一堆的指令。

一個操作系統它也是一堆程序組成的,可以想像CPU的指令是很多的,但是這么多的指令中,有些指令涉及到系統底層的東西,如果有些指令錯用或者使用不當是非常危險的,比如清內存、設置時鍾、修改用戶訪問許可權、分配系統資源等等,可能導致系統崩潰。

CPU將這些指令進行了分類,分為 特權指令 非特權指令 ,不讓所有程序都能使用所有指令,如果所有程序都能使用,那系統崩潰就會變得非常常見了。

操作系統的核心是內核,它是獨立於普通的應用程序,負責管理系統的進程、內存、設備驅動程序、文件和網路系統,決定著系統的性能和穩定性,所以一定要埋悄鉛保證內核的安全。

為了保護內核的安全,操作系統一般都限制用戶進程不能直接操作內核,在32位操作系統總的地址空間4G(2^32 = 4GB),實現這個限制的方式就是操作系統將總的地址空間分為兩個部分,對於Linux操作系統:


你該知道你寫的程序的內存布局

總之,有1G的內核空間是每個進程共享的,剩下的3G是進程自己使用的。

在內核態下,CPU可以執行指令系統的全集,也就是說內核態進程可以調用系統的一切資源,但是特權指令只能在內核態下執行,它不直接提供給用戶使用,用戶態下只能使用非特權指令,也就是說用戶態進程只能執行簡單運算,不能直接調用系統資源。

那麼CPU如何知道當前是否可以使用特權指令?

Linux操作系統通過區分內核空間和用戶空間的這種設計,將操作系統代碼和用戶程序代碼分開,這樣即使在某一個應用程序出錯,也不會影響到操作系統,再說,Linux操作系統是多任務系統,其它應用程彎好序不也還能運行。

現代操作系統基本上都是分內核空間和用戶空間的做法,來 保護操作系統自身的安全性和穩定性,這也是區分內核空間和用戶空間的本質。

你也可以繼續閱讀 點擊 以下文運信章,下面是我推薦給大家的幾篇文章:

1.《 竟然把通信協議講的如此通俗?

2.《 c++如何學習?趕緊收藏這些好書

3.《 select和epoll的前世今生

4.《 徹底明白Linux硬鏈接和軟鏈接

『拾』 Linux用戶磁碟空間配額的管理

linux用戶磁碟空間配額的管理linux下要實現磁碟空間限制,需要安
quota
套件來實現。用戶磁碟空間限制是以文件系統(分區)為單位的,想要限制在/home目錄空間大小,那麼必須為/home單獨掛載一個分區。一、規劃文件系統1.1、查看文件系統的容量等信息Java代碼
df
-h
/
1.2、查看文件系統是否已加入quota支持Java代碼
mount
|
grep
/
1.3、為文件系統添加quota支持編輯fstab文件,選擇要設定
Quota
的文件系統,然後加入
usrquota

grpquota
選項:Java代碼
vim
/etc/fstab
/dev/sda1
/
ext3
defaults,usrquota,grpquota
1
1
其中
/dev/sda1
可以用
uuid
標識信息來代替Java代碼
UUID=a8454012-1fff-4d33-baa5-b57fb7d3e1e2
/
ext3
defaults,usrquota,grpquota
1
1
那如何查看磁碟與分區的標識信息?Java代碼
ls
-all
/dev/disk/by-uuid
1.4、臨時添加quota支持(選做)Java代碼
mount
-o
remount,usrquota,grpquota
/
1.5、重新掛載文件系統Java代碼
mount
-o
remount
/
1.6、查看文件系統掛載是否正確Java代碼
mount
-a
1.7、添加新硬碟掛載到/home目錄(選做)如果你/home目錄沒有獨立掛載一個分區,後期你可能想增加一個新的分區Java代碼
mkfs.ext3
/dev/sda6
#格式化並載入一個新分區
mkdir
/media/home
mount
/dev/sda1
/media/home
cp
-rf
/media/home/*
/home
#復制舊/home的內容到新/home目錄
umound
/media/home
fdisk
-l
#查看硬碟數及分區情況
fdisk
/dev/sda
#操作硬碟的命令
d:刪除分區、l:列出所有分區類型、m:列出幫助信息、n:添加一個分區、p:列出分區表信息、q:不保存退出、t:改變分區類型、w:把分區表寫入硬碟並退出二、安裝、初始化、啟動、關閉
Quota2.1、安硬碟
quota
套件Java代碼
aptitude
install
quota
quotatool
其中
quotatool
是一個基於命令行的磁碟配額設置和管理工具2.2、初始化
quota
規則文件quotacheck
-avugmchmod
600
/quota.*
#修改規則文件許可權-a
為所有添加了quota支持的文件系統,建立
quota
規則文件-v
顯示建立
quota
規則文件過程中的信息-u
建立
aquota.user
規則文件-g
建立
aquota.group
規則文件-m
強制初始化2.3、啟動關閉
quota
的服務Java代碼
quotaon
-avug
#啟動
quota
的服務
quotaoff
-auvg
#關閉
quota
的服務
三、配置
Quota
規則3.1、為用戶/組設置磁碟空間限額:Java代碼
edquota
-u
username
edquota
-g
groupname
filesystem:說明該限制值是針對哪個分區,例如/或/homeblocks:使用者已使用的磁碟區塊數量,該值由quota自動算出soft:單位為KB,一個非強制性磁碟空間限額hard:單位為KB,一個強制性磁碟空間限額inodes:使用者已使用的檔案數目soft:非強制性的inode的限制hard:強制性的inode的限制3.2、為批量用戶復制規則Java代碼
edquota
-p
group1
user1,user2,user3
..
3.3、為用戶/組設置寬限期通常將
hard
值設置大於
soft
值,就是為了讓寬限期發揮作用,默認超額寬限期為7天。edquota
-t四、Quota
報表4.1、用戶/組限額報表-s
使用1024倍數來指定單位,會顯示如M
之類的單位。Java代碼
quota
-uvs
user1
user2
user3
quota
-gvs
group1
group2
group3
4.2、文件系統限額報表查看所有使用者的
quota
限制情Java代碼
repquota
-auvs
五、Quota
測試與管理1、切換到user1用戶2、向當前目錄的bigfile文件寫入10次,每次1m的數據3、如果寫入大小沒有超過
hard
值,那麼進入寬限期倒計時。4、如果寫入超過hard值,那麼寫入失敗。Java代碼
su
user1
dd
if=/dev/zero
of=bigfile
bs=1M
count=10

閱讀全文

與linux用戶空間限制相關的資料

熱點內容
exe打開指定文件夾 瀏覽:264
pdf裡面怎麼去水印 瀏覽:845
appleid賬號加密碼 瀏覽:220
蘋果如何下載微倉app 瀏覽:916
迅雷解壓進度為0 瀏覽:859
解壓解惑近義詞 瀏覽:316
壓縮比不一樣燃燒室不一樣 瀏覽:101
androidbutton左對齊 瀏覽:172
怎麼找到學校的伺服器 瀏覽:368
android狀態欄高度是多少 瀏覽:987
linuxcliphp 瀏覽:515
蘿卜源碼如何關閉用戶注冊驗證 瀏覽:756
蘋果手機頭條app怎麼沒有tv 瀏覽:563
電腦qq文件夾怎麼發不出去 瀏覽:614
解壓小游戲測試鑽石劍的硬度 瀏覽:963
java結束函數 瀏覽:622
打開遠程桌面的命令 瀏覽:836
樹莓派如何搭建mqtt伺服器 瀏覽:588
怎麼加密w8文件 瀏覽:609
linuxprogram 瀏覽:709