Lien symbolique ln -s

Fermé
Garimald - 27 juin 2009 à 23:30
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 28 juin 2009 à 21:36
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

6 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
28 juin 2009 à 02:04
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
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
28 juin 2009 à 09:37
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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
28 juin 2009 à 09:59
Salut,

dubcek c'est notre Obélix à nous. UNIX il y est tombé dedans quand il était petit ;-)))
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
28 juin 2009 à 10:01
Sauf qu'un alias n'est pas un lien symbolique mais bon :-) Ça revient à faire un script ^^
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
28 juin 2009 à 10:16
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
28 juin 2009 à 21:36
À 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