Linux
De TARENTINO
Révision datée du 17 octobre 2020 à 11:26 par Ange (discussion | contributions)
Array
Sommaire
Scripts
Installation
1 #!/bin/bash
2 if [ ! -d "/root/.config" ]; then
3 mkdir /root/.config
4 fi
5 if [ ! -d "/root/.config/nautilus" ]; then
6 mkdir /root/.config/nautilus
7 fi
8 if [ ! -f "/root/.Xauthority" ]; then
9 touch /root/.Xauthority
10 fi
11 DATE_NOW=`date +"%Y%m%d_%H%M%S"`
12 logs="/root/Logs_Install.txt"
13 rm -f $logs
14 touch "$logs"
15
16 # Repository
17 echo "Installation Repository" | tee -a "$logs"
18 add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe" -y | tee -a "$logs"
19 apt-add-repository 'deb http://liveusb.info/multisystem/depot all main' -y | tee -a "$logs"
20 z="unit193/encryption yannubuntu/boot-repair gwendal-lebihan-dev/cinnamon-stable simonschneegans/testing twodopeshaggy/jarun pmcenery/ppa gezakovacs/ppa"
21 IFS=" "
22 for i in $(echo "$z")
23 do
24 echo "--------------------------> $i" | tee -a "$logs"
25 ii=$(echo "$i" | cut -d "/" -f1)
26 ok=$(ls /etc/apt/sources.list.d/*$ii2>/dev/null)
27 if [ "$ok" == "" ]; then
28 echo "On installe $i dans les sources" | tee -a "$logs"
29 add-apt-repository ppa:$i -y | tee -a "$logs"
30 else
31 echo "$result déjà dans les sources" | tee -a "$logs"
32 fi
33 done
34 if [ "$(which aptitude)" == "" ]; then
35 apt-get install aptitude -y | tee -a "$logs"
36 fi
37 if [ "$(which snapd)" == "" ]; then
38 aptitude install snapd -y | tee -a "$logs"
39 fi
40 if [ "$(which snapd-xdg-open)" == "" ]; then
41 aptitude install snapd -y | tee -a "$logs"
42 fi
43 sudo apt update | tee -a "$logs"
44 z="unetbootin libcanberra-gtk-module libcanberra-gtk3-module synaptic cairo-dock gparted apturl fonts-symbola boot-repair chrome-gnome-shell brasero gpaint lmms vim veracrypt zram-config whois filezilla fslint openssh-client openssh-server multisystem testdisk rawtherapee darktable nmon iftop iptraf-ng glances fdupes rmlint gimp net-tools preload prelink localepurge xdotool phototonic nemo nemo-fileroller clamav imagemagick gnome-pie graphviz ffdiaporama findimagedupes wine chrome-gnome-shell rox-filer cifs-utils mount.cifs xclip lynx adobe-flashplugin ubuntu-restricted-extras adobe-flash-properties-gtk dos2unix googler python-flask numlockx xbindkeys xvkbd"
45 IFS=" "
46 for i in $(echo "$z")
47 do
48 echo "--------------------------> $i" | tee -a "$logs"
49 if [ "$(which ${i})" == "" ]; then
50 echo "On installe $i" | tee -a "$logs"
51 aptitude install "$i" -y | tee -a "$logs"
52 else
53 echo "$result déjà installé" | tee -a "$logs"
54 fi
55 done
56 sudo apt -f install -y
57 sudo apt-get update -y
58 sudo service zram-config start
59 # APTURL
60 logs="/root/Logs_Install.txt"
61 z="nautilus-emblems flashplugin-installer xmacro pcmanfm dconf-editor bleachbit gwenview pcmanfm synfig synfigstudio"
62 IFS=" "
63 for i in $(echo "$z")
64 do
65 echo "--------------------------> $i" | tee -a "$logs"
66 if [ -z $(which $i) ];then
67 retour=$(dpkg -l | grep "$i" )
68 if [ "$retour" == '' ]; then
69 echo 'KO, On installe' | tee -a "$logs"
70 i='apt://'$i
71 apturl "$i" &
72 sleep 2
73 xdotool keydown key Tab
74 sleep 2
75 xdotool key Return
76 sleep 7
77 else
78 echo 'OK, Installe' | tee -a "$logs"
79 fi
80 else
81 echo 'OK, Installe' | tee -a "$logs"
82 fi
83 done
84
85 # SNAP
86 echo "********" | tee -a "$logs"
87 echo "SNAP *" | tee -a "$logs"
88 echo "********" | tee -a "$logs"
89 sudo snap install notepad-plus-plus | tee -a "$logs"
90 sudo snap connect notepad-plus-plus:process-control | tee -a "$logs"
91 sudo snap connect notepad-plus-plus:removable-media | tee -a "$logs"
92 sudo snap connect notepad-plus-plus:hardware-observe | tee -a "$logs"
93 sudo snap connect notepad-plus-plus:cups-control | tee -a "$logs"
94 echo "--" | tee -a "$logs"
95
96 # WGET
97 echo "********" | tee -a "$logs"
98 echo "WGET *" | tee -a "$logs"
99 echo "********" | tee -a "$logs"
100 wget -P /tmp -q http://liveusb.info/multisystem/depot/multisystem.asc -O- | sudo apt-key add -
101 cd /tmp; apt-get --assume-yes install multisystem -y; cd -
102 z="https://download.teamviewer.com/download/linux/teamviewer_amd64.deb http://launchpadlibrarian.net/109052632/python-support_1.0.15_all.deb http://launchpadlibrarian.net/206807840/python-glade2_2.24.0-4ubuntu1_amd64.deb https://launchpad.net/disk-manager/1.1/1.1.1/+download/disk-manager_1.1.1-1_all.deb"
103 reps="/root"
104 IFS=" "
105 for i in $(echo "$z")
106 do
107 echo "--------------------------> $i" | tee -a "$logs"
108 occ=$(occurences "$i" "/" d | cut -d" " -f2-)
109 occ=$(echo $occ | cut -d" " -f2-)
110 occ2=$occ
111 occ=$(echo "$(echo "$occ" | cut -d" " -f3)" | sed 's/....$//' | cut -d"_" -f1)
112 echo "--------------- ($occ2)" | tee -a "$logs"
113 if [ -z $(which "$occ") ];then
114 retour=$(dpkg -l | grep "$occ")
115 if [ "$retour" == '' ]; then
116 echo 'KO, On installe' | tee -a "$logs"
117 #wget -P /tmp "$i" | tee -a "$logs"
118 wget -P "$reps" "$i" | tee -a "$logs"
119 encoursdpkg=$(ps -edf | grep dpkg | grep -v grep)
120 while [[ $(ps -edf | grep dpkg | grep -v grep) != "" ]]
121 do
122 echo "dpkg en cours...."
123 done
124 dpkg -i "$reps/${occ2}" | tee -a "$logs"
125 ls -l "$reps/${occ2}"
126 else
127 echo 'OK, Installe' | tee -a "$logs"
128 fi
129 else
130 echo 'OK, Installe' | tee -a "$logs"
131 fi
132 done
133 rm -f "$reps/${occ2}"
134 rm -f "$reps/${occ2}.?"
135 apt -f install
136 apt-get update
137
138 # Divers
139 echo "**********" | tee -a "$logs"
140 echo "Divers *" | tee -a "$logs"
141 echo "**********" | tee -a "$logs"
142 cp -v /usr/share/applications/cairo-dock.desktop /home/a/.config/autostart/cairo-dock.desktop | tee -a "$logs"
143 sed -i 's/PRELINKING=unknown/PRELINKING=yes/' /etc/default/prelink
144 echo 'DPkg::Post-Invoke {"echo Pré-raccordement des bibliothèques en cours, veuillez patienter...;/etc/cron.daily/prelink";}'|tee -a /etc/apt/apt.conf.d/98prelink
145 xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search
146 sed -i "/^# deb .*partner/ s/^# //" /etc/apt/sources.list
147 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
148 chmod a-w /etc/ssh/sshd_config.original
149 echo >> /home/$user/.bashrc
150 echo export LS_OPTIONS='--color=auto' >> /home/$user/.bashrc
151 #echo eval "`dircolors`" >> /home/$user/.bashrc
152 echo alias ls='ls $LS_OPTIONs' >> /home/$user/.bashrc
153
154 # EXTENSIONS FIREFOX
155 firefox "https://addons.mozilla.org/fr/firefox/addon/video-downloadhelper/" &
156 firefox "http://get.adobe.com/fr/flashplayer/about/" &
157 firefox "https://www.mozilla.org/fr/firefox/new/?scene=2" &
158 firefox "https://nautilus-image-converter.fr.uptodown.com/ubuntu/telecharger" &
159 firefox "http://blog.roozeec.fr/2007/09/05/tagphoto-script-nautilus-pour-mettre-date-et-heure-sur-vos-photos/" &
160 firefox "https://addons.mozilla.org/fr/firefox/addon/bookmark-dupes/" &
161 echo "**********************" | tee -a "$logs"
162 echo "EXTENSIONS FIREFOX *" | tee -a "$logs"
163 echo "**********************" | tee -a "$logs"
164 z="https://addons.mozilla.org/firefox/downloads/file/744266/video_downloadhelper-6.3.3-fx.xpi https://addons.mozilla.org/fr/firefox/addon/adblock-plus"
165 reps="/root"
166 cd $reps
167 IFS=" "
168 for i in $(echo "$z")
169 do
170 wget "$i"
171 /usr/bin/firefox -install-global-extension "$i"
172 done
173 cd -
174 exit 0
175 #
176 #FLASH
177 # URLs
178 #
179 # SAUVEGARDES
180 #
181 #
182 #
183 # UTILISATEUR
184 #
185 #
186 #
187 # DESINSTALLATIONS
188 #
189 # Dans le cas où le Pc n est pas un portable, désactivation de la gestion des touches bleus.
190 #
191 #sudo update-rc.d -f hotkey-setup remove
192 #
193 #Batterie
194 #
195 #sudo update-rc.d -f laptop-mode remove
196 #
197 #Gestion du Raid
198 #
199 #sudo update-rc.d -f mdadm remove
200 #sudo update-rc.d -f mdadm-raid remove
201 #
202 #Modem
203 #
204 #sudo update-rc.d -f dns-clean remove
205 #
206 # Redémarrage des services
207 #
208 #sudo systemctl restart sshd.service
209 #
210 # COMPLEMENTS
211 #
212 #Avec une clé SSH, effectuer en plus...
213 #
214 #Générer une clé
215 # ssh-keygen -t rsa
216 #Copier le fichier id_rsa.pub sur l'hôte distant et l'ajouter à ~/.ssh/authorized_keys
217 # ssh-copy-id identifiant@hôte
218 #
219 #sed -i 's/geteuid/getppid/' /usr/bin/vlc
220 #
221 #sudo apt-get update
222 #sudo apt-get upgrade
223 #sudo apt-get install libimobiledevice-utils
224 #idevicepair unpair
225 #idevicepair pair
226 #idevicepair validate
227 #
228 # Fond d'ecran en terminal:
229 #http://www.billyboylindien.com/ubuntu/ubuntu-devilspie.html
230 #https://www.torproject.org/fr/download/
231 #
232 # APT
233 #
Mémoriser et utiliser les mots de passe de connexion ssh
- Il est quelques fois ennuyeux de chercher les mots de passe et d'avoir à les entrer à chaque connexion.
- Ce script permet pour chaque user de les mémoriser dans un fichier de façon cryptée afin de pouvoir les exploiter en ligne de commande via la variable $crypt
- Les mots de passe ainsi mémorisés n’apparaîtront pas dans le "history"
- Même si un pirate prend possession d'un compte en local, il ne pourra jamais voir ces mots de passe
- La sécurité est sur plusieurs niveaux:
- machine utilisée
- user
- session utilisée
- clé
- nom du mot de passe
- Pour qu'un pirate exploite le mot de passe, il lui faudra pour cela avoir le même ordinateur avec le même compte que celui qui a enregistré le mot de passe, connaître la clé et le nom du mot codé et le faire sur la même session que celle utilisée pour le mot de passe.....
Prérequis (non obligatoire mais conseillé)
- Installer le package sshpass
Code
1 #!/bin/bash
2 # **** 0 Decrypt ****
3 # cryptmot 0 nom_de_cryptage <clé de decryptage>
4 # => va demander une clé si pas de clé entrée
5 # => donne variable crypt
6 # **** 1 Crypt ****
7 # cryptmot 1 nom_de_cryptage <mot a crypter>
8 # => va demander une clé
9 # => voir pour mettre en cache
10 # **** 2 List ****
11 # cryptmot 2
12 # => va afficher la liste de tous les cryptages effectués
13 # => affichage simplement des noms de cryptage
14 #
15 # La clé est simplement le mot de passe de l'utilisateur
16 # Lors de la saisie du mot de passe, l'affichage ne se fait pas
17 #
18 p=$1
19 DATE_NOW=`date +"%Y%m%d_%H%M%S"`
20 export crypt=''
21 ############################################
22 # On regarde si les paquets sont installés #
23 ############################################
24 p="mcrypt"
25 if [[ -z $(which "$p") ]]; then
26 retour=$(apt-cache policy "$p" | grep -s "Installé\|Installed")
27 if [[ "$retour" == '' ]]; then
28 echo "On installe...."
29 sudo aptitude install "$p" -y
30 fi
31 fi
32 ##################################################
33 # On vérifie si le répertoire de cryptage est là #
34 ##################################################
35 r="$HOME/.wmcpt"
36 if [[ ! -d "$r" ]]; then
37 echo "On créé le répertoire...."
38 mkdir "$r"
39 fi
40 #########
41 # START #
42 #########
43 if [[ "$1" != '2' ]]; then
44 if [[ "$1" == '' ]]; then
45 exit 1
46 fi
47 if [[ "$1" != '0' ]] && [[ "$1" != '1' ]]; then
48 exit 1
49 fi
50 if [[ "$1" == '1' ]] && [[ "$2" == '' ]]; then
51 exit 1
52 fi
53 if [[ "$1" == '0' ]] && [[ "$2" == '' ]]; then
54 exit 1
55 fi
56 else
57 ####################################
58 # 2 Affichage des noms de cryptage #
59 ####################################
60 ls ~/.wmcpt
61 exit 0
62 fi
63 #############
64 # 0 Decrypt #
65 #############
66 # cryptmot 0 nom_du_cryptage <clé de decryptage>
67 if [[ "$1" == '0' ]]; then
68 if [[ "$3" == '' ]]; then # on demande la clé de décryptage
69 echo "Entrer la clé de decryptage (ne s'affichera pas)"
70 stty -echo
71 read cle
72 stty echo
73 else
74 cle=$3
75 fi
76 export crypt=$(cat ${r}/"$2" | mdecrypt -q -k ${cle})
77 fi
78 ###########
79 # 1 Crypt #
80 ###########
81 # cryptmot 1 nom_du_cryptage <mot_a_crypter> <clé de decryptage>
82 if [[ "$1" == '1' ]]; then
83 FC="/tmp/${DATE_NOW}.tmp"
84 if [[ "$3" == '' ]]; then # on demande le mot à crypter
85 echo "Entrer le mot à crypter (ne s'affichera pas)"
86 stty -echo
87 read mot
88 stty echo
89 else
90 mot=$3
91 fi
92 echo $mot > $FC
93 if [[ "$4" == '' ]]; then # on demande la clé de décryptage
94 echo "Entrer la clé de cryptage (ne s'affichera pas)"
95 stty -echo
96 read cle
97 stty echo
98 else
99 cle=$3
100 fi
101 cat "$FC" | mcrypt -q -k ${cle} > ${r}/"$2"
102 rm -f "$FC"
103 fi
Fonctionnement
- Dans un premier temps, il faut mémoriser les mots de passe à utiliser dans un fichier, tout sera crypté.
- Chaque mot de passe sera enregistré avec un nom et une clé qui diffère selon les utilisateurs.
