Linux: Administration

Commandes les plus courantes lors de l’administration de son serveur:


Voici quelques commandes qui permettent d'administrer un serveur linux



Historique de connexion sur le serveur:

last

Mysql

Mytop est un utilitaire de monitoring mysql, il suffit de l'installer pour voir ce que fait votre mysql!
mytop

Logger les requettes lentes:
Dans le fichier de conf mysql, écrire la ligne suivante, puis relancer le daemon.
log-slow-queries = /var/log/mysql/mysql-slow.log

Utilisation de la machine:

iostat

Liste des fichiers ouverts

Fichiers, ici est entendu au sens large, car cela sert aussi aux ports.
Par exemple, pour savoir quel processus occupe le port 21:
sudo lsof -n -i :21
Pour voir quels sont les fichiers ouverts par un utilisateur ou une commande:
sudo lsof -n -u USER sudo lsof -n -c COMMAND

Gestion des logins

Empecher le login ssh de root:

Dans sshd_config, mettre la valeur de PermitRootLogin à "no".

Empecher le login d’un utilisateur:

usermod -L

Autoriser le login d’un utilisateur:

usermod -U

Autoriser uniquement le login de root:

touch /etc/nologin
Le contenu de ce fichier sera affiché aux utilisateurs tentant de se connecter.

Lancer un script apres un login ssh:

Ssh peut le faire automatiquement en allant chercher le fichier $HOME/.ssh/rc S'il n'existe pas, il va chercher /etc/sshrc, qui s'applique a tout le monde ( s'il existe un repertoire /etc/ssh/ c'est la qu'il faut le placer ) Le contenu de ce fichier sera affiché aux utilisateurs tentant de se connecter.

Changer l'hostname de sa machine

Connaitre son nom d'hote:
hostname
uname -n
Connaitre son fqdn (fully qualified domain name)
hostname -f
Pour modifier son nom d'hote, i faut editer /etc/hostname et y mettre le nom de la machine SANS le domaine
ensuite selon l'os: Slackware:
hostname -F /etc/hostname
Debian:
sudo /etc/init.d/hostname.sh

Pour le fqdn, il faut editer /etc/hosts et y faire apparaitre le fqdn en face de l'ip, ex:
127.0.0.1 localhost X.X.X.X hostname hostname.domain.tld
Il faut savoir que certains logiciels utilisent /etc/mailname pour connaitre le nom de la machine.

Lancer un script apres un login ssh:

Vous pouvez, grâce à samba, contrôler les services windows directement de votre linux/Mac!

Lister les différents services
net rpc service list -I IPADDRESS -U USERNAME%PASSWORD
Arrêter un service
net rpc service stop SERVICENAME -I IPADDRESS -U USERNAME%PASSWORD
Démarrer un service
net rpc service start SERVICENAME -I IPADDRESS -U USERNAME%PASSWORD
Il faut être cependant conscient qu'un simple firewall peut empecher cette astuce de fonctionner ;)

Controler les comptes utilisateurs

Voici quelques controles utiles qui lisent le contenu d'/etc/shadow !

Mots de passe vides
awk -F: '($2 == "") {print}' /etc/shadow
Comptes avec UID root
awk -F: '($3 == "0") {print}' /etc/passwd