[Bash] Script - Gerer les droits

21g -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
dans un script, lors d'une commande find, si le script n'a pas été executé avec les bons droits, j'ai le droit au jolie message find: "chemin": Permission non accordée

J'aimerai savoir comment gérer ce problème, par exemple vérifier le sdroits au lancement, mais je ne sais pas quoi mettre dans mon if, quelle commande exécuter ?

En esperant avoir été clair, merci d'avance :)
Configuration: Linux
Firefox 3.5.6

2 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Il te suffit de diriger les messages d'erreurs vers "/dev/null" :

    find / -type f -name "blabla" -print 2>/dev/null

    0
    1. 21g
       
      Merci, mais le problème est qu'avec cette manipulation tout les messages d'erreur sont "cachés" donc s'il y a un autre probleme, le message ne sera pas afficher.
      Je cherche plutot à signaler à l'utilisateur qu'il n'a pas les droits suffisants pour chercher dans le dossier et par conséquent le script se ferme, ou qqchose comme ca ^^
      0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    je peux ignorer les dossiers dont je n'ai pas le droit de lecture
    $ pwd
    /etc 
    $ find . -name "*allow*" -ls
    find: `./chatscripts': Permission denied
    find: `./cups/ssl': Permission denied
    171834    4 -rw-r--r--   1 root     root          579 Apr 20  2009 ./hosts.allow
    find: `./ppp/peers': Permission denied
    find: `./ssl/private': Permission denied
    $  
    $  find . ! -perm -004 -prune  -o -name "*allow*" -ls
    171834    4 -rw-r--r--   1 root     root          579 Apr 20  2009 ./hosts.allow
    $
    0