Ένα πραγματικά κοινό πρόβλημα που επηρεάζει τους χρήστες στα περιβάλλοντα φιλοξενίας τους είναι η έλλειψη δημοφιλών εντολών σε περιβάλλον chroot.
Εφόσον δεν θέλετε οι χρήστες σας να έχουν πρόσβαση root στον διακομιστή σας, αλλά θέλετε να μπορούν να εκτελούν εντολές φλοιού, είναι λογικό να ρυθμίσετε ένα chroot jail. Σε αυτήν τη ρύθμιση έχετε ασφαλίσει τον διακομιστή σας από τον χρήστη σας, καθώς δεν μπορούν να βλάψουν κανένα δέντρο καταλόγου εκτός από αυτό που του έχει εκχωρηθεί. Θα πρέπει να σημειωθεί, ωστόσο, ότι είναι δυνατό να ξεφύγετε από μια φυλακή chroot, αλλά είναι κάτι παραπάνω από επαρκής προστασία από ακούσια ζημιά. Επομένως, θα πρέπει να το χρησιμοποιείτε όταν εμπιστεύεστε τους χρήστες σας.
Αφού ρυθμίσετε το PLESK και ενεργοποιήσετε το chroot για έναν συνδρομητή, θα διαπιστώσετε γρήγορα ότι πολλά προγράμματα όπως το git δεν είναι διαθέσιμα. Αυτό οφείλεται κυρίως στο γεγονός ότι πολλά προγράμματα απαιτούν πρόσβαση σε συσκευές και υπηρεσίες που γενικά δεν είναι διαθέσιμες, καθώς είναι εκτός του πεδίου εφαρμογής του chroot. Η προσθήκη τους δεν είναι τόσο δύσκολο.
Για παράδειγμα, δημοφιλείς αναζητήσεις είναι οι ssh, tty, urandom κ.ο.κ. Για να μας διευκολύνει το PLESK δημιούργησε ένα εργαλείο το οποίο το οποίο ονομάζεται update_chroot.sh και το οποίο μπορείται να κατεβάσετε από εδώ. Με τις επόμενες εντολές μπορείτε να προσθέσετε τις παραπάνω εντολές.
~/update_chroot.sh --add ssh
~/update_chroot.sh --devices tty
~/update_chroot.sh --devices /dev/urandom
Στο άρθρο αυτό επικεντρωνόμαστε στο GIT. Οι παρακάτω εντολές μας επιτρέπουν να το προσθέσουμε:
mkdir -p /var/www/vhosts/chroot/usr/share/git-core/templates
cp -raL /usr/share/git-core/templates/ /var/www/vhosts/chroot/usr
/share/git-core/templates
~/update_chroot.sh --add /usr/bin/tr
~/update_chroot.sh --add /usr/bin/git
~/update_chroot.sh --add /usr/bin/dirname /usr/bin/wc /usr/bin/perl
/usr/bin/tput /usr/bin/basename
~/update_chroot.sh --add /usr/bin/git*
~/update_chroot.sh --add /usr/lib/git-core/*
cp -raL /usr/lib/git-core/* /var/www/vhosts/chroot/usr/lib/git-core/
Μετά την προσθήκη όλων των απαραίτητων εργαλείων θα χρειαστεί να ενημερώσετε το περιβάλλον chroot. Για παράδειγμα:
~/update_chroot.sh --apply ioweb.gr