Lien symbolique ln -s

Garimald -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Salut a tous et a toutes,

Je me heurte actuellement a un problème que je ne sais résoudre avec les liens symbolique, j'ai un peu de mal a l'expliquer avec des mots alors je le ferai avec des exemples.
J'espère être le plus claire et le plus précis possible...

Mon archie: Debian 5.0

En gros, je veux faire un Lien symbolique qui as plusieurs destinations...

Je m'explique:
Je veux que con lien 'toto' créer avec mon User 'momo' sur son compte redirige vers son 'home' soit "/home/momo/" mais que si ce même lien 'toto' est suivi par mon autre utilisateur 'tata' (qui as les droits rwx, pas très secure certes...) celui-ci arrive sur son 'home' soit "/home/tata/" et de même pour tout autres user ...

En résumer on aurai :
pour momo:
toto -> /home/momo/

pour pour tata:
toto -> /home/tata/

pour tutu:
toto -> /home/tutu/

...

en gros un ln du style: ln -s /home/$USER/ /home/momo/toto/
ou encore ln -s $HOME /home/momo/toto/

Voila...
Je ne sais pas si c'est faisable mais bon... on peu toujours rêver ^^

j'attends avec impatience vos réponses...
Merci par avance!

Gari
Configuration: Windows XP
Firefox 3.0.11

6 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Effectivement un lien à destination variable ce n'est pas faisable. Tout simplement parce qu'un utilisateur peut directement utiliser des variables d'environnement dans ses commandes shell. Du coup le lien n'a pas spécialement d'intérêt.

    En fait la vraie question c'est pourquoi as-tu besoin de faire ça. Et surtout pourquoi ne pas créer directement les liens dans chaque home à la main. À noter que les droits du lien n'ont rien à voir avec les droits des fichiers contenus dans le répertoire pointé.

    Bonne chance
    0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    les variables dans les liens symboliques existaient sur Apollo DomainOS, une source infnie de problèmes ..
    créer un alias global toto dans /etc/profile
    alias toto="cd /home/$USER"
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Salut,

      dubcek c'est notre Obélix à nous. UNIX il y est tombé dedans quand il était petit ;-)))
      0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Sauf qu'un alias n'est pas un lien symbolique mais bon :-) Ça revient à faire un script ^^
    0
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    tout à fait, mais comme ce n'est pas possible par un lien symbolique, le seul autre moyen que je vois c'est par automount
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Garimald
     
    Salut,

    Tout d'abord merci pour vos réponses, je m'attendais un peu a ce que ce ne soit pas faisable ><

    Pour répondre a la question de mamiemando, en fait j'ai besoin d'un lien pour que mon user toto ai accès a certains fichiers des autres users et non l'inverse...

    L'intérêt et de pouvoir exécuter un programme avec l'un de mes user sur toto en utilisant la conf de l'utilisateur qui l'exécute...

    (désoler ce n'est surement pas très clair... j'ai du mal a l'expliquer avec des mots ><)

    automount ?

    (man automount ? ^^)
    0
  7. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    À ce moment là tu ne t'y prends pas comme il faut, il faut mettre ce répertoire avec des droits restreints. Supposons que ce répertoire soit dans /media/pouet et que ton utilisateur toto appartienne à un groupe plop, mais pas les autres utilisateurs.

    On peut par exemple imaginer que tu aies créé ce groupe pour l'occasion avec la commande :
    sudo groupadd plop

    Ajoute à ce groupe ton utilisateur en le rajoutant à la fin de la ligne qui commence par plop dans /etc/group :
    nano /etc/group

    Sauve quitte et reboote (ctrl x). Au redémarrage ton utilisateur doit appartenir au groupe plop, vérifie avec la commande :
    groups

    Maintenant changeons les droits du répertoire /media/pouet :
    chgrp /media/pouet
    chown a-x /media/pouet
    chown g+x /media/pouet

    Si le répertoire à partager est planqué dans une arborescence à laquelle toto n'est pas sensé accéder, tu peux monter ce répertoire via un mount bind dans /media/pouet (pour peut que tu aies créé /media/pouet au préalable), les données ne seront pas dupliquées ! Pour cela il suffit simplement de monter le répertoire en question (par exemple /home/top/secret) dans le répertoire avec accès restreint (/media/pouet dans mon exemple) :
    sudo mkdir -p /media/pouet
    sudo nano /etc/fstab

    Ensuite dans ce fichier on rajoute à la fin la ligne :
    /home/top/secret   /media/pouet       none        bind     0 0

    On monte /media/pouet et c'est fini :
    sudo mount /media/pouet

    Bonne chance
    0