Κάνε εγκατάσταση τα πακέτα 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!
Σε περίπτωση μη ομαλού τερματισμού στην επανεκκίνηση θα εκτελεστεί το quota check το οποίο μπορεί να πάρει και μισή ώρα. Εάν η εγκατάσταση είναι σε εικονική μηχανή έστω με id 101 στέλνουμε τα εξής.
qm sendkey 101 ctrl-[ qm sendkey 101 ctrl-backslash
Είναι πιθανόν λόγω κάποιου απότομου τερματισμού του server να εμφανιστούν λανθασμένες ενδείξεις quota. Η διαστάυρωση μπορεί να γίνει με την εντολή ncdu που εμφανίζει την πραγματική χρήση δίσκου
Για να ανανεώσουμε τα quota files εκτελούμε
quotacheck -vbugmf --all
Ένας γρήγορος έλεγχος μπορεί να γίνει με την εντολή
repquota -a | grep '+'
Σε περίπτωση που ξεπεράσαμε το όριο χρήσης ενός χρήστη που π.χ. είναι 200MB ενώ τα προσωπικά του αρχεία δεν ξεπερνάνε τα 50 MB είναι πιθανόν κάποιες εφαρμογές να έχουν κρατήσει πολύ μεγάλο χώρο σε cache
Εάν κάνουμε login στο kde το akonadi αποθηκεύει την βάση δεδομένων του που είναι πάνω από 100 MB στον φάκελο ~/.local/share/akonadi
Θα διαγράψουμε την cache του akonadi και του nepomuk και θα αλλάξουμε τα conf αρχεία τους ώστε να μην εκκινούν.
Αρχικά δημιουργούμε ένα default conf αρχείο για το nepomuk (έστω /etc/kde4/nepomukserverrc) με περιεχόμενο
[Basic Settings] Start Nepomuk=false [Service-nepomukfileindexer] autostart=false
Σε ένα περιβάλλον με πολλούς χρήστες μπορούμε να την διαγράψουμε εκτελώντας το παρακάτω script
allusers="$(ls -d /home/* | cut -d"/" -f 3)" nepomukcache=.kde/share/apps/nepomuk akonadicache=.local/share/akonadi nepomukconf=.kde/share/config/nepomukserverrc nepomukconfdefault=/etc/kde4/nepomukserverrc akonadiconf=.config/akonadi/akonadiserverrc for usern in $allusers; do cp $nepomukconfdefault /home/$usern/$nepomukconf sed -i "s/StartServer=true/StartServer=false/g" /home/$usern/$akonadiconf rm -rf /home/$usern/$nepomukcache rm -rf /home/$usern/$akonadicache done
Αν οι χρήστες μας είναι νέοι ή δεν έχουν ακόμα συνδεθεί στο kde δεν θα έχουν αρχεία ρυθμίσεων kde οπότε η παραπάνω μέθοδος δεν θα λειτουργήσει.
Θέλουμε την 1η φορά που θα συνδεθούν στο kde να ρυθμιστεί με βάση τις παραπάνω ρυθμίσεις. Ένας τρόπος είναι να βάλουμε καθολικές ρυθμίσεις ανά pc.
Φτιάχνουμε τον εξής φάκελο.
mkdir /etc/xdg/akonadi
και εισάγουμε μέσα το αρχείο akonadiserverrc με το παρακάτω περιεχόμενο
[QMYSQL] Name=akonadi Host= StartServer=false [Debug] Tracer=null
Επίσης δημιουργούμε το αρχείο /etc/kde4/nepomukserverrc με περιεχόμενο
[Basic Settings] Start Nepomuk=false [Service-nepomukfileindexer] autostart=false
Για μείωση cache ανά pc ή ανα χρήστη http://practical-admin.com/blog/firefox-customization-file/
(βλ. 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