• [^] # Re: 007 versus Rest Of The World

    Posté par . En réponse au journal Unix : ton esprit fout le camp. Évalué à 1.

    > il va utiliser un nom de fichier fixe

    $HOME/qqc car il y est obligé.
    J'ai pas dit une appli mono-utilisateur pour toto dont le seul répertoire en écriture est /home/toto.

    Sous unix que l'appli soit mono-utilisateur ou non (ce qui n'a pas de sens sous Unix...) c'est $HOME qu'il faut utilser.

    > il va utiliser les IPC pour les communications inter-process

    Et ?

    Tu connais rien à IPC.
    Pour avoir un identifiant ipc, tu utilises ftok(3) (c'est dans la doc).
    ftok : Convertir un nom de fichier et un identificateur de projet en clé IPC système V.
    Comme il n'y a que $HOME de dispo, tu utiliseras ftok ($HOME/ipc, ...).

    T'es obligé. Terminé.

    Si tu fais un serveur il faut utiliser /tmp/... . Mais je n'es jamais parlé pour le cas des serveurs !

    > il va pas mettre de permissions dessus vu que c'est mono-utilisateur

    Et pourquoi ?
    Pour rien.
    Si t'as besoin de changer les permissions, c'est (par exemple) :
    chmod +w toto
    L'umask est toujours respecté (la libc fait de même).

    Toujours pas de problème.

    > Developpeur Unix depuis 7 ans t'as dit, c'est bien ca ?

    Ouais. T'as encore prouvé que t'y connais en rien Unix.

    > Alors un programme qui utilise un nom fixe pour son fichier d'IPC(plutot qu'un nom d'user)

    Si ce n'est pas un serveur, c'est stupide.
    Si c'est pour un utilisateur (donc ce n'est pas un serveur), le fichier IPC sera basé sur $HOME/... . C'est obligé (voir plus haut).

    > hors non, ca ne marche pas, sauf si le _programme_ tient compte du fait que plusieurs utilisateurs peuvent lancer le soft en meme temps.

    Ben non. T'as faux.
    Sauf si tu veux que les processus de plusieurs utilitsateurs _différents_ communiquent entre eux.
    Donc c'est un serveur... et ce n'est pas le propos ici.
    Suivant.

    > Si, toutes celles ecrivant dans des fichiers fixes dans des repertoires accessibles a tous.

    Et encore un couche.
    Hors /tmp (et je reconnais que c'est un _réel_ problème) où peux écrire un utilisateur ?
    Dans $HOME.
    Donc si ce n'est pas un serveur il n'y a pas de problème.
    L'appli ne va pas coder :
    open("/usr/titi", O_CREAT)
    Et ce car même pour le développeur ça ne marche pas !

    > Faux, meme sans que personne se logge plusieurs utilisateurs ont des softs tournant sur un Linux, typiquement Apache qui tourne en nobody et d'autres process en root, meme chose pour les autres daemons.

    Ce se sont pas des utilisateurs...
    grep apache /etc/passwd :
    apache:x:48:48:Apache:/var/www:/sbin/nologin

    Nuance.
    si je fais "who", j'ai jamais apache, named, etc.

    Puis on voit que ça fait depuis longtemps que tu n'as pas utiliser apache car nobody n'est plus utilisé par apache depuis... j'ai oublié.

    Conclusion :
    Tu considères que le développeur fait un sabotage pour défendre ton point de vu.
    Actuellement, il y a que le problème de /tmp qui tient la route.