Innovative Open source WEB technologies for everyone

Το ιστολόγιο της IOWEB Technologies

Με νέα μας και λύσεις προβλημάτων που συναντήσαμε

Προσθήκη GIT σε περιβάλλον chroot για το PLESK 17.8.11 σε Debian Jessie 8.11

Ένα κοινό προβλημά που αντιμετωπίζουν οι χρήστες στη φιλοξενία τους είναι η έλλειψη σημαντικών εντολών όταν βρίσκονται σε περιβάλλον chroot.

Μιας και δεν επιθυμούμε οι χρήστες να έχουν root πρόσβαση στον σέρβερ αλλά θέλουμε να μπορούν να εκτελέσουν εντολές, είναι λογικό να εγκαταστήσουμε ένα περιβάλλον chroot ώστε να εμποδίσουμε τους χρήστες να προκαλέσουν ζημιά εκτός του καταλόγου ο οποίος τους έχει ανατεθεί. Επειδή όμως είναι εφικτό κάποιος να αποδράσει από το περιβάλλον chroot, καλό είναι να χρησιμοποιείται μόνο όταν εμπιστευόμαστε τους χρήστες μας και θέλουμε απλά να αποτρέψουμε ένα ατύχημα.

Αφού εγκαταστήσουμε το Plesk και ενεργοποιήσουμε το chroot για έναν συνδρομητή, ανακαλύπτουμε άμεσα ότι πολλές εφαρμογές όπως το git δεν είναι διαθέσιμες. Αυτό συμβαίνει κυρίως γιατί πολλά προγράμματα απαιτούν πρόσβαση σε συσκευές και υπηρεσίες οι οποίες γενικά δεν είναι διαθέσιμες στο chroot μιας και ξεφέυγουν από την στόχευση του περιβάλλοντος αυτού. Αλλά το να τις προσθέσουμε δεν είναι και τόσο δύσκολο.

Για παράδειγμα, δημοφιλείς αναζητήσεις είναι οι ssh, tty, urandom κ.ο.κ. Για να μας διευκολύνει το PLESK δημιούργησε ένα εργαλείο το οποίο το οποίο ονομάζεται update_chroot.sh και το οποίο μπορείται να κατεβάσετε από εδώ. Με τις επόμενες εντολές μπορείτε να προσθέσετε τις παραπάνω εντολές.

Κατεβάστε το εργαλείο στο /home ώς root και μετά εκτελέστε:

 
~/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/*
 

Μετά την προσθήκη όλων των απαραίτητων  εργαλείων θα χρειαστεί να ενημερώσετε το περιβάλλον chroot. Για παράδειγμα:

 
~/update_chroot.sh --apply ioweb.gr
 

Pro tip: Αν δεν βρίσκετε κάποια από τις εντολές δοκιμάστε με 'which <command>', π,χ, 'which tr' ή 'which basename'.

Βαθμολογήστε αυτό το άρθρο
(0 ψήφοι)

Σχετικά Άρθρα

Comments powered by CComment

ΒΡΕΙΤΕ ΜΑΣ

Επταπυργίου 149, Συκιές
ΤΚ: 56626
Θεσσαλονίκη

Τηλ: 2314012823


ΩΡΕΣ ΛΕΙΤΟΥΡΓΙΑΣ

Δευτέρα-Παρασκευή: 9:00 – 17:00

Search