Инсталиране и конфигуриране на квота в Debian 10

Ако имате желание да конфигурирате потребителска квота предполага се, че имате инсталиран Debian 10 сървър с не root потребител и активиран sudo както е по подразбиране след инсталацията му.

sudo apt install quota

За да активираме квоти в Линукс файлова система, трябва да я монтираме с определени опции, свързани с квотите. Правим това чрез актуализиране на записа на файловата система във конфигурационния файл /etc/fstab.

sudo vim /etc/fstab
UUID=06b2aae3-b525-4a4c-9549-0fc6045bd08e   / ext4    errors=remount-ro   0   1

Редактираме реда, сочещ към главната файлова система, като добавим опциите.

UUID=06b2aae3-b525-4a4c-9549-0fc6045bd08e   /   ext4    errors=remount-ro,usrquota,grpquota   0   1

Презареждаме файловата система, за да влязат в сила новите опции:

sudo mount -o remount /

Можем да проверим дали новите опции са били използвани за монтиране на файловата система, като погледнем файла /proc/mounts. Тук използваме grep, за да покажем само записа на коренната файлова система в този файл:

cat /proc/mounts | grep ' / '

Трябва да получим подобен отговор.

/dev/sda1 / ext4 rw,relatime,quota,usrquota,grpquota,errors=remount-ro,data=ordered 0 0

Преди най накрая да включим квотната система, трябва ръчно да стартираме тази командата веднъж:

sudo quotacheck -ugm /

Сега сме готови да включим квотната система:

sudo quotaon -v /

терминала ми показа следния изход при което става ясно, че вече имаме активирана квота на нашия сървър.

/dev/sda1 [/]: group quotas turned on
/dev/sda1 [/]: user quotas turned on

Използваме командата edquota за редактиране на квоти. Нека да редактираме примерната ни квота на потребителя samyil

sudo edquota -u samyil

Опцията -u указва, че това е потребителска квота, която ще редактираме. Ако вместо това искате да редактирате квотата на групата, използвайте опцията -g на нейно място.

edquota ще отвори файл в текстовия редактор по подразбиране, подобно на това как crontab -e отваря временен файл, който можете да редактирате. Файлът ще изглежда подобно на този:

Disk quotas for user samyil (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/vda1                        24          0          0          7        0        0

Всеки тип квота ви позволява да зададете както мек, така и твърд лимит. Когато потребителят надвиши мекия лимит, той е над квотата, но не прекъсва веднага записа а пише докато не завърши файла. Твърдият лимит е по-малко прощаващ: цялото създаване на нови блокове или inodes се спира веднага, когато натиснете указания твърд лимит. Системата ще се държи така, сякаш дискът е напълно без място: записът ще се провали, временните файлове няма да бъдат създадени и потребителят ще започне да вижда предупреждения и грешки.

Disk quotas for user samyil (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda1                        24       10000M     100001M          7        0        0

можем да проверим това с командата:

sudo quota -vs samyil

Има още един начин за конфигуриране на потребителска квота и това е setquota. За разлика от edquota, setquota ще актуализира информацията за квотите на нашия потребител в една команда, без интерактивна стъпка за редактиране. Ще посочим потребителското име и меките и твърди граници за квоти, базирани на блок и инод, и накрая файловата система, която да приложи квотата към:

sudo setquota -u samyil 10000M 100001M 0 0 /

За да генерирате отчет за текущото използване на квотите за всички потребители в определена файлова система, използвайте командата repquota:

sudo repquota -s /
*** Report for user quotas on device /dev/сda1
Block grace time: 7days; Inode grace time: 7days
                        Space limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --    981M      0K      0K          35234     0     0
nobody    --   7664K      0K      0K              3     0     0
ntp       --     12K      0K      0K              3     0     0
_apt      --      8K      0K      0K              2     0     0
debian    --     16K      0K      0K              4     0     0
samyil     --     24K     10000M  100001M         7     0     0

samba quota

Инсталация на samba

sudo apt-get install samba

Конфигурационен файл.

sudo nano /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = NAS
security = user
map to guest = bad user
dns proxy = no

[samyil]
path = /home/samyil
valid users = samyil
guest ok = no
writable = yes
browsable = yes

Да създадем на samba парола за потребителя

sudo smbpasswd -a samyil
New SMB password: **********
Retype new SMB password: **********
Added user samyil.

И последно да рестартираме samba за да влязат промените в сила.

sudo systemctl restart smbd.service

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This Post Has One Comment

  1. hrishticha

    Винаги съм си мислел, че квотата е едно от най трудните неща в Линукс, но по начина по който го показвате се оказва, че не е чак толкова сложно . .:)