Linux Debian Configuration
Sommaire
Nom de l'ordinateur
nano /etc/hosts 127.0.0.1 localhost 127.0.0.1 home.frogg.fr home
hostname home.frogg.fr
.profile & /etc/profile
Chaque utilisateur à un fichier .profile dans sa home les scripts dans ce fichier seront executés à chaque connexion
le fichier /etc/profile ast commun à tous les utilisateurs
par exemple:
#Time TM=`date '+%Y/%m/%d %H:%M:%S'` echo "[${TM}] ${USER} - ${SSH_CLIENT} " >> /var/log/ssh/login
va créer un fichier login avec les information de l'utilisateur connecté
CronTab
- doc
https://fr.wikipedia.org/wiki/Cron#GNU_mcron
- crontab est un fichier permettant de planifier des taches
nano /etc/crontab
- syntaxe
Minutes Hours DayOfMonth Month DayOfWeek user command
- commandes spéciales
*/2 #half timer @reboot root {command} #each reboot
- autres raccourcis
@reboot @yearly @annually @monthly @weekly @daily @midnight @hourly
Script en service
- structure obligatoire du script (même les commentaires)
#! /bin/sh
### BEGIN INIT INFO
# Provides: foobar
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: foobar
# Description: more foo for your bars
### END INIT INFO
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting foobar "
# example 1 - system service
# /usr/bin/foobar --config /etc/foo.conf start
# example 2 - run script as user
# su --login mkaz --command "/home/mkaz/bin/my-script --cmd-args"
;;
stop)
echo "Stopping foobar"
# example 1
# /usr/bin/foobar --config /etc/foo.conf stop
;;
*)
echo "Usage: /etc/init.d/foobar {start|stop}"
exit 1
;;
esac
exit 0
- copier le script dans
sudo mv foobar /etc/init.d/ # move to init.d sudo chmod 755 /etc/init.d/foobar # make executable
- mettre le script dans les scripts de démarrage
update-rc.d foobar defaults
- supprimer le script des scripts de démarrage
update-rc.d -f foobar remove
- exemple pour démarrer le service
service foobar start
IPTables
- afficher le contenu
iptables -vL -t filter
iptables -vL -t nat
iptables -vL -t mangle
iptables -vL -t raw
iptables -vL -t security
- bloquer une IP
#pour bloquer une adresse xxx.xxx.xxx.*
iptables -A INPUT -s xxx.xxx.xxx.0/24 -j DROP
#pour bloquer une adresse xxx.xxx.*
iptables -A INPUT -s xxx.xxx.0.0/16 -j DROP
#pour bloquer une adresse xxx.*
iptables -A INPUT -s xxx.0.0.0/8 -j DROP
#Avec un commentaire
iptables -A INPUT -s xxx.0.0.0/8 -j DROP -m comment --comment "your comment here"
- débloquer une IP
iptables -D INPUT -s xxx.xxx.xxx.0/24 -j DROP
Samba
installation du service
apt-get install samba
éditer la configuration
nano /etc/samba/smb.conf
#network conf workgroup = FROGGGROUP server string = %h server dns proxy = no #log files log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d #Authentication [Anonymous] # <== share name path = /opt/folder browsable =yes writable = yes guest ok = yes read only = no
redémarrer le service
service samba restart
ou
/etc/init.d/samba restart
mettre les droits
chmod -R 777 /opt/folder
SFTP Chroot
- /etc/ssh/sshd_config
PasswordAuthentication yes Subsystem sftp internal-sftp -u 0007 -f AUTH -l VERBOSE Match Group {USER} ChrootDirectory {FOLDER} ForceCommand internal-sftp -u 0007 AllowTcpForwarding no GatewayPorts no X11Forwarding no
Custom SSH
- écran de login
nano /etc/motd
de la couleur peut être ajoutée ici la liste des couleurs
- exemple:
echo -en "\033[1;32m" > /etc/motd
echo " _ __ _" >> /etc/motd
echo " ((-)).--.((-))" >> /etc/motd
echo " / '' \\" >> /etc/motd
echo " ( \______/ )" >> /etc/motd
echo " \ ( ) /" >> /etc/motd
echo " / /~~~~~~~~\ \\" >> /etc/motd
echo " /~~\/ / \ \/~~\\" >> /etc/motd
echo " ( ( ( ) ) )" >> /etc/motd
echo " \ \ \ \ / / / /" >> /etc/motd
echo " _\ \/ \.______./ \/ /_" >> /etc/motd
echo " ___/ /\__________/\ \___" >> /etc/motd
echo " ###############################" >> /etc/motd
echo -en "\033[1;42;97m" >> /etc/motd
echo -en "\e[1;42m" >> /etc/motd
echo " Welcome to Froggies' world ^_^ ! " >> /etc/motd
echo -en "\033[0m" >> /etc/motd
- changer le text utilisateur
nano /root/.bashrc (or /home/{user}/.bashrc)
editer ou modifier la ligne PS1
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;34m\][\[\033[01;91m\]\u\[\033[01;34m\]@\[\033[01;91m\]\h\[\033[01;34m\]]\[\033[01;34m\] \w\[\033[01;37m\] >'
RSA Key
- /etc/ssh/sshd_config
PasswordAuthentication yes PubkeyAuthentication yes RSAAuthentication yes
Server SMTP
- installer sendmail
apt-get install sendmail
OU
- installer exim
apt-get install exim4
Test mail
telnet 127.0.0.1 25
et copier coller the text suivant
hello frogg.fr mail from:<admin@frogg.fr> rcpt to:<to_email@frogg.fr> data From: admin@frogg.fr Subject: Ceci est un test Ceci est un test envoyé depuis linux .
le point à la fin est important, il termine le mail
PHP
mail par défaut
; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path sendmail_path = '/usr/sbin/sendmail -t -i -f admin@frogg.fr'