Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



Sony Vaio VGN-FZ31M

Le tableau suivant récapitule la prise en charge du matériel de portable par les différentes versions d'Ubuntu. Il utilise les notations suivantes :

  • Fonctionne après config : Fonctionne après quelques manipulations
  • Fonctionne immédiatement : Fonctionne immédiatement
  • Pas testé : Pas d'informations disponibles
  • Ne fonctionne pas : Ne fonctionne pas
Version Installation Carte graphique Son Wifi Bluetooth Webcam
8.04 LTS (Hardy Heron) Fonctionne immédiatement Fonctionne immédiatement Fonctionne après config Fonctionne immédiatement Fonctionne immédiatement Fonctionne après config
8.10 (Intrepid Ibex) Fonctionne immédiatement Fonctionne immédiatement Fonctionne après config Fonctionne immédiatement Fonctionne immédiatement Fonctionne après config
9.04 (Jaunty Jackalope) Fonctionne immédiatement Fonctionne immédiatement Fonctionne après config Fonctionne immédiatement Fonctionne immédiatement Fonctionne après config

Utilisateurs du Wiki possédant cet ordinateur, fonctionnel :

Cet ordinateur portable n'est à priori pas tatoué.

Rien de particulier à signaler tout se déroule normalement.

Post - Installation

A la fin de l'installation voici la liste de ce qui fonctionne out-of-the-box et que j'ai pu tester :

  • Wifi
  • Réseau ethernet
  • Lecteur de carte sd
  • Firewire

Ce qui ne fonctionne pas ou partiellement mais qui est facilement configurable :

  • Mise en veille / Hibernation
  • Webcam
  • Prise mini jack pour casque
  • Luminosité de l'écran
Si vous ne maîtrisez pas le déplacement de dossier en dossier en console je vous conseille d'installer ce paquet:Installez les paquets apt://nautilus-open-terminal .

Ca vous simplifiera énormément la vie à chaque fois que je vous demanderai d'aller dans un dossier pour réaliser une compilation ou autre chose en console il vous suffira de vous rendre dans le dossier en question avec nautilus(l'explorateur de fichier) puis de faire un clic droit et de sélectionner ouvrir dans un terminal dans le menu contextuel de nautilus

La mise en veille & l'Hibernation

Pour permettre la mise en veille et l'hibernation sans problème, c'est très simple il suffit de rajouter une ligne dans un fichier de configuration.

On tape cette commande dans un terminal pour accéder au fichier en question.

sudo gedit /etc/pm/config.d/unload_modules

On rajoute cette ligne, on sauvegarde et on ferme l'éditeur de texte.

SUSPEND_MODULES=uvcvideo

Et voilà c'est tout pour la mise en veille et l'hibernation.

La webcam

On attaque par le plus gros morceau la webcam qui empêche la mise en veille et l'hibernation.(qui l'empêchait en tout cas sur hardy)

Pour la webcam il va d'abord falloir installer quelque paquets pour pouvoir compiler, c'est très basique dans ce cas ci.

Installez les paquets apt://build-essential apt://libusb-dev apt://libglib2.0-dev .

Ensuite aller chercher la dernière version du firmware à cette adresse : ahixon. Une fois que c'est fait il faut extraire l'archive (clique droit dans nautilus (l'explorateur de fichier) → extraire ici).

Dans le dossier que vous venez d'ouvrir il y a un fichier qui s'appelle README il reprend toute l'installation en cas de doute reportez vous à lui.

Pour compiler on va ouvrir une console (Application → Accessoire → Terminal). Ensuite on se déplace jusque dans le dossier dans lequel on a extrait le contenu de l'archive. Il doit s'appeller r5u87x. Pour se déplacer jusque dans se dossier on tape:

$cd le_chemin_jusqu'au_dossier_sans_espace

Une fois que vous êtes dans le bon dossier un simple make suffit

$make

Maintenant avant d'installer définitivement le programme dans le système je vous suggère de tester qu'il fonctionne effectivement. Pour vérifier qu'il fonctionne on fait

$sudo ./loader
$sudo modprobe -r uvcvideo     //on décharge le module uvcvideo 
$sudo modprobe uvcvideo        //pour le recharger ensuite afin qu'il prenne en compte le firmware que lancer avec le loader

installez le paquet apt://cheese pour tester la webcam. Attention il est dans les dépots universe. Si quand vous démarrer cheese tout se passe bien vous pouvez lancez

$make rules
$sudo make install
Attention : A chaque fois que l'ordinateur sera éteint puis rallumé, il faudra recharger le loader.

prise mini-jack

Pour que le son ne sorte pas exclusivement des baffles intégré mais qu'il puisse aussi être redirigé dans des écouteurs par exemple. Il suffit de rajouter un ligne dans un fichier de configuration. Pour se faire il faut être en root , nous passerons donc par la console pour plus de simplicitée.

$sudo gedit /etc/modprobe.d/alsa-base.conf

On rajoute la ligne

options snd-hda-intel model=vaio

A la fin du fichier ensuite on enregistre. Au prochain redémarrage tout sera rentré dans l'ordre.

réglage de la luminosité de l'écran

Le réglage de la luminosité de l'écran ne fonctionne à ma connaissance qu'avec le pilote propriétaire d'nvidia il faudra donc l'installer pour pouvoir profiter de cette option. (système > Administration > pilote de périphérique).

Une fois que le pilote nvidia est installé on va chercher la dernière version du projet nvclock.nvclock Actuellement c'est la 0.8beta4.

On décompresse l'archive et on installe les paquets nécessaire à la compilation si ils ne sont pas encore installé.

Installez les paquets apt://build-essential .

En console on se déplace jusque dans le dossier qui contient nvclock.

$cd le/chemin/jusqu'au/dossier/sans/espace

Toute les instructions précises sont dans le README. Les voici répétées mais en cas de problème référez-vous aux README.

./autogen.sh
make
make install

Si tout s'est bien déroulé en faisant

nvclock -h

en console vous devriez voir s'afficher toute les possibilitées de contrôle d'nvclock.

Celle qui nous intéresse est l'option -S

nvclock -S -10 // on diminue la luminosité de 10%
nvclock -S +10 // on augmente la luminosité de 10%
nvclock -S un nombre compris entre 15 et 100 par palier de 5 // pour fixer directement la luminosité à une valeur précise

Personnellement pour ne pas à avoir à utiliser la console à chaque fois que je veux changer de luminosité je me suis créer deux petit lanceur sur mon tableau de bord. Un pour augmenter la luminositée par palier de 10 et un pour la diminuer.

Pour créer les deux lanceurs on fait un clic droit sur le bureau et on sélectionne créer un lanceur. Une petite boite de dialogue apparais. On laisse le type application, on mais ce qu'on veut comme titre, pour la commande on met nvclock -S -10 dans l'un et nvclock -S +10 dans l'autre. Le commentaire correspond à ce qui sera afficher lors du survol par la souris. J'ai même sélectionner une petite icône pour symboliser la diminution et l'augmentation de la luminosité de l'écran.

Pour finir j'ai déplacé c'est deux lanceur dans mon tableau de bord. Et voilà il ne reste plus qu'a cliquer dessus.

Simon Debaecke v1.1 Exercices Administration Système Partitions (Fabrizio)  Il existe 2 manières de créer des utilisateurs : - -  adduser useradd en mode admin suivi de passwd LOGIN afin d’y changer le mot de passe. Manipulations de partitions : df permet d'afficher les partitions présentes. fdisk –l permet le contrôle des partitions du système. fdisk /dev/sdb permet de créer une nouvelle partition et de la configurer. mkfs /dev/sdb1/ ou mkswap /dev/sdb2 permet de formater la partition. Commandes afin de monter la partition et de déplacer le /home : - telinit 1  mode restreint, home non monté - mkdir /mnt/new_home  créer le point de montage - mount /dev/hda2 /mnt/new_home  monter la partition qui recevra le futur /home - cp -a /home/. /mnt/new_home/  copier /home/ sur la nouvelle partition. - mv /home /home_old  renommer /home pour garder une sauvegarde en cas de problème - mkdir /home  créer le nouveau répertoire /home qui sera le nouveau point de montage - umount /mnt/new_home  démonter /dev/hda2 pour pouvoir le remonter après modification du fstab - Ajouter dans /etc/fstab : /dev/sdb1 /home ext2 defaults 0 2 /dev/sdb2 none swap sw 0 0 swap on permet d’activer l’espace swap. Page 1 Simon Debaecke v1.1 Exercices Administration Système SSH (Simon)  Descriptions du protocol SSH : SSH (ou Secure SHell) est un protocole servant à créer une connexion sécurisée entre deux systèmes. Le protocole de connexion impose un échange de clés de chiffrement en début de connexion. Par la suite toutes les trames sont chiffrées. Il devient donc impossible d'utiliser un sniffer pour voir ce que fait l'utilisateur. Un serveur peut aussi tirer parti du protocole SSH, particulièrement s'il exécute de nombreux services. Si vous utilisez la retransmission de port, des protocoles normalement non sécurisés (comme POP par exemple) peuvent être chiffrés et envoyés en toute sécurité à des ordinateurs distants. Il est relativement facile avec SSH de crypter différents types d'informations échangées lors des communications qui sont habituellement envoyées de manière non sécurisée sur les réseaux publics.  Empêcher les clients de se connecter au root : Dans etc/ssh/sshd_config : - - Il faut changer "PermitRootlogin Yes" par "PermitRootlogin No" afin d’obliger un attaquant éventuel à trouver un nom d'utilisateur existant pour se connecter. "PasswordAuthentication No" permet d’indiquer qu’un client peut se connecter sans mot de passe. /etc/init.d/ssh restart permet de redémarrer ssh pour prendre en compte les modifications.  Configuration de connexion : ssh-keygen -t dsa (digital secure algorithm) permet de générer les clés sécurisées dans ~/.ssh : - - clé privée = isa_dsa clé publique= isa_dsa.pub Il faut ensuite transmettre la clé publique depuis la machine cliente et l'ajouter au fichier .ssh/authorized_keys du serveur SSH distant : ssh-copy-id -i .ssh/id_dsa.pub user1@172.16.88.132 ssh user1@172.16.88.132 permet de se connecter au server SSH distant Page 2 Simon Debaecke  v1.1 Exercices Administration Système Étapes permettant d'établir une connexion sécurisée sans mot de passe entre un client et un serveur ssh : CLIENT SERVEUR demande de connexion renvoie une clef publique renvoie sa clef de chiffrement (chiffrée avec la clef publique grâce à la méthode de chiffrement). décryptage du message Echange avec une chiffrement d'une clef symétrique.  Encryptions avec clef publique, déchiffrement avec clef privée. Page 3 Simon Debaecke v1.1 Exercices Administration Système Sécurité (Julien)  Description : Sudo est un programme conçu pour permettre à un administrateur système de donner des privilèges root limités à des utilisateurs et de mettre en journal l'activité root. La philosophie première est de donner aussi peu de privilèges que possible mais tout en permettant aux personnes de faire leur travail.  Journal des tâches exécutées précédemment par « sudo » : L'ensemble des actions exécutées à travers l'utilitaire sudo – qu'elles s'accomplissent avec succès ou échec – sont journalisées. Elles sont inscrites dans le fichier de journal /var/log/auth.log.  Il existe 3 manières d'exécuter des commandes en mode privilégié : - login root  Aucun contrôle de qui fait quoi mais possibilité d'empêcher les logins root distants. - /bin/su  Savoir quel est l'utilisateur qui a pris la personnalité ou les droits de l'administrateur puisque on peut loguer les connexions réussies ou ratées. - -  sudo  On log toutes les commandes et connexions. visudo permet d’éditer le fichier de configuration /etc/sudoers dans lequel les autorisations

de sudo sont définies.

Contenu du fichier /etc/sudoers : À la fin du fichier, ajoutez une ligne d'instruction telle que la suivante : identifiant ALL = commande, autrecommande identifiant représente un identifiant utilisateur du système Ubuntu. Un seul identifiant doit être précisé par ligne. ALL désigne la ou les machines dans lesquelles les commandes suivantes sont autorisées ou refusées pour cet utilisateur ou de groupe d'utilisateurs. Le mot-clé ALL désigne l'ensemble des machines de Page 4 Simon Debaecke v1.1 Exercices Administration Système votre parc informatique. Dans le cadre d'une utilisation à domicile, laisser ALL n'est pas un inconvénient. Dans un grand parc d'entreprise, de meilleures stratégies sont à prévoir. commande et autrecommande représentent des commandes pouvant être exécutées par l'utilisateur ou le groupe d'utilisateurs désigné en début de ligne : - Les commandes précédées d'un point d'exclamation (!) sont refusées, alors que celles sans point d'exclamation sont autorisées. - Les commandes multiples sont séparées par une virgule, sans espace. - Les commandes doivent être entrées de manière exactes. Pour cette raison, préférez saisir des chemins absolus vers des commandes plutôt que des chemins relatifs (par exemple, /usr/sbin/update-manager plutôt que update-manager). Toutes les machines Exécuter n’importe quelle commande (root ALL = (ALL) ALL) Droits de n’importe quel user  Ce fichier précise donc quelles commandes peuvent être utilisées par quels utilisateur avec les privilèges de quel utilisateur.  Automatisation Il existe plusieurs dossiers contenant des tâches exécutées par les crons dans lesquels il suffit d'ajouter le script : /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly et /etc/cron.monthly soit respectivement les scripts exécutés chaque heure, chaque jour, chaque semaine et chaque mois. Cependant, il est possible de vouloir lancer des tâches à des moments plus précis. Pour cela, il faut créer un fichier respectant la syntaxe de crontab dans /etc/cron.d/, qui contiendra lui-même une commande ou qui exécutera un autre fichier. Il est aussi possible de créer des tâches pour un utilisateur en particulier. Il faut alors éditer le fichier crontab de l'utilisateur. La configuration de cron se fait via des fichiers au format crontab, il existe un fichier par utilisateur (root est aussi un utilisateur). L'administrateur disposera donc de plusieurs solutions : - édition du fichier utilisateur au format crontab Page 5 Simon Debaecke v1.1 Exercices Administration Système - -  ajout d'un fichier au format crontab dans le dossier /etc/cron.d ajout du script (exécutable) dans un des dossiers cités précédemment. Contrôle du système : - find / -type f -perm -4000 permet d'afficher tous les fichiers du système dont le suid est à on. - find / -type f -perm -2000 permet d'afficher tous les fichiers du système dont le guid est à on. - find / -type f -perm -1000 permet d'afficher tous les fichiers du système dont le sticky bit est à on. - find / -type d -perm 006 permet de lister l'ensemble des fichiers et répertoires du système qui sont accessibles en lecture-écriture par le groupe Autres. La liste obtenue avec cette commande sera comparée à une liste de référence pour détecter les changements intervenus. Page 6 Simon Debaecke v1.1 Exercices Administration Système NFS (Cédric & Nicolas) Network File System (ou NFS, système de fichiers en réseau) est un protocole développé par Sun Microsystems qui permet de partager des espaces de stockage entre plusieurs ordinateur avec un démon appelé nfsd basé sur les RPC (Remote Procedure Call). Pour utiliser les RPC, NFS à besoin de portmap. RPC peut changer de port a chaque redémarrage. Avant d'accéder au serveur, le client doit donc demander à portmap le port du RPC.  Partage de la partition /home : La liste des répertoires partagés et le nom des machines qui y ont accès ainsi que les paramètres d'exportation sont définit dans le fichier /etc/exports du serveur. On y ajoute : /home *(ro, async, root_squash) - Le paramètre * désigne tous les ordinateurs clients (on peut bien sur préciser un client directement avec son adresse ip ou dns). - L'option ro indique que les fichiers sont accessibles en read-only. - L’opiton wo indique que les fichiers sont accessibles en write-only. - L'option rw indique que les fichiers sont accessibles en lecture et en écriture. - L'option async indique que le serveur peut répondre à la requête d'un autre poste client avant d'avoir écrit sur un disque les données de la précédente requête, ce qui le rend très attractif mais peut provoquer des corruptions de données en cas d'arrêt brutal. - L'option sync impose d'effectuer les écritures avant de répondre à une requête, ce qui assure l'intégrité des données, mais peut allonger le temps de réponse. - L'option no_root_squash (par défaut) c'est l'inverse de root_squash. Ce dernier force le montage à être fait sous l’identité nobody et non pas par root. Ne pas oublier de valider la syntaxe du fichier grâce à exportfs –a Il faut aussi redémarrer le serveur pour prendre en compte les modifications : /etc/init.d/nfs-kernel-server restart Page 7 Simon Debaecke v1.1 Exercices Administration Système /etc/init.d/nfs-user-server restart si c'est le serveur NFS en espace utilisateur qui est installé.  Montage de répertoire partagé client sur serveur NFS : mkdir /home/nfsmount (/ ! \ « point de montage pas optimum » ???) permet de créer le point de montage. mount -t nfs 172.16.88.219:/home /home/nfsmount/ permet de monter le répertoire partagé.  Montage de répertoire partagé client sur serveur NFS en automatique : On rajoute au fichier /etc/fstab : 172.16.88.219:/home /home/nfsmount/ nfs defaults, user 0 0 Page 8 Simon Debaecke v1.1 Exercices Administration Système Backup (Mike S. & Sebastien)  Politique de backup des données critiques : Un backup consiste en une récupération de versions antérieures de fichiers. - Quoi ? /etc pour les données système. /home pour les données utilisateurs. - Où ? L'idéal serait de faire le backup sur un autre disque, d'une autre machine dans un autre lieu. Ainsi, on ne perd pas d'office les données en cas d'incendie, de crash disque, d'endommagement du matériel, … du serveur. - Quand ? Il est nécessaire d'effectuer des sauvegardes complètes régulièrement de /etc plusieurs fois par semaine. On doit combiner cela avec des sauvegardes incrémentales (ne sauvegarde que ce qui a changé) et différentielles (cette sauvegarde ne s'occupe que de ce qui a changé depuis la dernière sauvegarde complète seulement) plus fréquentes, à savoir plusieurs fois par jour. Afin de faire attention au plantage lors des backups, il est nécessaire que toutes les sauvegardes aient la date en titre. - Comment ? Grâce à la commande tar, le couteau suisse de la sauvegarde. À partir d'un fichier archive, la commande tar est capable de restaurer des fichiers ou des arborescences de fichiers. Syntaxe de tar : tar -paramètres opérande1(archive.tar) opérande2(cible) Le paramètre -c signifie 'create' et indique qu'on veut créer une sauvegarde. Le paramètre -v signifie 'verbose' : "Output the name of each file preceded by the function letter". Le paramètre -f signifie 'file' : on doit assembler l'archive dans un fichier. Le paramètre -z permet de profiter de la compression GNU des données, pour réduire la place occupée par ces dernières. Page 9 Simon Debaecke v1.1 Exercices Administration Système Pour restaurer le répertoire que l'on vient de sauvegarder, on se place d'abord dans / (racine) puis : tar -xvzf /emplacement_archive/archive.tar.gz home/ Le paramètre -x exprime qu'on extrait un fichier pour le restaurer. N.B. : Une archive tar contient le chemin absolu des fichiers sauvegardés. Pensez donc, avant de restaurer quoi que ce soit, à vous placer dans le répertoire /(racine) de votre système. Dans le cas contraire, le fichier sera restauré à partir du répertoire courant. Si on veut regarder le contenu d'une archive.tar sans en extraire quoi que ce soit, on fait : tar -tf /emplacement_archive/archive.tar Le paramètre -t permet de lister le contenu de l'archive. Syntaxe de la commande dump : dump 0uf /backup/backup.bck / 0 signifie qu'on fait un backup total et 9 un backup incrémental. f indique le fichier dans lequel se fait le backup. u ajoute la date de backup. Syntaxe de la commande restore : restore -rf /backup/backup.bck r signifie qu'on rebuild le file system. f donne le fichier source.  Si on utilise tar les backups incrémentaux sont plus compliqués à restaurer car il faut restaurer chaque backup incrémental dans l'ordre.  Automatisation des sauvegardes : Pour automatiser le backup, on utilise crontab (fichier qui contient les données du demon cron). crontab -e permet d’ouvrir le fichier. Il faut ajouter les lignes : 0 0 * * 7 ./backup 9 (pour l'incrémental, tous les dimanches) 0 0 1 * * ./backup 0 (pour le total, tous les 1er du mois) Le format est le suivant : mm hh jj MMM JJJ cmd Page 10 Simon Debaecke v1.1 Exercices Administration Système Quota (Christine, Julie & Jonathan)  Description : Les quotas permettent de maîtriser l'utilisation de l'espace disque. C’est une technique qui permet de contrôler le système de fichiers sur l’espace utilisé ou le nombre de fichiers. Un quota est une limite d’espace de fichiers pour un utilisateur ou groupe d'utilisateur à ne pas dépasser. Il existe 2 limites : - La limite douce qui indique la quantité maximale d'espace qu'un utilisateur peut occuper sur le système de fichiers. Quand la limite est atteinte, l'utilisateur reçoit un message d'avertissement. S'il y a une limite de temps et qu'il l'a dépassée tout en continuant à dépasser la limite indiquée par le quota, alors le système lui imposera une limite dure. - La limite dure : limite absolue. l'utilisateur ne peut la dépasser sinon l'écriture lui devient interdite. Il est à noter qu’il ne faut jamais mettre de quota sur la partition principale surtout si c’est la seule existante.  Implémentation : - Pour appliquer des quotas, il faut éditer le fichier /etc/fstab - Ajoutez l'option usrquota (pour un utilisateur) ou/et grpquota (pour un groupe) sur la ou les lignes des points de montage pour lesquels vous souhaitez appliquer des quotas : /dev/sdb2 /home ext2 defaults,usrquota 0 0 - Placez-vous ensuite à la racine du point de montage pour lequel vous avez spécifié l'option quota et créez un fichier nommé quota.user si vous avez ajouté l'option usrquota (ou/et un fichier nommé quota.group si vous avez ajouté l'option grpquota). Placez-vous dans la racine /home et tapez : touch aquota.user - Modifiez ses droits pour qu'il ne puisse être modifié que par le root : chmod 600 aquota.user (ou chmod 600 grpquota) - Relancez le programme quota par /etc/init.d/quota restart - Remontez le /home pour prendre en considération les modifications du fichier fstab : Page 11 Simon Debaecke v1.1 Exercices Administration Système mount -o remount /home - Créez le sytème de quota : quotacheck -aum (a = tous les files system, u = user, m = ne pas remonter la partition) - Activez les quotas : # quotaon -a - Si vous souhaitez appliquer des quotas pour un utilisateur, tapez : edquota -u nom-de-l'utilisateur (ou # edquota -g nom-du-groupe pour les groupes). - En plus de définir des limites, vous pouvez accorder un délai aux utilisateurs qui atteindront leurs limites maximales afin qu'ils puissent régulariser leur situation, sauvegarder certains fichiers et en éliminer d'autres pour faire de la place. Pour cela, utilisez l'option -t associée à la commande edquota. Le délai s'appliquera à tous les utilisateurs et à tous les groupes. Tapez : # edquota -t - Désactivation des quotas : quotaoff -a Si un utilisateur veut connaitre ses quotas, il peut faire : quota -v  Tests : su USERNAME permet de se connecter en tant que cet utilisateur. Il faut alors créer un fichier pour vérifier les quotas : dd if=/dev/zero of=fout count=5000 Si l'utilisateur/groupe a un délai, on réitère l'opération après cette limite hard maximum. repquota –a permet d’afficher tous les quotas courants. - - - - -a pour voir les quotas définis sur tous les systèmes de fichiers. -u pour voir les quotas définis pour les utilisateurs. -g pour voir les quotas définis pour les groupes. -v pour le mode verbeux qui fournit plus d'informations. Page 12 Simon Debaecke v1.1 Exercices Administration Système Samba (Julien)  Description : Samba est un outil de partage de dossiers et d'imprimantes d’un serveur linux avec les ordinateurs d'un réseau Microsoft Windows. Le protocole de communication utilisé est smb (Server Message Block). Le fonctionnement de samba est conforme au schéma client-serveur. Les démons constituant le serveur : - -  smbd est le noyau qui fournit les services d'authentification et d'accès aux ressources (partage de fichiers). nmbd permet de montrer les services offerts par Samba (map entre les données + netbios). Configuration : /etc/samba/smb.conf définit les ressources partagées ainsi que les permissions de partage. Ce fichier est organisé en sections : - [Global] = les paramètres généraux du serveur - [Home] = partage du répertoire personnel - [Printers] = les imprimantes partagées par le serveur - [Share] = partage d’un dossier Chaque ligne de section est un ensemble de paramètres de type attribut=valeur. On assigne un mot de passe à l'utilisateur de samba pour les connexions externes avec la commande qui permettra de faire le mapping entre le système d'identifiant Unix et Windows (puisque les systèmes de cryptage sont différents) : smbpasswd -a USER Le programme testparm permet de vérifier la syntaxe du fichier de configuration (smb.conf). Il est conseillé d'exécuter cet utilitaire à chaque modification manuelle du fichier smb.conf. La syntaxe de testparm est la suivante : testparm /etc/samba/smb.conf Page 13 Simon Debaecke v1.1 Exercices Administration Système Si celui-ci ne renvoie aucun message d'erreur, la syntaxe du fichier smb.conf est alors correcte (il ne vérifie que la syntaxe, non le fonctionnement). Afin de pouvoir visualiser correctement les résultats, vous pouvez rediriger la sortie vers un fichier par la commande : testparm smb.conf > /répertoires/fichier Relancer samba pour appliquer les modifications : /etc/init.d/samaba restart  Utilisation : Pour accéder au partage de fichiers sous Samba, il existe deux méthodes sous Linux : Windows : \\172.16.88.219 Linux : smbclient 172.16.88.219/partage -U user1 permet d’accéder au dossier de partage. Linux : submount 172.16.88.219/partage /home/user1/partage -u user1 permet de se connecter en tant que client à l'autre système. smbstatus permet d'afficher la liste des machines connectées au serveur samba. smbclient -L nom-du-serveur permet de savoir ce que partage un poste. Page 14 Simon Debaecke v1.1 Exercices Administration Système Sources - Travaux ayant obtenus les meilleurs résultats - Corrections de ces travaux - Interro Page 15


Sytème d’administration Les bases pour adminstrer un système Linux. Backup

La politique de backup

Nous allons sauvegarder les données critiques de notre système, c’est-à-dire pour notre cas la configuration de la machine (/etc), les données utilisateurs(/home), ansi que les instalations personelles (/usr/local). Dans d’autres cas, comme un web server, il aurait fallu sauvegarder / var/www plutôt que le /home. Note : La configuration d'un serveur (/etc) change régulièrement à cause notement des changements de mot de passe (/etc/passwd). Les données seront sauvegardé dans une localisation différente et éloignée de celle du serveur pour nous protéger des incendies et autres. Nous pouvons imaginer d’avoir par exemple un serveur de sauvegarde en France. Les données critiques sauront sauvegardées très régulièrement . Comme par exemple, tous les jours à minuit car celà éviter les pertes de données importantes et celà se passe durant les heures creuses. Dans le cas des données moins importantes ou qui changent moins, un backup hebdomadaire suffira. Pour ce faire on utilisera cron. Nous allons utiliser la commande dump qui nous permet de faire un backup complet ou incrémental. Note : les backup - incrémentaux : on enregistre la diffrence entre le dernier backup incrémental ( ou le dernier backup complet si il n'y a pas encore de backup incrémental); -diff on enregistre la différence entre avec le dernier backup complet. La différence entre les deux c'est qu'il faut faire un petit calcul pour savoir si on a intérêt ( qd on doit restaurer le système)soit à installer le dernier backup complet puis ensuite tout les backup incrémentaux les uns après les autres (inc) ou installer le dernier backup complet et le dernier diff (diff). Il y a aussi une différence dans la place que les backup vont prendre.

Installation

Il faut installer les packet ssh pour la communication avec le serveur de sauvegarde à distance et dump pour sauvegarder les données. sudo apt-get install dump sudo apt-get install ssh

Utilisation

La commande dump s'utilise de cette maniere: dump 0uf /var/backup/backup /home ● -0 à -9 indique le type de sauvegarde. -0 signifie qu'on fait un backup total et -9 un backup incremental ● -f indique le nom du périphérique ou du fichier de sauvegarde ● -u met à jour le fichier /etc/dumpdates qui contient les informations sur le sytème de fichier de sauvegarde. La commande tar permet aussi la sauvegarde et l’incrémentation avec l’option -u. Cependant les backup incrémentaux sont plus compliqué à restaurer car il faut restaurer chaque backup incrémental dans l'ordre. La commande restore s'utilise de cette maniere: restore -rf /var/backup/backup ● r signifie qu'on rebuild le file system ● f donne le fichier source La commande scp permet de de copier des documents avec ssh : scp /var/backup/home.bck user@ipadresse Pour automatiser le backup, on utilise crontab (fichier qui contient les donnees du demon cron: crontab ensuite il faut ajouter les lignes: 0 0 * * 7 ./backup 9 (pour l'incremental, tous les dimanches) 0 0 1 * * ./backup 0 (pour le total, tous les 1er du mois) Le format est le suivant: mm hh jj MMM JJJ cmd mm pour les minutes hh pour l'heure jj pour le numero du jour du mois MMM pour le numero du mois JJJ pour l'abrevuation du jour cmd pour la commande a executer La commande crontab permet de lancer automatiquement des script, nous allons l’utiliser pour automatiser le backup : #permet d’automatiser la sauvegarde tous les jours à minuit. crontab -e 0 0 * * * /usr/local/backup.sh [9|0] ● -e pour ouvrir un editeur. ● suivi du temp dont le format est le suivant : mm hh jj MMM JJJ. ● suivi de la commande à executer.

Implémentation > script de sauvegarde

#!/bin/sh ## Michael Simonson - backup ##Arguments if [ $# != 1 ] then echo "syntaxe : $0 [1|2]" fi if [ $1 == 1 ] then dump 0uf /var/backup/backup / fi if [ $1 == 2 ] then dump 9uf /var/backup/backup.`date –rfc-3339=seconds`. /home dump 9uf /var/backup/backup.`date –rfc-3339=seconds`. /usr/local dump 9uf /var/backup/backup.`date –rfc-3339=seconds`. /etc fi # On peut également utiliser la commande tar pour faire le backup (ici sans compression) # tar –create –file=/var/backup/archive.`date –rfc-3339=seconds`.tar # –listed-incremental=/save/archive.list /home # Avant de copier la sauvegarde on doit vérifier qu'il reste de la place sur le disque #distant. freespace = `ssh user@172.16.88.210 'df . | grep -v "Disponible" | awk {'print$5\'}'` usedspace = `du /var/backup/backup -s awk{'print $1'}` if [ $freespace < $usedspace ] then echo "plus de place libre" echo "Plus de place pour le backup" | sendmail mike.simonson@gmail.com exit; fi # scp copie sur ssh scp /var/backup/backup user@172.16.88.210 #Note : Il faut mettre en place une politique d’effacement des backup trop vieux pour une raison #de stockage. Comme par exemple effacer tous les anciens backup qui dates de plus d’un #mois (en utilisant la commande find -daystart).

Implémentation > script de restauration

#!/bin/sh ## Michael Simonson - backup if [ $# != 2 ] || [ $# != 1 ] then echo "Usage : $0 [fichierDeBackup][modeIntéractif]" fi #Recupere la sauvegarde scp user@172.16.88.210 /var/backup/backup ##Restore complet if [ $# == 1 ] then restore -rf $1 fi ##Restore complet if [ $# == 2 ] then restore -if $1 fi NFS

Introduction

Le rôle du service NFS est de partager des espaces de stockage entre plusieurs ordinateurs avec un démon appelé nfsd basé sur les RPC (Remote Procedure Call).

Instalation > serveur

sudo apt-get install nfs-kernel-server portmap Note : portmap il fournit le numéro de port aux clients de services RPC.

Instalation > client

sudo apt-get install nfs-common portmap

Utilisation > Serveur

Pour partager la partition contenant le /home il faut configurer nfs dans le fichier /etc/exports. Effectivemnt, la liste des systems fichiers à exporter, ainsi que les paramètres d'exportation, sont définit dans le fichier /etc/exports du seveur. Ains, nous y ajoutons dans le fichier "/home *(ro, async, root_squash)". Le paremètre * désigne tous les ordinateurs clients (on peut bien sur préciser un client directement avec son adresse ip ou dns). L'option ro indique que les fichiers sont accésibles en read-only. L'option rw indique que les fichiers sont accésibles en lecture et en écriture; L'option async indique que le serveur peut répondre à la requête d'un autre poste client avant d'avoir écrit sur un disque les données de la précédente requête, ce qui le rend très atractif mais peut provoqué des corruption de données en cas d'arrêt brutal. L'option sync impose d'effectuer les écritures avant de répondre à une requête, ce qui assure l'intégrité des données, mais peut allonger le temps de réponse. Ici vu que c'est en read-only, je l'ai mis async car il n'y a pas de rique de corruption de données. L'option root_squash transform les UID/GID 0 en UID/GID de l'utilisateur nobody. L'option no_root_squash c'est l'inversse de root_squash. L'option squash_uids squash_gids indique la liste de UID/GID qui sont convertis en nobody. L'option secure indique que le port de connexion doit être inférieur à 1024. L'option insecure autorise tous les ports de connexion. Note : la correspondance entre UID et GID du client et du serveur pose quelques problèmes : 1. Le premier lié à root → le super-utilisateur d'un poste client avec (UDI=0) aurra accès au système de fichiers en tant que root. Solution : option root_squash 2. L'os windows très répandu chez les postes client ne gère pas les UID/GID Solution : fonctionnalité de User name mapping de SFU fait la correspondance un utilsateur Windows à un utilisateur Unix. 3. L'exportation en lecture seule (ro) empêche toute écriture sur le système de fichiers, même si l'UID autorise l'écriture. Solution : dépend de la politique des adminisatreur. Pour appliquer les changements de configuration du nfs : sudo exportfs -a

Utilisation > Client > Montage manuelle

sudo mkdir /home/nfsmount/ sudo mount -t nfs 172.16.88.95:/home /home/nfsmount Note : la commande mount permet d'optimiser le montage NFS en indiquant une taille plus grande de blocs lus (rsize) et ecrits (wsize).

Utilisation > Client > Montage automatique

vi /etc/fstab/ 172.16.88.95:/home /home/nfsmount nfs ro 0 0 Partitions

Introduction

Nous préférerons créer des utilisateurs “simple” pour éviter de faire des fautes irrémédiables en mode root.

Utilisation > création d’utilisateur

Il existe deux manières de créer ces utilisateurs : adduser & useradd ● L'une des commandes demande que l'on y insére ses informations personnelles ainsi que son mot de passe. ● La seconde demande qu'on soit connecté en mode admin afin d'y changer le mot de passe de la façon suivante : passwd "login"

Utilisation > création d’une partition /home

Nous avons ensuite créer un disque dur virtuel sur notre machine virtuelle via les settings de VMWare : “vm > settings > add > harddisk”. Pour lister les disques dures et afficher leurs partitions sudo fdisk -l. Une fois ce disque créé, nous rebootons la machine via la commande reboot. Une fois de retour en mode admin, nous créons la partition grâce à la commande fdisk /dev/sdb ou avec la commande cfdisk /dev/sdb (la deuxcième étant plus conseillé par le man). Avec la commande fdisk : Nous arrivons aux commandes nous permettant de configurer notre nouveau disque dur et de pouvoir y ajouter une partition. Nous tappons ensuite "n" pour créer la partition, "p" pour le numéro de partition, le numéro de cylindre et enfin la taille de cette partition sur le disque. Ma partition possède 1536mb (3/4 de 2Gb). La commande est : +1536m. Nous écrivons "w" (write) pour confirmer la création de la partition. Avec la commande cfdisk : Nous sélections new, puis nous y indiquons notre taille, suivi de notre accord de changement sur la partition. Une fois la partition faite, nous la formatons grâce à la commande mkfs -t ext3 /dev/sdb1/. Note : La commande "df" permet d'afficher les partitions présentes. Voici ensuite les commandes afin de monter la partition et de déplacer le /home : - telinit 1(mode restreint, home non monté) - mkdir /mnt/new_home ( créer le point de montage ) - mount /dev/hda2 /mnt/new_home ( monter la partition qui recevra le futur /home) - cp -a /home/. /mnt/new_home/ ( copier /home/ sur la nouvelle partition.) - mv /home /home_old ( renommer /home pour garder une sauvegarde en cas de problème ) - mkdir /home ( créer le nouveau répertoire /home qui sera le nouveau point de montage ) - umount /mnt/new_home ( démonter /dev/hda2 pour pouvoir le remonter après modification du fstab ) - vim /etc/fstab et y ajouter à la fin: /dev/sdb1 /home ext2 defaults 0 2

Utilisation > création d’une partition swap

On refait les étapes expliqué précédemment. On part du premier cylindre non utilisé jusqu'à la fin du disque. Cette partition, bientôt swap, s'appelle /dev/sdb2 Voici les commandes pour passer la partition en mode swap : - mkswap /dev/sdb2 - vim /etc/fstab et y ajouter à la fin: /dev/sdb2 none swap sw 0 0 - swap on Quotas

Introduction

Un quota est un volume d'une certaine taille disponible pour y stocker des données. Il faut gérer ces volumes car l'espace disque, bien que de plus en plus important, est toujours fini. Ce "principe" de quotas est très utile pour les systèmes multi-utilisateurs ou les fournisseurs d'accès internet par exemple.

Installation

sudo apt-get install quota quotatool

Implémantation

Il y a deux moyens d’utiliser les quotas : par utilisateur et par groupe. Dans notre cas ce serra par utilisateur. Pour configurer l’utilisation des quotas sur le système nous allons avoir besoin de trois étapes : 1. Monter le système de fichier avec le support de quotas 2. Installer le software de quotas 3. Configurer les limites Le support de quotas est activé quand les systèmes sont montés, et ainsi celà doit être spécifier dans les options du fichier /etc/fstab. Spécifier l’option de quota est simplement rajouter usrquota pourchaque utilisateur ou grpquota pour chaque groupe de la column option. /dev/sdb6 /home ext3 defaults,usrquota 1 1 Pour prendre en compte les changements : mount -o remount,usrquota /home. Le système de quota a une notion de limite software et d’une limite hardware. Une limite software est une limite avec une période de grâce pour l’utilisateur (par défaut 7 jours) et un warning s'affichera à chaque écriture de fichier. Une limite hardware est une limite qui ne peut être dépassé. Ces limites sont enregister dans des fichiers spécifiques que nous devons créer pour chaque filesystem qui est utilisé. touch /home/aquota.user chmod 600 /home/aquota.user Pour mettre en place la limite soft de 10 MB et de deux jours de digrâce par utilisateur et un quota hardware de 15 MB, nous allons utiliser les commandes suivantes. edquota -u nicolas Quotas disque pour user nicolas : Système de fichiers /dev/sdb1 blocs souple stricte inodes 32 10000 15000 0 On modifie le temps de grâce de 7 jours à 2 jours avec edquota -t Système de fichiers /dev/sdb1 période de sursis blocpériode de sursis inode 2 days 2 days Pour afficher touts les quotas courant : repquota -a Pour finir, il faut appliquer les changement soit en redmarant la machine avec reboot ou soit avec les commandes : quotaoff /dev/sdb1 quotacheck -vgum /home ● -a : pour tous les filesystems ● -u : pour l'utilisateur ● -m : pour ne pas remonter la partition). quotaon /dev/sdb1

Test de la limitation du quota

Pour tester on va copier un fichier qui dépasse la taille du quota autorisée avec la commande dd. dd if=/dev/zero of=/home/nicolas/test count=1500001 ● if =/dev/zero c’est pour initialiser le fichier ● count=1500001 va copier 1500001 de fois la taille du fichier /dev/zero dans /home/ nicolas/test Les messages d'erreur qui apparaissent : sdb1: warning, user block quota exceeded. sdb1: write failed, user block limit reached. Samba

Introduction

Un des principaux intérêts des réseaux est la possibilté de partager des fichiers. Samba permet d’utiliser le système de fichier de partage de windows sous linux. Samba est un outil de partage de dossiers et d'imprimantes sur réseau local. Si une implémentation de Samba est installée sur une machine, quel que soit son système d'exploitation, il est possible d'accéder aux ressources du serveur depuis cette dernière. Le protocole de communication utilisé est smb (Server Message Block). Le fonctionnement de samba est conforme au schéma client-serveur. Le client (smbclient) envoie des SMB Requests et reçoit des SMB Responses. A la suite de l'installation, les démons nmbd et smbd sont lancés. Ceux-ci constituent le serveur. smbd est le noyau, il fourni les services d'authentification et d'accès aux ressources; nmbd permet de montrer les services offerts par Samba.

installation > serveur

apt-get install samba Nom du groupe de travail (workgroup) : u3bin014 Modifier smb.conf pour utiliser les paramètres WINS fournis par DHCP : non Note : le workgroup peut être modifier dans le fichier de configuration de samba dans la section [gloabl] : workgroup=u3bin014.

configuration du serveur samba

vi /etc/samba/smb.conf Il défini les ressources partagées ainsi que les permissions de partage. Ces permissions ne peuvent pas outrepasser les permissions des fichiers du serveur hôte. Ce fichier est organisé en sections. Les trois principales sont global, homes et printers. Global = les paramètres généraux du serveur Homes = partage du répertoire personnel Printers = les imprimantes partagées par le serveur Chaque ligne de section est un ensemble de paramètres de type attribut=valeur. [GLOBAL] # Groupe de travail workgroup = u3bin020 # Fichier de log pour chaque machine qui se connecte log file = /var/log/samba/log.%m # Mode de sécurité security=user # sécurité au niveau de l'utilisateur (conseillé car force un utilisateur a toujours se connecter # avec un compte utilisateur UNIX). security=share # sécurité au niveau du partage Il est possible de définir une accès personnalisé à n'importe quel répertoire de la machine en créant une section portant le nom que le veut donner à la ressource. Celui-ci contiendra entre autres un paramètrepath donnant le chemin d'accès à la ressource. Voici un exemple de section personnalisée : [PARTAGEIPL] # commentaire visible depuis le voisinage reseau comment = Répertoire IPL # chemin d'acces a la ressource path = /home/monFichierDePartage # affichage de la ressource pour tous browseable = no # chemin d'acces a la ressource public = no # utilisateur autorise a acceder a la ressource user = nicolas,danny # possibilité d'écrire sur la ressource writable = yes create mask = 0750 Pour prendre en compte les modification, il faut redémarer le serveur : /etc/rc.d/init.d/smb restart Pour rajouter un utilisateur au système samba avec un mot de passe pour la connexion : smbpasswd -a nicolas

Acces > windows

démarrer > Favoris réseau > Tout le réseau > Réseau Microsoft Windows > U3bin014

Acces > linux

Nous pouvons accèder au serveur via smbclient Installer smbclient : apt-get install smbclient Lister les ressources partagées smblient u3bin020 Accéder à une ressource smbclient \\\u3bin014\\ressource -U julien Ou bien nous pouvons utiliser smbmount Les utilitaires smbmount et smbumount permettent de monter de démonter des ressources SMB en tant que système de fichiers distant (pour peu que le noyau supporte le système de fichiers SMB). Pour monter une ressource la syntaxe est la suivante : smbmount 172.169.88.221 /partage /monPointDeMontage Pour démonter une ressource la syntaxe est la suivante : smbumount /monPointDeMontage Sécurité > Configurer SUDO It is a known fact that operating a computer as administrator (or root in linux) is very bad. This How-To covers how to configure and use sudo to perform commands as root, allowing you to do what you need to do, and still behaving like a moderately responsible person. There are two parts: part one is configuring sudo to allow users in the group "wheel" to run commands as root. Part two is addingusers to the "wheel" group. Allowing users to run commands as root without first requiring a password is a potentially dangerous thing. Extra care should be taken if you choose to let sudo run without a password. Sudo est un programme conçu pour permettre à un administrateur système de donner des privilèges root limités à des utilisateurs et de mettre en journal l'activité root. La philosophie première est de donner aussi peu de privilèges que possible mais tout en permettant aux personnes de faire leur travail. sudo apt-get update sudo apt-get install sudo su –login -c 'visudo' Below the line root ALL=(ALL) ALL add the user that you want to have root access as shown below: user ALL=(ALL) ALL ALL désigne la ou les machines dans lesquelles les commandes suivantes sont autorisées ou refusées pour cet utilisateur ou de groupe d'utilisateurs. Le mot-clé ALL désigne l'ensemble des machines de votre parc informatique. Dans le cadre d'une utilisation à domicile, laisser ALL n'est pas un inconvénient. Dans un grand parc d'entreprise, de meilleures stratégies sont à prévoir. Le deuxcième ALL et le troisième représentent des commandes pouvant être exécutées par l'utilisateur ou le groupe d'utilisateurs désigné en début de ligne. Note : ● If you do *NOT* want sudo to prompt for a password, use the arrow keys to go down to the line that reads "# %wheel ALL=(ALL) NOPASSWD: ALL" and delete the # at the beginning of the line using the 'x' key. → pas conseillé. ● OPTIONAL: If you want to be able to use sudo without having to type the full root path every time (e.g.: /sbin/fdisk), on a per-user instead of system-wide default, then you should prefix root's command path to your user's PATH variable in ~/.bash_profile. Change it to: PATH=$PATH:/usr/sbin:/sbin:$HOME/bin Comment tester? sudo whoami > Log de connexion Pour lister les tentatives de connections sudo cat /var/log/auth.log #!/usr/bin/perl #Crappe Nicolas - Afficher les tentatives de connexion @maCom = `egrep \"Successful|Failed\" /var/log/auth.log` foreach(@maCom){ print $_; } #Note ne pas oublier de mettre le ficier perl en droit +X pour pouvoir l’excuter (sudo ./script.pl). #!/usr/bin/perl #Crappe Nicolas - Afficher les commandes qui peuvent être exécutées sans mot de passe @maCom = `grep \"^[^#]NOPASSWD\" /etc/sudoers` foreach(@maCom){ print $_; } Note : nous pouvons automatiser le script avec la commande corn. > Contrôles du système Pour afficher la liste des applications dont le suid est positionné : find / -perm 004000 -type f Note : Il permet de faire en sorte de lancer un programme en tant que l'utilisateur qui possède le fichier et non en tant que celui qui lance le fichier. Lister l’ensemble des répertoires du système qui sont accesible en lecture seule : find / -perm -u+r, g+r -type d find / -perm -0444 -type d Note octale permission : Base Octale Base binaire Droits 0 000 — 1 001 –x 2 010 -w- 3 011 -wx 4 100 r– 5 101 r-x 6 110 rw- 7 111 rwx On peut ainsi controler les fichiers qui peuvent être exécutés et par qui. SSH > Introduction Le ssh (ou Secure SHell) est un protocole qui permet d’effectuer des commandes à partir d’un teminal client sur un serveur de façon sécurisé. Le SSH utilise le crypatge asymétrique et symétrique : 1. Le protocole utilise d’abord le cryptage asymétrique pour s’échanger discrètement une clef secrètete de cryptage symétrique. 2. Ensuite les packets sont cryptés avec la la clef de cryptage symétrique entre le client, sereveur. Un serveur peut aussi tirer parti du protocole SSH, particulièrement s'il exécute de nombreux services. Si vous utilisez la retransmission de port, des protocoles normalement non sécurisés (comme POP par exemple) peuvent être chiffrés et envoyés en toute sécurité à des ordinateurs distants. Il est relativement facile avec SSH de crypter différents types d'informations échangées lors des communications qui sont habituellement envoyées de manière non sécurisée sur les réseaux publics. > Utilisation 1. vi etc/ssh/sshd_config → changer "PermitRootlogin Yes" par "PermitRootlogin No" pour empêcher les clients de se connecter en root. (interdire la connexion à root obligera un attaquant éventuel à trouver un nom d'utilisateur existant) → /etc/init.d/ssh restart → permet de redémarrer ssh pour prendre en compte les modifications ps aux | grep sshd → permet de s'assurer que le serveur SSH a démarré (sshd) Sécurisation du client (secure shell client) avec une clé privé et clé publique et se connecter sur un serveur avec un mot de passe libre : 2. ssh-keygen -t dsa → ((digital secure algorithm) permet de générer les clés sécurisées privée/ publique dans ~/.ssh, clé privée = isa_dsa, clé publique= isa_dsa.pub Maintenant il faut transmettre depuis la machine cliente la clé publique et l'ajouter (append) au fichier .ssh/authorized_keys du serveur SSH distant : 3. ssh-copy-id -i .ssh/id_dsa.pub user1@172.16.88.132 On peut vérifier que le serveur SSH l'a bien reçue, aller sur le serveur SSH en mode terminal distant : cat .ssh/authorized_keys → la clé doit s'afficher à la fin du fichier ls -l .ssh 4. ssh user1@172.16.88.132 → permet de se connecter au server SSH distant Resources Nicolas, Michael, Salvator, Sebastien, Fabrizio, Christine, Jenathan, Julie, Julien, Cedric, Maxime, Simon,…

  • sony_vaio_vgn-fz31m.1296211166.txt.gz
  • Dernière modification: Le 28/01/2011, 11:39
  • par mike simonson