Partage
  • Partager sur Facebook
  • Partager sur Twitter

Script linux en bash

    12 décembre 2014 à 18:06:27

    Salut, pour un de mes cours jai un script a effectuer mais je nai aucune idee de comment le faire, quelqun voudrait bien maider ? voila les directives du script.

    Le script ajoutUtilisateur devra être fait en bash et répondre aux critères suivants :

    La syntaxe :
    ajoutUtilisateur nom prénom [type]

    Les paramètres :

    • nom : Obligatoire. Le nom de la personne pour qui le compte est créé.
    • prénom : Le prénom de la personne pour qui le compte est créé.
    • type : Le type d'utilisateur à créer :

    0 : administrateur système
    1 : utilisateur normal
    2 : opérateur système

    Validation des permissions :

    Seul root est apte à créer des utilisateurs. Le script doit donc tout d'abord vérifier que l'utilisateur qui l'a démarré est root. Sinon, il doit afficher le message «Permissions insuffisantes. Seul root peut utiliser ce script» et terminer avec le code de retour 1.


    Validation des paramètres :

    Si le paramètre nom est absent, le message «Erreur : Paramètre nom absent» doit être affiché sur la sortie standard et le programme termine avec le code de retour 1.

    Si le paramètre prénom est absent, une chaîne vide doit être utilisée comme prénom.

    Si le paramètre type est absent, un utilisateur normal doit être créé.
    Si le type ne correspond à aucun type prévu, le message «Erreur : Paramètre type invalide» doit être affiché sur la sortie standard et le programme termine avec le code de retour 1.


    Création de l'utilisateur :

    Le nom d'utilisateur est créé à partir du nom de l'utilisateur en minuscules et d'un numéro séquentiel. Le premier utilisateur nommé Lafrance recevra le nom d'utilisateur lafrance0, le second recevra lafrance1, puis lafrance2, etc.

    L'utilisateur est créé sur le système avec son prénom et nom réels comme seules informations «finger» (ou gecos). Il reçoit son prénom tel qu'entré en paramètre comme mot de passe.

    Si l'utilisateur n'a pu être créé, pour quelque raison que ce soit, le programme termine avec le code de retour 2.


    Configuration du compte utilisateur :

    Le mot de passe de l'utilisateur doit expirer immédiatement, afin que celui-ci soit obligé de le modifier dès sa première connexion.

    Le home de l'utilisateur doit être créé dans /home selon son nom d'utilisateur et contenir la structure de répertoires décrite à la section «Structure du home».

    En plus du groupe portant son nom, l'utilisateur doit être fait membre de certains groupes selon son type. :

    0 : sudo et adm
    1 : users
    2 : operator et backup.

    Si l'utilisateur est créé mais qu'un problème est survenu pendant la configuration de son compte, le programme termine avec le code de retour 3.

    Si l'utilisateur est créé et configuré normalement, le programme affiche sur la sortie standard le message «Utilisateur nom0 créé.» où nom0 est remplacé par le nom de l'utilisateur qui vient d'être créé et termine avec le code de retour 0.


    Structure du home :

    Le répertoire home de l'utilisateur doit contenir une copie du contenu du répertoire /etc/skel. Il doit avoir la structure suivante :

    home/
    └──nom_utilisateur/
      ├── externe/
      └── partage/
          └── remise/

    • externe est un lien symbolique vers le répertoire où le système monte automatiquement tous les SF externes (clé usb, cdrom, disque externe, etc.)
    • partage est un répertoire public lisible par n'importe qui mais protégé en écriture pour tous sauf l'utilisateur lui-même et son groupe.
    • remise est un répertoire dont la lecture est interdite à tous sauf à l'utilisateur lui-même et son groupe, mais dans lequel l'écriture est permise. Ce répertoire permet donc à n'importe qui de déposer un document qui ne sera visible que de l'utilisateur.


    Tout le reste du home doit être innacessible en lecture à quiconque sauf l'utilisateur lui-même et son groupe.

    Affichage :

    Le script ne doit afficher que les messages d'erreurs mentionnés dans le présent document et il doit les envoyer vers la sortie d'erreurs.

    Le seul message qui doit être envoyé par le script sur la sortie standard est le message de confirmation de création de l'utilisateur.

    Le script doit être complètement automatique (aucune interaction avec l'utilisateur).

    • Partager sur Facebook
    • Partager sur Twitter
      17 décembre 2014 à 9:30:00

      Salut,

      Puisque c'est pour un cours, je vais essayé de d'aiguiller un peu, un script comme ceci ne semble pas trop compliqué.

      Pour la création d'utilisateur : useradd.

      Avec les options -m -e -p -n, je te laisse voir la manpage.

      Pour les groupes :

      usermod -G group -a user



      Pour ce qui est de l'autoincremention des noms, personnellement, je lirait le fichier shadow pour voir si l'utilisateur existe, si oui on incrémente.

      Pour ce qui est de la création des sous-répertoire, un mkdir + chown devrait suffire.

      Je pense au avec ça tu as un bon début.

      Si tu veux vraiment que l'on puisse t'aider (et non faire l'exercice à ta place), il pourrait être pas mal de nous montrer ce que tu as fait pour le moment.

      -
      Edité par thetataz 17 décembre 2014 à 11:29:56

      • Partager sur Facebook
      • Partager sur Twitter
      S'il n'y a pas de solution, c'est qu'il n'y a pas de problème
        17 décembre 2014 à 11:02:11

        usermod c'est pour modifier un utilisateur pour créer un utilisateur c'est la commande useradd.
        • Partager sur Facebook
        • Partager sur Twitter
          17 décembre 2014 à 11:19:49

          C'est ce que je voulais mettre ^^. Erreur de commande.
          • Partager sur Facebook
          • Partager sur Twitter
          S'il n'y a pas de solution, c'est qu'il n'y a pas de problème

          Script linux en bash

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown