Archives mensuelles : juillet 2018


[Postgresql] : changer des tables de schéma

Les imports de bases se passent plus ou moins comme l’on veut. Par exemple, si on restaure des datas dans une base différente ou si on créé la base morceau par morceau (structure, user…), vous pouvez vous retrouver avec les tables de votre applis situées dans le schéma « public ». Pas forcément ce que l’on recherche. Bien souvent on créé un schéma spécifique pour chaque application.

Comment réaffecter toutes les tables du schéma « public » dans un autre schéma ?

Pas très compliqué, pour une table :

ALTER TABLE public.nommatable SET SCHEMA monschema;


Pour une seule table pas de problème. Mais pour toutes les tables ?

DO
$$
DECLARE
	row record;
BEGIN
	FOR row IN SELECT tablename FROM pg_tables WHERE schemaname = 'public' -- and other conditions, if needed
	LOOP
		EXECUTE 'ALTER TABLE public.' || quote_ident(row.tablename) || ' SET SCHEMA monschema;';
	END LOOP;
END;
$$;
animal big elephant endangered

Photo by Anthony on Pexels.com

Cette fonction/procédure permet donc de lister toutes les tables puis de lancer une boucle sur celle-ci en faisant le ALTER TABLE SET SCHEMA.


Commandes linux en vrac #1

# Créer une ligne de commentaires dans votre historique

comment() { echo "" >/dev/null; }

# Se rendre dans un répertoire et afficher son contenu aussitôt

ct() {cd $1; tree -L 2}

# Etendre son historique à 10000 lignes

export HISTSIZE=10000

# Lancer la dernière commande en sudo

sudo !!

#Changer l’éditeur par défaut

update-alternatives --config editor

#Ouvrir rapidement un nouveau fichier

Ctrl+x +e

# Lancer une commande à minuit

echo "ls -larth" | at midnight

# Monter un filesystem derrière un ssh

sshfs user@serveur:/rep/source/ /rep/dest/

# Fermer votre shell et laisser tous les processus tourner

disown -a && exit

[Linux] : iptables les principales commandes à retenir pour votre firewall

La sécurité revient à la mode en ce moment sur les machines. ipTables est un des principaux firewall sur Linux. Voici quelques commandes essentielles à connaître :

1- Lister les règles de filtrage (entrées ou sorties)

iptables -L -n -v

Un classique qui permet de lister les règles aussi bien sortantes que entrantes. L pour lister, n pour afficher les ip numériques et v pour verbeux.

2- Supprimer toutes les règles (pas très conseillé)

iptables -F

F : flush toutes les règles iptables

3- Lister avec les numéros de ligne

iptables -L --line-number

Une bonne manière pour faciliter la lecture.

4- Supprimer la règle par son numéro de ligne

iptables -D INPUT 4

On supprime la règles entrante numéro 4. Attention, les numéros sont identiques pour entrants et sortants.

5- Ajout d’une règle ACCEPT entrante

iptables -A INPUT -s 172.20.10.5 -j ACCEPT

-A : pour ajouter une règle
-s : ip ou masque à appliquer
-j : type d’action
ACCEPT : autoriser

6- Drop sur l’interface publique

iptables -A INPUT -i eth1 -s 193.180.0.0/24 -j DROP

Sous réserve que eth1 soit votre interface publique, on drop tout le lan ayant pour masque 193.180.0.0. (avec le slash 24)

Pour un port particulier, on peut ajouter –dport et le numéro du port

7- Sauvegarder les règles

service iptables save

A réaliser pour que les règles soient permanentes.

7- Pour logger spécifiquement certains paquets

iptables -A INPUT -i eth1 -s 193.180.0.0/24 -j LOG --log-prefix "DROP de 193.180: "

8- Limiter le nombre de connexions en parallèle

-m connlimit --connlimit-above 3

Limite à 3 connexions (en spécifiant le port c’est préférable).

9- Faire de la redirection de port

--dport 80 -j REDIRECT --to-ports 8080

On redirige le port 80 en 8080

silhouette of a man in window

Photo by Donald Tong on Pexels.com