Linux: Administration
Commandes les plus courantes lors de l’administration de son serveur:
Voici quelques commandes qui permettent d'administrer un serveur linux
- Changer l'hostname de sa machine
- Mysql
- Utilisation de la machine
- Liste des fichiers ouverts
- Gestion des logins
- Lancer un script apres un login ssh
- Historique de connexion sur le serveur
- Controler les services windows via Samba
- Controler les mots de passe utilisateurs vides
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 :21Pour voir quels sont les fichiers ouverts par un utilisateur ou une commande:
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/nologinLe 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:hostnameConnaitre son fqdn (fully qualified domain name)
uname -n
hostname -fPour 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/hostnameDebian:
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.tldIl 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%PASSWORDIl 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