Cream
Cream is an advanced text editor, created on top of Vim, and works on Windows, Linux and FreeBSD. As of the latest update of this document (see bottom of page for date), the code commits suggest that the project has been abandoned.
See Also
/etc/sysconfig/iptables
Το αρχείο κανόνων του iptables
.
Παραδείγματα
Πρόσβαση ιστού
Μετά την εγκατάσταση κάποιου εξυπηρετητή ιστού (Apache, Lighttp, κλπ)
πρέπει να ανοίξετε την θύρα στην οποία «ακούει» ο εξυπηρετητής. Από
προεπιλογή είναι η 80. Ο πιο κάτω κανόνας στο αρχείο /etc/sysconfig/iptables
ανοίγει την πρόσβαση στη θύρα 80, ανεξάρτητα από την IP που ζητά πρόσβαση:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Απομακρυσμένη πρόσβαση (ssh)
Για να επιτρέψετε την απομακρυσμένη πρόσβαση από οποιαδήποτε IP, μπορείτε να χρησιμοποιήσετε τον ίδιο κανόνα με το προηγούμενο παράδειγμα, αλλάζοντας απλά τον αριθμό της θύρας σε 22 (προεπιλεγμένη θύρα για το ssh). Για περισσότερη ασφάλεια, μπορείτε να περιορίσετε τις διευθύνσεις IP που θα έχουν δικαίωμα ssh στο σύστημα:
-A INPUT -m state --state NEW -m tcp -p tcp --source 192.168.0.0/16 --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j DROP
Στο πιο πάνω παράδειγμα, ο πρώτος κανόνας επιτρέπει την πρόσβαση σε οποιαδήποτε IP ξεκινά από «192.168», και την απαγορεύει σε οποιαδήποτε άλλη.
Αποτροπή αποστολής email
Αν δεν θέλετε οι χρήστες του συστήματος να στέλνουν email από το σύστημα, μπορείτε να απαγορεύσετε την έξοδο της θύρας 25:
-A OUTPUT -p tcp -m tcp --sport 25 -j DROP
Ταξινόμηση φακέλων κατά μέγεθος
Μια εντολή για ταξινόμηση των φακέλων κατά μέγεθος στο Bash:
du -hsm | sort -n
Υπολογίζει το μέγεθος όλων των φακέλων σε MegaBytes και τους ταξινομεί σε αύξουσα σειρά μεγέθους. Μια διαφορετική εκδοχή:
du -s * | sort -n | cut -f 2 | xargs -d "\n" du -chs
Καλεί δύο φορές το du
, την πρώτη για να πάρει τη λίστα με τους
φακέλους και το μέγεθος (σε bytes). Ταξινομεί αριθμητικά, και μετά πασάρει τη
λίστα με τα ονόματα μόνο των φακέλων -αυτή τη φορά ταξινομημένη κατά μέγεθος-
ξανά στο du
. Η επιλογή -d "\n"
του xargs
καθορίζει το delimiter. Αν παραληφθεί, οι φάκελοι στον οποίων το όνομα
περιέχονται διαστήματα θεωρούνται πολλαπλά ορίσματα.
Εγκατάσταση Apache, MySQL και PHP σε Fedora 16
Βήματα για εγκατάσταση της στοίβας λογισμικού LAMP σε Fedora 16.
/etc/my.cnf
Το αρχείο /etc/my.cnf
περιέχει τις ρυθμίσεις του MySQL Server.
Παράδειγμα αρχείου με τις προεπιλεγμένες ρυθμίσεις, από σύστημα με Centos 4 και MySQL Server 4:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Διαχείριση χρηστών στην MySQL
Μερικές εντολές για διαχείριση χρηστών στο διαδραστικό περιβάλλον γραμμής εντολών της MySQL 5.
Δημιουργία χρήστη
Στη γραμμή εντολών της MySQL:
create user 'username'@'localhost' identified by 'password';
Διαγραφή χρήστη
Αν ο χρήστης διαγραφεί απλά με:
delete from mysql.users where User='username';
τότε μετά δεν επιτρέπεται η δημιουργία του ξανά, εκτός και αν γίνει:
flush privileges;
Καθορισμός δικαιωμάτων
Καθορισμός δικαιωμάτων του χρήση σε συγκεκριμένη βάση/πίνακες:
grant all privileges on database.table to 'username'@'localhost';
Το database.table μπορεί να είναι database.*
για όλους τους πίνακες στη
database ή *.*
για όλους τους πίνακες σε όλες τις βάσεις.
Αν χρησιμοποιείτε τον ίδιο χρήστη για πολλές βάσεις δεδομένων, μπορείτε να δείτε τι δικαιώματα έχει σε κάθε μία εκτελώντας:
show grants for 'username'@'localhost';
Αλλαγή συνθηματικού
SET PASSWORD FOR 'username'@'localhost' = PASSWORD('new-password');
Σημειώσεις για την MySQL 4
Η MySQL 4 δεν υποστηρίζεται πλέον, όμως πολλοί εξυπηρετητές την έχουν
εγκατεστημένη για λόγους συμβατότητας με παλιές εφαρμογές. Σε αυτή την έκδοση,
η δημιουργία του χρήστη και η απόδοση δικαιωμάτων γίνεται σε ένα βήμα, απλά με
την εντολή GRANT
. Για παράδειγμα, η ακόλουθη εντολή ταυτόχρονα δημιουργεί
τον χρήστη αν αυτός δεν υπάρχει, και του δίνει όλα τα δικαιώματα πάνω στη βάση
δεδομένων database
:
grant all privileges on database.* to 'username'@'localhost' identified by 'password';
Εγκατάσταση Guake σε CentOS6
Το Guake είναι ένα μικρό εργαλείο το οποίο κάθεται στην περιοχή ειδοποιήσεων του GNOME2 (ή του GNOME3 με Fallback), και ανοίγει το τερματικό μόνο με την πίεση του πλήκτρου F12. Το βρίσκω εξαιρετικά χρήσιμο εργαλείο, και το έχω εγκατεστημένο σε όλα μου τα συστήματα.
getfacl
Μερικά συστήματα αρχείων όπως τα ext2, ext3, ext4, ReiserFS, JFS, XFS,
υποστηρίζουν τον ορισμό επιπλέον ιδιοτήτων-δικαιωμάτων πρόσβασης στα
αρχεία, τα οποία λειτουργούν ως λίστες ελέγχου πρόσβασης (Access
Control Lists). Στα συστήματα αυτά, η εντολή getfacl
δείχνει αυτά τα
δικαιώματα ανά χρήστη.
Σε ένα αρχείο στο οποίο δεν έχουν οριστεί κανόνες ACL επιπλέον από τα
απλά δικαιώματα πρόσβασης, το αποτέλεσμα της getfacl
είναι αντίστοιχο
με την έξοδο της ls -l
:
{% highlight bash %} $ ls -l route.pdf -rw-rw-r-- 1 mariosz mariosz 6619763 Sep 21 16:30 route.pdf $ getfacl route.pdf
file: route.pdf
owner: mariosz
group: mariosz
user::rw- group::rw- other::r-- {% endhighlight %}
Αν σε αυτό το αρχείο οριστούν δικαιώματα ACL, τότε πλέον αλλάζουν τα αποτελέσματα και των δύο εντολών, και το αρχείο συμπεριφέρεται διαφορετικά:
{% highlight bash %} $ setfacl -m user:another:r-- route.pdf
$ ls -l route.pdf -rw-rw-r--+ 1 mariosz mariosz 6619763 Sep 21 16:30 route.pdf
$ getfacl route.pdf
file: route.pdf
owner: mariosz
group: mariosz
user::rw- user:another:r-- group::rw- mask::rw- other::r-- {% endhighlight %}
Εγκατάσταση Apache, MySQL και PHP σε Ubuntu 10.10
Βήματα για εγκατάσταση της στοίβας λογισμικού σε Ubuntu 10.10:
Εγκατάσταση Apache 2
sudo apt-get install apache2
Εγκατάσταση PHP 5
sudo apt-get install php5
Σε προηγούμενες εκδόσεις του Ubuntu χρειαζόταν ξεχωριστά και εγκατάσταση του libapache2-mod-php5, το οποίο πλέον εγκαθίσταται αυτόματα μαζί με την PHP.
Εγκατάσταση MySQL
sudo apt-get install mysql-server
Κατά τη διάρκεια της εγκατάστασης θα ζητηθεί το συνθηματικό του root, του προεπιλεγμένου χρήστη της MySQL.
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql