Catégorie : Linux

9 février 2017 /

Par défaut, Centos reçoit sa configuration TCP/IP par le DHCP de votre réseau.
Pour modifier cela et lui donner une adresse ip statique, il suffit de reproduire ces différentes étapes:

On commence par éditer le fichier correspondant à notre interface (ici eth0), /etc/sysconfig/network-scripts/ifcfg-eth0 :

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="dhcp"
NM_CONTROLLED="yes"
ONBOOT="no"
TYPE="Ethernet"

On va modifier et ajouter des paramètres de cette façon:

DEVICE=eth0 #Nom de l'interface
BOOTPROTO=static #Passe en mode static au lieu DHCP
NM_CONTROLLED=no #Pas de contrôle via NetworkManager
IPADDR=10.148.14.8 #Adresse IP de la machine
GATEWAY=10.148.14.1 #Passerelle, si non définie dans le fichier /etc/sysconfig/network
NETMASK=255.255.255.0 #Masque
BROADCAST=192.168.0.255 #Adresse de diffusion, optionnel.
NETWORK=192.168.0.0 #Réseau, optionnel.
HWADDR=AA:BB:CC:DD:EE:FF #Adresse MAC de la carte, optionnel.
ONBOOT=yes #Activation l'interface au boot
DNS1=8.8.8.8 #Spécifie l'adresse du serveur DNS primaire, optionnel.
DNS2=8.8.4.4 #Spécifie l'adresse du serveur DNS secondaire, optionnel.
PEERDNS=yes #Inscris la valeur des paramètres DNS1 et DNS2 dans /etc/resolv.conf, optionnel.
TYPE=Ethernet #Type de connexion (IPsec, Ethernet, Wireless), optionnel.

Pour info, il n’est pas obligatoire de spécifier le réseau ou l’adresse de diffusion, car cela est fait automatiquement par ipcalc.

Nous allons également modifier les paramètres généraux du système:

vi /etc/sysconfig/network

NETWORKING=yes # Active le réseau
HOSTNAME=starmate #Nom de la machine
NETWORKING_IPV6=no #Désactivation de l'ipv6
GATEWAY=192.168.0.1 #Passerelle, si non définie dans la configuration de la carte.

 

Puis on va définir le DNS dans /etc/resolv.conf, (si non défini dans la configuration de la carte) :

> /etc/resolv.conf
vi /etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4

Il ne nous reste plus qu’a redémarrer le service réseau de CentOS:

service network restart

8 février 2017 /

Par défaut, Ubuntu reçoit sa configuration TCP/IP par le DHCP de votre réseau.
Pour modifier cela et lui donner une adresse ip statique, il suffit de reproduire ces différentes étapes:

On commence par éditer le fichier /etc/network/interfaces :

vi /etc/network/interfaces

#Loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto ens160
iface ens160 inet dhcp

On va modifier (ou ajouter si absente) la partie correspondant à notre interface (ici ens160) de cette façon:

# The primary network interface
auto ens160
#iface ens160 inet dhcp
iface ens160 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 8.8.8.8 8.8.4.4

Si votre version d’Ubuntu est inférieur à 14.04, il faudra plutôt définir le DNS dans /etc/resolv.conf:

vi /etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4

Ensuite on retire l’adresse que le DHCP nous a fourni via cette commande:

ip addr flush ens160

Il suffit maintenant de redémarrer notre interface réseau pour recharger la configuration.

ifdown ens160
ifup ens160

Si cela ne fonctionne pas, redémarrez votre machine!

12 décembre 2016 /

Pour voir la quantité de Ram physique installé sur un Solaris:

prtconf | grep Memory

Memory size: 15872 Megabytes

ou

prtdiag | grep Memory


Memory size: 15872 Megabytes
======================= Physical Memory Configuration ========================

14 novembre 2016 /

Le Domain Name System (ou DNS, système de noms de domaine) est un service permettant de traduire un nom de domaine en informations de plusieurs types qui y sont associées, notamment en adresses IP de la machine portant ce nom.

BIND (pour Berkeley Internet Name Daemon, ou parfois Berkeley Internet Name Domain) est le serveur DNS le plus utilisé sur Internet, spécialement sur les systèmes de type UNIX et est devenu de facto un standard. La première version de BIND a été conçue par quatre étudiants diplômés de l’Université de Californie (Berkeley) sur la base du système d’exploitation BSD 4.3

Nous allons installer Bind sur un serveur CentOS 6.5 (configuration également testée sur un CentOS7 avec succès) nommé dns, ayant pour adresse IP 10.148.14.36 et pour domaine starmate.fr.

Installation:

yum -y install bind bind-utils

On modifie la configuration DNS du système pour que les requêtes DNS se fassent désormais vers le DNS local, pour cela on modifie le paramètre « nameserver » du fichier resolv.conf:

vi /etc/resolv.conf

search starmate.fr
nameserver 127.0.0.1
nameserver 10.148.14.36

On va maintenant configurer la zone.
La mise en place d’une zone, aussi appelé nom de domaine, se fait par la création d’un fichier dans /var/named/.
Ce fichier contiendra l’ensemble des enregistrements DNS du domaine. Ce sont ces informations qui seront envoyées lors d’une requête DNS. Ils donnent notamment les adresses IP de plusieurs services, les IP des sous-domaines, machines, le TTL, etc…

Pour une zone starmate.fr :

vi /var/named/starmate.fr.db

Et on mets ça dedans:

$TTL 604800
@ IN SOA dns.starmate.fr. root.starmate.fr. (
2 ; Serial
3600 ; Refresh [1h]
600 ; Retry [10m]
86400 ; Expire [1j]
600 ) ; Negative Cache TTL [1h]
;
@ IN NS dns.starmate.fr.
dns.starmate.fr. IN A 10.148.14.36

On créer la configuration de la zone inversé:

vi /var/named/10.148.14.zone.db

Et on y met ca:

$TTL 604800
@ IN SOA dns.starmate.fr. root.starmate.fr. (
2 ; Serial
3600 ; Refresh [1h]
600 ; Retry [10m]
86400 ; Expire [1j]
600 ) ; Negative Cache TTL [1h]
;
@               IN      NS      dns.starmate.fr.
36              IN      PTR     dns.starmate.fr.

il faut maintenant inclure cette zone dans la liste des domaines de bind

On va commencer par sauvegarder le fichier de configuration initial:

cp -p /etc/named.conf /etc/named.conf.sav

On va vider le fichier:

> /etc/named.conf

Maintenant le fichier est sauvegardé et vidé de son contenu, on y ajoute ça:

vi /etc/named.conf

options
{
directory "/var/named"; // "Working" directory
dump-file "data/cache_dump.db";
statistics-file "data/named_stats.txt";
memstatistics-file "data/named_mem_stats.txt";

listen-on port 53 { any; };
//listen-on port 53 { 127.0.0.1; };

listen-on-v6 port 53 { any; };
//listen-on-v6 port 53 { ::1; };

allow-query { any; };
allow-query-cache { any; };

recursion yes;

};

logging
{
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

view "internal"
{
match-clients { localnets; };
recursion yes;

zone "." IN {
type hint;
file "/var/named/named.ca";
};

include "/etc/named.rfc1912.zones";

zone "starmate.fr" {
type master;
file "starmate.fr.db";
};

zone "14.148.10.in-addr.arpa" {
type master;
file "10.148.14.zone.db";
};
};

On vérifie que l’on a pas fait d’erreur de syntaxe:

named-checkzone starmate.fr /var/named/starmate.fr.db
named-checkzone starmate.fr /var/named/10.148.14.zone.db

Si pas d’erreur, on redémarre le service:

service named restart

Pour CentOS6, voici les règles iptables pour ouvrir le port DNS qu’il faut ajouter dans /etc/sysconfig/iptables :

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

Ou via la commande iptables directement:

iptables -t filter -A OUTPUT -p tcp –dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp –dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp –dport 53 -j ACCEPT

Pour CentOS7, le mieux est de passer par la commande firewall-cmd:

firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload

Vérification de la résolution depuis un autre poste:

dig @10.148.14.36 dns.starmate.fr +short

10.148.14.36

Dig nous a bien retourné l’adresse IP correspondante au nom dns, « dns.starmate.fr »

Vérification de la résolution inversée depuis un autre poste:

dig @10.148.14.36 -x 10.148.14.36 +short

dns.starmate.fr.

Dig nous a bien retourné le nom DNS de la machine ayant l’adresse IP, « 10.148.14.36 »

7 novembre 2016 /

La commande sudo  permet de fournir à un utilisateur de confiance, un accès avec privilèges sur un système, sans avoir à partager le mot de passe de l’utilisateur root.

Lorsque les utilisateurs ayant des droits sudo, précèdent une commande administrative avec sudo, ils sont invités à entrer leur mot de passe. Une fois authentifié, et en supposant que la commande est autorisée, la commande administrative est exécutée comme si elle est exécutée par l’utilisateur root.

On commence en éditant le fichier /etc/sudoers via la commande visudo:

visudo

On cherche les lignes qui donne le droit sudo au utilisateur du groupe Wheel:

## Allows people in group wheel to run all commands
# %wheel        ALL=(ALL)       ALL

Cette ligne de configuration demandera un mot de passe lors de l’appel de sudo

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

Cette ligne de configuration ne demandera pas de mot de passe lors de l’appel de sudo

On supprime le croisillon de la ligne « #%wheel ALL….  » souhaitée pour activer la configuration voulue.

Une fois que l’on a utilisé sudo dans un terminal, on dispose de 20 minutes pour utiliser sudo avec d’autres commandes, sans que la console nous redemande un mot de passe. Pour passer de 20 minute à une journée (en minute):

Defaults env_reset,timestamp_timeout=1440

Pour une durée illimitée, on met « -1 » :

Defaults env_reset,timestamp_timeout=-1

Puis on sauvegarde et on quitte visudo.
Il ne nous reste plus qu’a ajouter l’utilisateur voulu au groupe wheel.

Pour cela nous éditons le fichier /etc/group :

vi /etc/group

Et nous ajoutons le login de l’utilisateur (ici antoine) à qui l’on donne le droit sudo directement dans le groupe wheel:

root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
lp:x:7:daemon
mem:x:8:
kmem:x:9:
wheel:x:10:starmate,antoine
mail:x:12:mail,postfix
uucp:x:14:

Antoine peut maintenant utiliser sudo pour exécuter des commandes comme si il était connecté en root.

Quelques règles de sécurité

Pour empêcher sudo d’agir ailleurs qu’en mode console, il faut déclarer le paramètre suivant dans le fichier /etc/sudoers lors de son édition avec visudo :

Defaults requiretty

Pour enregistrer dans un fichier de logs spécifique, les actions effectuer via sudo  :

Defaults log_host,log_year,logfile="/var/log/sudoers"

Il peut être également utile de bloquer certaine commande comme « su« , « passwd« , « bash » ou encore « sh« , pour cela il suffit de faire précéder la commande à bloquer par un point d’exclamation « !« .
Dans ce cas, nous allons directement déclarer l’utilisateur, ici Antoine, pour lui donner les droits sudo dans le fichier sudoers (donc sans passer par le groupe wheel) de cette façon, via visudo:

antoine ALL=(ALL) ALL,!/bin/su,!/usr/bin/passwd,!/bin/bash,!/bin/sh

Ce qui aura pour résultat:

sudo su

Sorry, user antoine is not allowed to execute '/bin/su' as root on Centos_server.