Linux Debian Configuration

De FroggDev - Fr
Aller à : navigation, rechercher
Debian Logo

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'