Κάνε εγκατάσταση τα πακέτα quota και acl.
aptitude install quota acl
Άλλαξε το /etc/fstab για την κατάτμηση που θέλεις να ενεργοποιηθεί όριο χρήσης δίσκου (quota).
Εάν έχεις και άλλες κατατμήσεις linux, δοκίμασε εκεί το όριο χρήσης δίσκου αφού λάθη στην προσάρτηση της ριζικής κατάτμησης δεν θα σου επιτρέψουν να επαννεκινήσεις το σύστημα.
Για journalled quota (αν υποστηρίζεται από τον kernel)
/dev/hda5 / reiserfs defaults,acl,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 1
Για απλό quota
/dev/hda5 / reiserfs defaults,acl,usrquota,grpquota 0 1
Προσοχή : Εάν είναι η ριζική κατάτμηση, η /var ή κάποια άλλη κρίσιμη, κάνε επανεκκίνηση ως single-user.
Εάν έχουμε ήδη ενεργοποιημένα quotas σε μια άλλη κατάτμηση (π.χ. / )μπορούμε να τα απενεργοποιήσουμε προσωρινά εκτελώντας την quotaoff. Π.χ.
quotaoff /
Στην συνέχεια εκτελούμε
quotacheck -vcugm /home
Εάν είναι η πρώτη φορά που ενεργοποιούμε θα μας εμφανιστούν μηνύματα προειδοποίησης για το ότι δεν υπάρχει προηγούμενο αρχείο quota. Είναι φυσιολογικά
quotacheck: Scanning /dev/sda5 [/home] done quotacheck: Cannot stat old user quota file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος quotacheck: Cannot stat old group quota file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος quotacheck: Cannot stat old user quota file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος quotacheck: Cannot stat old group quota file: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος quotacheck: Checked 32303 directories and 263923 files quotacheck: Old file not found. quotacheck: Old file not found.
Ενεργοποιούμε τα quotas σε όλες τις κατατμήσεις
quotaon -avug
Επανεκκινούμε επίσης την υπηρεσία και ελέγχουμε για μηνύματα λάθους
/etc/init.d/quota restart
Δοκιμάζουμε να εμφανίσουμε τα όρια χρήσης δίσκου όλων των χρηστών με την εντολή
repquota -a
Εναλλακτικά βλέπε και εδώ για αρχικοποίηση quota
Για να αλλάξεις τα όρια χρήσης δίσκου ενός χρήστη εκτέλεσε
edquota -u testuser
Για να εμφανίζουμε quotas για διαμοιραζόμενους φακέλους samba
smbcquotas -L /sambahost/profiles
Αφού οριστεί όριο χρήσης δίσκου για κάποιον χρήστη, μπορούμε να το αντιγράψουμε σε ένα σύνολο χρηστών, π.χ. αυτούς με UID πάνω από 1000 ως εξής:
edquota -p testuser `awk -F: '{if ( $3 >1000) print $1}' /etc/passwd`
Για να ορίσεις προκαθορισμένα όρια δίσκου για τους νέους χρήστες με βάση τα όρια δίσκου ενός χρήστη π.χ. με id 1001, άλλαξε το αρχείο /etc/adduser.conf ως εξής:
QUOTAUSER="1001"
Τα όρια χρήσης δίκου είναι ορίζονται ξεχωριστά για κάθε κατάτμηση
Για να δοκιμάσεις τα acl μπες σε έναν φάκελο στον οποίο είναι ενεργοποιημένα quotas
cd /root ls /root >ls.txt ls -l total 4 -rw-r--r-- 1 root root 64 Dec 8 15:19 ls.txt
Εκτέλεσε τώρα την παρακάτω εντολή
getfacl ls.txt
Θα εμφανιστεί κάτι ανάλογο με
# file: ls.txt # owner: root # group: root user::rw- group::r-- other::r--
Δημιούργησε δικαιώματα για έναν υπάρχοντα χρήστη π.χ. testuser
setfacl -m testuser:rw ls.txt
Για να δούμε αν δημιουργήθηκαν
getfacl ls.txt # file: ls.txt # owner: root # group: root user::rw- user:testuser:rw- group::r-- mask::rw- other::r--
Εάν έχεις παρόμοια αποτελέσματα σημαίνει ότι λειτουργούν κανονικά τα acl!
Σε περίπτωση που ξεπεράσαμε το όριο χρήσης ενός χρήστη που π.χ. είναι 200MB ενώ τα προσωπικά του αρχεία δεν ξεπερνάνε τα 50 MB είναι πιθανόν κάποιες εφαρμογές να έχουν κρατήσει πολύ μεγάλο χώρο σε cache
Εάν κάνουμε login στο kde το akonadi αποθηκεύει την βάση δεδομένων του που είναι πάνω από 100 MB στον φάκελο ~/.local/share/akonadi
Σε ένα περιβάλλον με πολλούς χρήστες μπορούμε να την διαγράψουμε εκτελώντας το παρακάτω script
for usern in $(ls -d /home/* | cut -d"/" -f 3); do if [ -e /home/$usern/.local/share/akonadi ]; then echo "Deleting akonadi from user $usern"; rm -rf /home/$usern/.local/share/akonadi; fi; done
Επειδή το akonadi θα ξαναδημιουργήσει τα αρχεία αυτά, ίσως αναγκαστούμε να αφαιρέσουμε την δυνατότητα σύνδεσης στο kde απεγκαθιστώντας το.
aptitude remove akonadi-server
Η εντολή αυτή θα αφαιρέσει στην ουσία και τα βασικά πακέτα του kde
(βλ. http://kb.mozillazine.org/Urlclassifier2.sqlite)
Στον firefox υπάρχει πέρα από την cache του και ένα αρχείο βάση δεδομένων που περιέχει γνωστά phishing sites. Παρόλο που για είναι πολύ καλό για λόγους ασφαλείας δεσμεύει χώρο πάνω από 30MB. Ακόμα και να διαγραφεί ξαναδημιουργείται όταν ξαναξεκινήσει ο firefox.
Για την απενεργοποίησή του πηγαίνουμε Προτιμήσεις / Ασφάλεια και ξετσεκάρουμε τις επιλογές Φραγή σελίδων που έχουν αναφερθεί ως κακόβουλες, Φραγή σελίδων που έχουν αναφερθεί ως πλαστές
Κλείνουμε τον firefox
Διαγράφουμε το αρχείο ~/.mozilla/firefox/*/urlclassifier3.sqlite
rm ~/.mozilla/firefox/*/urlclassifier3.sqlite
επανεκκινούμε τον firefox. Το αρχείο δεν θα μεγαλώσει πλέον
Σε ένα περιβάλλον με πολλούς χρήστες μπορούμε να την διαγράψουμε εκτελώντας το παρακάτω script
for usern in $(ls -d /home/* | cut -d"/" -f 3); do if [ -e /home/$usern/.mozilla/firefox/*/urlclassifier3.sqlite ]; then echo "Deleting urlclassifier3.sqlite from user $usern"; rm -f /home/$usern/.mozilla/firefox/*/urlclassifier3.sqlite; fi; done
Θα χρειαστεί όμως κάθε χρήστης να συνδεθεί στον firefox και να κάνει τις αλλαγές που προαναφέρθηκαν στις Ρυθμίσεις στην καρτέλα Ασφάλεια
Για τους νέους χρήστες μπορούμε να κάνουμε την παραπάνω ρύθμιση σε έναν χρήστη π.χ. template και να ορίσουμε την δημιουργία των νέων χρηστών με βάση αυτόν, τροποποιώντας το αρχείο /etc/adduser.conf, αλλάζοντας την παρακάτω γραμμή
SKEL=/home/template