IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Script shell - gestion user, touche entrée


Sujet :

Linux

  1. #21
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 9
    Points
    9
    Par défaut
    Suite à cette erreur j'ai donné les droit administrative à toto via l'interface graphique, donc normalement il a les droits de créer un répertoire et autres taches.

    Je deviens fous, je ne comprends pas...

    Merci de votre aide.

  2. #22
    Membre confirmé Avatar de Tchetch
    Inscrit en
    Mars 2002
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 401
    Points : 477
    Points
    477
    Par défaut
    Là je comprends plus ce que tu cherches à faire. Au début de la file tu voulais que n'importe quel utilisateur puisse exécuter une commande avec l'utilisateur toto et là il me semble que tu essaies d'utiliser toto pour écrire dans des répertoires d'autres utilisateurs.

    Donc explique clairement ce que tu veux.

    Concernant /etc/sudoers, tu l'as fait manuellement ou en utilisant la commande visudo ?
    Mon wiki (on y parle Debian principalement) : http://www.tchetch.net/

  3. #23
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 9
    Points
    9
    Par défaut
    Un petit rappel sur ce que je dois faire et pourquoi je suis la:
    Je vais tenter d'être le + clair possible, c'est parti :

    Un script permettant de faire une commande à partir d'un compte précis.( peu importe la commande, ca peut être une sauvegarde (c'est le cas ici), création de dossier etc ...). Ces commandes sont en quelque sorte "attribuées" et ne peuvent s'éxécuter que dans le compte toto.
    Cette commande s'effectue uniquement si l'on est loggué dans ce compte précis. Appelons ce compte toto.
    Si ce script s'éxécute en étant à la base sur un autre compte que toto, les commandes citées dans le script
    ne marcheront pas, autrement dit, le script ne servira à rien et n'aura pas d'effet.

    Pour palier à cela, dans le Script, je dois indiqué une condition.

    Le script s'éxécutera tous les jours. Il se peut que le serveur où se trouve le script soit manipulé et donc peut avoir comme conséquence des changements de compte user. Exemple : root, titi, tata. Et laissé comme tel.
    Lorsque le script s'éxécutera, en admettant que le compte courant suite au changement de compte, ne soit plus toto mais titi. Le script ne marchera pas, vous l'aurez deviné.

    C'est pour cela que je dois vérifier si le compte courant est bien celui de toto pour que le script marche. Si c'est toto, donc si le compte courant est toto, hé bien la sauvegarde ou autres taches spécifiques s'effectuent sinon se connecter en tant que toto et faire ces commandes.
    donc == > if [$USER = toto]
    then mkdir /home/mister/Bureau/reptest;
    else
    su toto; // !!!!!!!!!!!
    mkdir /home/mister/Bureau/reptest;
    fi
    Il s'agit d'une version non otpimisée et qui pose problème pourquoi ?

    Lorsque que l'on veut changer de compte, le mot de passe est demandé. Quand on fait su toto, on voit passwd : // saisier au clavier
    or c'est un script donc tache automatisé, de plus avec crontab.

    SOLUTION :
    Tchetch, tu me conseilles de rajouter la ligne dans /etc/sudoers :
    ALL ALL=( toto ) NOPASSWD: /etc/SCRIPTS/script.sh

    et donc le script peut se lancer en une seul ligne avec ==> sudo -u toto mkdir /home/mister/Bureau/reptest ;
    Si c'est toto qui lance, l'utilisateur restera bon, sinon l'utilisateur sera toto.

    Problème, Aprés test, l'erreur suivante apparait :

    root@mister:~/Bureau# /etc/SCRIPTS/script.sh
    mkdir: cannot create directory `/home/mister/Bureau/reptest': Permission denied

    Pourquoi ? Si j'ai bien compris ...

    car meme si je suis connecté en tant que toto et ce sans avoir entré mon password, il faut se connecter en tant que root à
    partir du compte de toto pour pouvoir créer un répertoire ou tout simplement administrer le system.
    Et la le mot de passe de toto est demandé, d'ou la restriction vu dans le message d'erreur

    Comment pouvoir permettre à toto de pouvoir faire des commandes comme création de répertoire ou autres taches
    sans passer par le statut root et donc sans rentrer au clavier un mot de passe demandé. On en revient toujours au

    En espérant avoir été claire et précis.
    Merci de votre aide

  4. #24
    Membre confirmé Avatar de Tchetch
    Inscrit en
    Mars 2002
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 401
    Points : 477
    Points
    477
    Par défaut
    C'est un problème de droit, toto doit avoir le droit d'écrire à l'endroit ou tu veux créer tes répertoires. Il n'y a que le root qui a tout les droits. Si toto a besoin de tous les droits, il y a une erreur quelque part.

    Si toto a besoin de créer un répertoire pour travailler, on va donc faire en sorte de créer un répertoire dans un endroit ou toto aura le droit de le faire. Donc généralement, si c'est un répertoire de travail devant être détruit après, dans /tmp/. Maintenant si c'est un répertoire qui doit rester et qui est lié au compte toto, autant le faire dans son répertoire personnel, /home/toto/ typiquement.

    La commande que tu lances pour créer le répertoire semble créer un répertoire sur le bureau de l'utilisateur mister et les répertoires personnels des utilisateurs sont, par défaut, accessible uniquement par l'utilisateur en personne et le compte root.

    Donc dans le cas où tu veux vraiment que toto puisse y écrire, tu ajoutes toto au groupe de l'utilisateur mister et tu donnes les droits en écriture sur le répertoire /home/mister/Bureau/ pour le groupe associé à l'utilisateur (généralement le groupe par défaut pour un utilisateur a le même nom que l'utilisateur).

    Est-ce bien cela que tu cherches à faire ?
    Mon wiki (on y parle Debian principalement) : http://www.tchetch.net/

Discussions similaires

  1. Script shell création user Password
    Par debdarky dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 05/08/2013, 10h28
  2. Script shell: afficher le texte entre 2 bornes.
    Par panchan173 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 18/07/2012, 16h24
  3. script shell : comparer 2 répertoires entre eux
    Par Chicna dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 19/09/2011, 18h42
  4. script shell et arguments en entrée
    Par Lolitaaa dans le forum Linux
    Réponses: 7
    Dernier message: 03/07/2010, 11h17
  5. [Shell] Bash : script de gestion d'utilisateurs
    Par techafi dans le forum Linux
    Réponses: 1
    Dernier message: 14/03/2008, 22h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo