Giunsa ang Pagtakda sa Filesystem (Disk) Quotas sa Ubuntu


Ang filesystem quota usa ka standard built-in nga feature nga makita sa Linux Kernel. Ang mga quota nagtino sa gidaghanon sa luna nga kinahanglan adunay usa ka file aron suportahan ang mga kalihokan sa user. Gilimitahan usab sa mga disk quota ang gidaghanon sa mga file nga mahimo sa usa ka user sa sistema.

Ang mga filesystem nga nagsuporta sa quota system naglakip sa xfs, ext2, ext4, ug ext3 sa paghisgot ug pipila. Ang pag-assign sa mga quota espesipiko sa filesystem ug alang sa matag user. Kini nga artikulo nagdala sa tanan nimong kinahanglan mahibal-an bahin sa pagtrabaho kauban ang quota filesystem sa usa ka multi-user nga Ubuntu 18.04 nga palibot.

Ang pangagpas dinhi mao nga ikaw naggamit sa Ubuntu 18.04 nga sistema nga adunay usa ka user (tecmint) nga gihatagan og mga katungod sa sudo. Ang mga ideya nga gipaambit dinhi mahimong magamit sa bisan unsang Linux Distros basta gamiton nimo ang husto nga pamaagi sa pagpatuman.

Lakang 1: Pag-instalar sa Quota sa Ubuntu

Para maandam ug magamit ang mga quota, i-install ang quota command-line tool gamit ang apt command, apan sa dili pa kana kinahanglan nimo nga i-update ang mga pakete sa software sa sistema.

$ sudo apt update

Karon gamita ang mosunod nga sugo aron i-install ang quota package sa Ubuntu.

$ sudo apt install quota

Pindota ang Y, ug dayon ENTER para magsugod ang proseso sa pag-instalar.

Kumpirma ang bersyon sa pag-install pinaagi sa pagpadagan sa mando sa ubos. Ang numero sa imong bersyon mahimong lahi sa imong makita sa ubos.

$ quota --version

Lakang 2: Pag-instalar sa Module para sa Quota Kernel

Kadtong nagdagan sa cloud-based virtual system, ang default nga pag-instalar sa Ubuntu mahimong kulang sa kernel modules nga nagsuporta sa paggamit sa quota. Kinahanglan nimong kumpirmahon gamit ang tool sa pagpangita ug siguroha nga ang duha ka module, quota_v1, ug quota _v2, naa sa sulod sa direktoryo nga /lib/modules.

$ find /lib/modules/`uname -r` -type f -name '*quota_v*.ko*'

Kini kinahanglan nga resulta sa sugo sa ibabaw.

Ayaw kabalaka bahin sa mga bersyon sa kernel basta naa ang duha nga mga module. Kung dili makit-an, gamita ang mosunud nga mando aron ma-install ang quota kernel modules sama sa gipakita.

$ sudo apt install linux-image-extra-virtual

Makuha nimo ang husto nga mga module nga kinahanglan nimo alang sa pagpatuman sa quota.

Lakang 3: Pag-update sa Filesystem Mount Options

Aron ang mga quota mahimong aktibo sa usa ka piho nga sistema, kini kinahanglan nga i-mount sa mga may kalabutan nga kapilian sa quota. Mahimo nimo kini pinaagi sa pag-update sa entry sa file system nga makita sa /etc/fstab file.

$ sudo nano /etc/fstab

Kinahanglan nga andam ka sa pag-edit sa file sa hustong paagi. Ang kalainan tali sa usa ka fstab file ug usa ka desktop mao ang kalainan kung giunsa ang / o root file system nagrepresentar sa tibuok nga disk space. Ilisan ang linya (/) nga nagpunting sa gamut nga sistema gamit ang mga linya sa ubos.

LABEL=cloudimg-rootfs   /        ext4   usrquota,grpquota        0 0

Ang mga linya mausab aron tugotan ang userquota ug grpquota nga ma-access. Mahimo nimong ibilin ang usa nga dili bahin sa katapusan nga pag-configure. Kung ang fstab adunay pipila ka mga kapilian, idugang ang bag-ong mga kapilian sa katapusan sa linya. Samtang imong buhaton ang pagdugtong, ibulag ang bag-ong mga butang gamit ang comma apan walay gilay-on tali kanila.

I-remount ang filesystem aron ma-epekto ang mga kausaban.

$ sudo mount -o remount /

PAHINUMDOM: kumpirmahi nga walay mga luna tali sa mga opsyon sa /etc/fstab aron malikayan ang maong mga sayop.

mount: /etc/fstab: parse error

Ang pag-verify sa paggamit sa bag-ong mga kapilian sa pag-mount sa filesystem sa /proc/mounts file gihimo pinaagi sa grep. Ang command nagpakita sa root file system entry sa file.

$ sudo cat /proc/mounts | grep ' / '

Gikan sa output, imong makita ang duha ka mga kapilian nga among gipahimutang. Panahon na aron i-on ang sistema sa quota.

Lakang 4: Pag-enable sa Disk Quotas sa Ubuntu

Una, kinahanglan nimo nga ipadagan ang quotacheck command.

$ sudo quotacheck -ugm /

Ang command nagmugna og duha ka file usa ka quota user ug usa ka quota group nga adunay impormasyon sa limit ug paggamit sa filesystem. Kini nga mga file kinahanglan nga anaa sa dili ka pa magsugod sa paggamit sa quota.

Ania ang usa ka kahulugan sa mga parameter:

  • -u: nagsimbolo sa usa ka user-based quota file pagabuhaton.
  • -g: nagpakita nga usa ka group-based quota file ang pagabuhaton.
  • -m: nag-disable sa remounting sa file system isip read-only samtang sa samang higayon naghatag ug saktong resulta sa usa ka palibot diin ang user nagpadayon sa pag-save sa mga file. Ang m nga opsyon dili mandatory atol sa setup.

Kung dili kinahanglan nga magamit ang paggamit sa mga quota base sa user o grupo, dili kinahanglan nga modagan ang kapilian sa quotacheck. Kumpirma kini pinaagi sa paglista sa root directory gamit ang ls command.

$ ls /
aquota.group  bin   dev  home        initrd.img.old  lib64       media  opt   root  sbin  srv  tmp  var      vmlinuz.old
aquota.user   boot  etc  initrd.img  lib             lost+found  mnt    proc  run   snap  sys  usr  vmlinuz

Ang pagkapakyas sa pag-apil sa u ug g nga mga parametro sa quotacheck command, ang katugbang nga mga file mawala.

Karon andam na kami nga i-on ang quota sa gamut (/) filesystem uban ang mosunod nga sugo.

$ sudo quotaon -v /

Lakang 5: I-configure ang mga Quota para sa Usa ka Gumagamit

Mahimo natong gamiton ang edquota ug setquota nga mga sugo aron itakda kini alang sa mga tiggamit o grupo.

Ang edquota nagsugo sa pag-edit sa mga quota, pananglitan, mahimo natong usbon ang usa ka quota nga iya sa tecmint user gamit ang:

$ sudo edquota -u tecmint

Ang paggamit sa -u nga opsyon nagtino nga ang quota iya sa usa ka user. Gamita ang -g nga opsyon kung kinahanglan nimo nga usbon ang quota nga iya sa usa ka grupo. Ang mando magbukas sa usa ka file gamit ang imong gipili nga editor sa teksto.

Ang output naglista sa username, uid, ang filesystem nga adunay aktibong quota, ug ang paggamit sa mga block ug inode. Ang usa ka quota-based sa inodes naglimite sa gidaghanon sa mga file ug mga direktoryo nga mahimo sa mga tiggamit sa bisan unsa nga gidak-on nga ilang gigamit sa disk. Kadaghanan sa mga Admin gusto ang block-based nga quota nga nagkontrol sa disk space.

HINUMDOMI: ang paggamit sa mga bloke wala magpakita kung giunsa kini mabag-o depende sa lainlaing mga hinungdan sama sa tool sa command-line nga nagreport niini. Sulod sa mga konteksto nga quota sa Ubuntu, mahimo natong hunahunaon nga ang usa ka bloke parehas sa usa ka kilobyte sa disk space.

Gamit ang command line sa ibabaw, ang user mogamit sa 2032 blocks, nga parehas sa 2032KB nga space sa /dev/sda1. Ang 0 nga kantidad nagpugong sa humok ug gahi nga mga limitasyon.

Ang matag set sa quota nagtugot sa pag-set up sa soft ug hard limit. Ang usa ka tiggamit nga molapas sa humok nga limitasyon mahimong sobra sa iyang quota, apan dili gidid-an sa paggamit sa daghang mga espasyo o inode. Ang tiggamit sa ingon nga kaso adunay pito ka adlaw aron matubos ang ilang humok nga limitasyon sa wanang, ang pagkapakyas sa pagbuhat nga makapalisud sa pagtipig o paghimo og mga file.

Ang usa ka lisud nga limitasyon nagpasabut nga ang paghimo sa bag-ong mga bloke o inode mohunong sa higayon nga imong maigo ang limitasyon. Ang mga tiggamit magreport nga nakakita og mga pasidaan o mga sayup samtang naghimo sa regular nga mga buluhaton.

Mahimo namon nga i-update ang block quota sa tecmint aron adunay humok nga limitasyon nga 100MB ug 110MB alang sa lisud nga limitasyon.

Human sa pag-edit, isira ang file ug susiha ang bag-ong mga setting sa limitasyon sa quota sa user gamit ang quota command.

$ sudo quota -vs tecmint

PAHINUMDOM: paghatag sa imong mga tiggamit ug higayon sa pag-analisar sa ilang mga quota nga walay paggamit sa sudo nga sugo, kinahanglang hatagan sila ug access sa pagbasa sa mga file sa quota atol sa hugna sa paghimo sa ika-upat nga lakang. Usa ka sayon nga paagi sa pagbuhat niini mao ang paghimo og grupo sa usa ka user ug paghatag sa grupo og access aron ikaw makadugang sa mga tiggamit niini.

Gi-update sa setquota ang impormasyon sa quota gamit ang usa ka command nga walay bisan unsang interactive setup. Ang sugo nagkinahanglan sa username ug pagbutang sa humok ug gahi nga mga limitasyon nga gamiton sa block ug inode. Kinahanglan usab nimo nga ipahayag ang sistema sa mga file nga gamiton sa quota.

$ sudo setquota -u tecmint 200M 220M 0 0 /

Ang mando nagdoble sa block-based nga mga limitasyon sa quota ngadto sa 200 megabytes ug 220 megabytes. Ang duha ka 0 0 nagpaila nga ang gahi ug humok nga mga limitasyon wala gitakda, kini usa ka kinahanglanon bisan kung wala kinahanglana ang pagtakda sa inode-based nga mga quota.

Sama sa naandan, gamita ang quota command aron mapamatud-an ang imong pag-uswag.

$ sudo quota -vs tecmint

Lakang 6: Paghimo og Quota Reports

Ang paghimo og usa ka quota nga taho, kini kinahanglan nga magpakita sa paggamit gikan sa tanan nga mga tiggamit. Ang command repquota gigamit.

$ sudo repquota -s /

Ang output sa ibabaw kay usa ka report sa / root filesystem. Ang -s nagmando sa repquota sa paghatag og mga resulta sa pormat nga mabasa sa tawo.

Ang default nga Block grace time kay 7 ka adlaw. Ang kolum sa grasya nagpahibalo sa tiggamit sa gidaghanon sa mga adlaw sa wala pa ang pagdumili sa pag-access sa resource disk.

Lakang 7: Itakda ang Configuration Grace Periods

Ang panahon sa grasya mao ang panahon nga ang usa ka tiggamit makakuha pagtugot sa pagtrabaho lapas sa default nga oras.

$ sudo setquota -t 864000 864000 /

Gisugo sa command ang block ug inode nga adunay grace period nga 864000 segundos nga katumbas sa 10 ka adlaw. Ang setting makaapekto sa tanan nga tiggamit, busa, ang mga kantidad kinahanglan nga itakda bisan kung wala’y paggamit sa mga bloke ug inode. Ang kantidad sa oras kinahanglan nga sa mga segundo.

Kumpirma ang mga pagbag-o ug tan-awa kung kini miepekto gamit ang sugo:

$ sudo repquota -s /

Kasagarang Mga Sayop nga Mensahe

quotaon: cannot find //aquota.group on /dev/vda1 [/]
quotaon: cannot find //aquota.user on /dev/vda1 [/]

Ang sayup sa ibabaw kasagaran kung imong sulayan nga i-on ang mga quota gamit ang command qoutaon sa dili pa ang pagsulay sa pagsusi sa status sa usa ka quota gamit ang command quotacheck.

quotaon: using //aquota.group on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.
quotaon: using //aquota.user on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.

Kini nga sayup nagsulti sa Administrator nga ang kernel wala mosuporta o mahimo ka nga adunay sayup nga bersyon sa makina (kami adunay quota_v1 ug quota_v2). Alang sa Ubuntu, ang ingon nga mga sayup kasagaran sa usa ka cloud-based virtual server.

Ayuhon ang sayop pinaagi sa pag-instalar sa Linux-image-extra-virtual nga pakete gamit ang apt command.

quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //quota.user: No such file or directory

Mamatikdan ang sayup kung ang kasamtangang tiggamit walay pagtugot sa pagbasa sa mga file sa quota. Isip usa ka Administrator, kinahanglan ra nimo nga buhaton ang husto nga mga pagbag-o sa pagtugot o gamiton ang sudo kung kinahanglan nimo nga ma-access ang mga file sa usa ka sistema sa quota o file.

Sa ibabaw sa artikulo, nagsugod kami sa mga himan sa command-line sa quota ug ang pag-verify sa bersyon sa kernel ug gipatin-aw kung giunsa ang pag-set up sa usa ka block-based nga quota alang sa usa ka user ug kung unsaon paghimo og usa ka report sa usa ka filesystem quota. paggamit.

Gisakup usab sa artikulo ang kasagarang mga sayup ug kung giunsa kini malikayan gamit ang usa ka dugang nga pakete o pag-verify sa bersyon sa kernel sa imong sistema.