Administration unix

  • View
    378

  • Download
    2

Embed Size (px)

DESCRIPTION

cours sur l'administration sous le systeme d'exploitation UNIX

Transcript

  • Administration Unix

  • SommaireUnit 1 : Administration des utilisateurs et des groupes.3Unit 2: *

  • Unit 1Administration des utilisateurs et des groupes

  • UtilisateursChaque utilisateur qui utilise le systme doit tre connu de celui-ci par un nom et, ventuellement, un mot de passe. Un utilisateur doit appartenir un ou plusieurs groupes d'utilisateurs pour tre autoris utiliser le systme. Il existe plusieurs mthodes d'identification et de contrle des utilisateurs, nous ne parlerons ici que de la mthode la plus simple mettant en oeuvre les fichiers /etc/passwd et /etc/group. Les utilisateurs et les groupes sont reprs dans le systme par des numros : uid pour le numro d'utilisateur (User IDentifier) et gid pour le numro de groupe (Group IDentifier). Le numro est unique pour un utilisateur ou un groupe donn.

    L'identification d'un utilisateur s'effectue dans le fichier /etc/passwd.*

  • Hirarchie de comptesRootsuper utilisateurles permissions daccs ne sont pas appliques sur luiil peut faire tous compte pour ladministrateur du systmebin, daemon, lp, sync, news, ftp comptes utilisateur utiliss par diffrentes applications et dmonsne peuvent pas tre utiliser comme logincomptes ordinaires

    *

  • Enregistrer un utilisateur: /etc/passwdUn utilisateur est caractris par une ligne dans le fichier /etc/password. Une ligne est forme par les champs suivants : login:passwd:uid:gid:comment:home:shell login : Il s'agit du nom de l'utilisateur. C'est un alphanumrique de 8 caractres maximum. passwd : Il apparat dans ce fichier sous forme code. uid : Il s'agit d'un numro unique de l'utilisateur. Compris entre 0 et 65535. Les 100 premiers nombres sont par convention rservs au systme et ne correspondent pas des utilisateurs normaux. gid : Numro de groupe. Chaque utilisateur appartient un groupe principal. Il pourra galement appartenir des groupes secondaires. Cette notion de groupe interviendra au niveau des permissions sur les fichiers. comment : Nom complet de l'utilisateur. home : Chemin complet de la directory attribue l'utilisateur shell : Chemin complet du shell, le programme qui interagit avec l'utilisateur et qui permet de taper des commandes (csh, sh, bash, tcsh, ...). *

  • Enregistrer un utilisateur/etc/passwdExemple : root:x:0:0:root:/root:/bin/bashkmaster:x:500:500:kmaster:/home/kmaster:/bin/bashNota le deuxime champ (x) spcifie q'il y a un mot de passe et que celui-ci est crypt (dans /etc/shadow). L'UID est compris entre 0 (root) et la constante UID_MAX (dfinie dans le fichier /etc/login.defs). ATTENTION : Si au sein de ce fichier, plusieurs lignes possdent le mme UID pour plusieurs noms de connexion diffrents, UN SEUL utilisateur est en fait dfini ! Exemple : on peut ainsi dfinir un utilisateur stop, dont l'UID est 0 et qui excute shutdown comme commande de connexion. *

  • /etc/shadowLe fichier /etc/passwd est public (toute personne qui a un compte sur la machine peut le lire). Pour contrecarrer cette faille, certains systmes ont introduit le fichier /etc/shadow lisible uniquement par root contient les mots de passe des utilisateurs, qui disparaissent alors de /etc/passwd. Si on ajoute un utilisateur la main, cela implique d'diter les 2 fichiers. *

  • /etc/shadowUne ligne /etc/shadow est compose des champs suivants:Nom de login mot de passe crypt Nombre de jours couls depuis le 1er janvier 1970 jusqu'au dernier changement de mot de passe Nombre de jours durant lesquels le mot de passe est encore valide Nombre de jours aprs lesquels le mot de passe doit tre chang Nombre de jours avant l'expiration du mot de passe impliquant l'avertissement de l'utilisateur Nombre de jours aprs l'expiration provoquant la desactivation du compte Numro du jour depuis le 1er janvier 1970 partir duquel le compte a t dsactiv Champs rserv *

  • /etc/shadowExemple :kmaster:$1$zBvl.scX$hkqgDvBu40EqpAEwZfZZQ0:11493:0:99999:7:::le mot de passe en cours a t mis en place le 11493e jour aprs le 1/1/1970 (date de rfrence), il pourra nouveau tre chang 0 jour aprs cette date il devra obligatoirement tre modifi avant le 99999e jour aprs la date de cration (autant dire qu'il n'expire jamais...).*

  • /etc/skelAprs la cration dun compte utilisateur, tous les fichiers de /etc/skel sont copis dans le rpertoire personnel de cet utilisateur.

    On place dans ce rpertoire les fichiers dont tous le monde doit en avoir une copie*

  • La commande suLa commande su permet de changer lidentit de lutilisateur courant.Syntaxe su [[-] utilisateur]Utilisateur est lutilisateur dont on veut prendre lidentitSi aucun utilisateur nest spcifi, le changement se fait vers lutilisateur rootLa commande demande un mot de passe avant dobtemprer. (sauf si root)*

  • Gestion des comptesCrer un compte pour un nouvel utilisateurCommande useraddSyntaxe : useradd [options] nom_loginOptions : -u uidpour fixer l'identifiant uid-g groupe-primaire-G listefixe l'appartenance de l'utilisateur une liste de groupes secondaires (sparateur , sans espace)-s shellpar dfaut, attribution du shell par dfaut bash-c commentaire -d rep. Personnelpar dfaut dans le rpertoire /home-e date-expirationfixe la date d'expiration du compte (format MM/JJ/AA)-mpour crer le rpertoire personnel-k rep-skelrecopie le contenu de rep-skel dans le rp. personnel, par dfaut /etc/skel# Useradd c compte de test -m d /home/toto G test k /etc/skel toto*

  • Gestion des comptescommande useraddPour examiner les valeurs par dfaut appliques par useradd :commande useradd -D ou diter /etc/default/useradd GROUP=100 identifiant du groupe primaire HOME=/home racine des rp. personnels INACTIVE=-1 (nb de jours avant destruction du compte) EXPIRE= nb de jours avant expiration du mot de passe SHELL=/bin/bash shell de connexion attribu au compte SKEL=/etc/skel fichiers recopis par dfaut dans chaque rp. personnel *

  • Gestion des comptesLa commande passwdSyntaxe : passwd [options ] nom_loginOptions -d l'utilisateur pourra se connecter sans mot de passe ! -l pour verrouiller le compte et empcher sa connexion. -u pour dverrouiller.

    *

  • Gestion des comptesConnatre l'uid et le gid de l'utilisateur courantCommandes ( id, whoami, who am i )bash:> id uid=501(stage1) gid=501(stage1) groups=501(stage1), 504(stagiaire) Pour dcrire un utilisateur Commande chfn Cette commande permet d'indiquer dans le champ numro 5 du fichier /etc/passwd diffrentes informations sur un utilisateur

    *

  • Gestion des comptesSupprimer le compte d'un utilisateur (non connect)La commande userdelSyntaxe : userdel [-r] nom_loginL'option -r supprime aussi le rp. personnel de l'utilisateurLa commande supprime toute trace de l'utilisateur dans le fichier de configuration : /etc/passwd y compris dans les groupes d'utilisateurs. *

  • Gestion des comptesModifier le compte dun utilisateurLa commande usermod Syntaxe : usermod [options] nom_login Les options sont les mmes que useradd Exemple usermod -G stagiaire,prof stagex ajoute stagex dans les 2 groupes stagiaire et profs (qui doivent exister)

    *

  • Les groupesUn groupe est un ensemble d'utilisateurs. Chaque utilisateur doit faire partie au moins d'un groupe. Dans /etc/passwd chaque utilisateur possde un groupe par dfaut, prcis par son identifiant gid dans ce fichier. L'appartenance au groupe primaire n'tant pas exclusive, tout utilisateur peut faire partie de plusieurs autres groupes. La liste des groupes est donne par le fichier /etc/group

    *

  • Le fichier /etc/groupLe fichier de dclaration des groupes /etc/group contient une ligne par groupe dans un format similaire au fichier /etc/passwd. Une ligne de ce fichier comporte les champs suivants, spars par des caractres `:' : nom du groupemot de passe du groupenumro du groupe (gid)liste des utilisateurs appartenant au groupe spars par des virgulesPar exemple : actrices:*:400:sandra,meg,michelle

    *

  • Commandes utilesPour lister tous les groupes d'un utilisateur : groups nom_login Pour crer un nouveau groupe groupadd nom_groupe Supprimer un groupe : groupdel nom_groupe Le groupe est supprim du fichier /etc/group. modifier un groupegroupmod -n nouveau_nom nom_groupePour ajouter un utilisateur un groupe Le plus simple est d'diter le fichier /etc/group et d'ajouter une liste d'utilisateurs (spars par des virgules) sur la ligne du groupe. *

  • Processus dinitialisation utilisateur/etc/profile$HOME/.bash_profile$HOME/.bashrc/etc/bashrc

    $HOME/.bash_logout*

    [user@host pwd]$Bourne Again Shell

  • newgroupLa commande newgrp permet un utilisateur de changer son groupe courant. Par exemple :

    bash$ newgrp actrices bash$ id uid=500 (sandra) gid=400 (actrices) groups=500(sandra),100(users), 400(actrices)

    *

  • Unit 2Les droits daccs

  • Gestion des droits daccs Tout utilisateur possde un numro d'utilisateur et le numro du groupe auquel il appartient. On distingue trois types d'utilisateurs potentiels :le propritaire du fichier ("user", u); les utilisateurs appartenant au mme groupe ("group", g); les autres utilisateurs ("other", o). Trois types d'oprations sur les fichiers sont possibles la lecture ("read", r); l'criture ("write", w); l'excution ("execute", x). Il y a donc 9 combinaisons possibles utilisateur-opration. C'est pourquoi les protections sont codes sur 9 bits.*

  • Gestion des droits daccssi vous essayez de copier un fichier dans un sous-rpertoire (cp fic1 rep2/rep3/fic1), il faut que vous puissiez : lire le fichier fic1 : droit en lecture sur le fichier traverser les sous-rpertoires rep2 et rep3 : droit x au moins pour vous, crire dans rep3 : droit W

    *

  • Modification des droi