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

 C Discussion :

Recuperer le current user sous Unix ?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 146
    Par défaut Recuperer le current user sous Unix ?
    bonjour à tous,

    Je me trouve dans un FreeBSD à la fac, et j'aimerais coder une messagerie système (donc pas de communication réseau du tout).
    Le but étant de créer 2 dossiers || Message Envoyés | Message Recus ||
    et donc tout se passera sur la même machine.

    Est-ce possible de récupérer le nom d'utilisateur courant dans un char* ? (whoami)
    Une fois que j'aurais ce nom d'user, je pourrais créer mes 2 dossiers...
    Et puis-je modifier les droits de mes fichiers dans mon programme C (l'équivalent de chmod ) ?

    Qu'en pensez vous?

    Merci d'avance du temps consacré.

  2. #2
    Membre émérite Avatar de Steph_ng8
    Homme Profil pro
    Doctorant en Informatique
    Inscrit en
    Septembre 2010
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 677
    Par défaut
    Bonjour.

    La fonction chmod existe en C : http://man.developpez.com/man2/chmod.2.php.

    Pour whoami, je ne serai pas étonné qu'il existe un équivalent, mais je n'en connais pas.
    À défaut, tu peux utiliser la fonction popen pour faire un appel système.
    Mais il faut être conscient que ça cache un fork (et un pipe).

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 474
    Par défaut
    De deux choses l'une :

    • soit tu t'appuies sur la variable d'environnement « USER » que tu récupères avec getenv(). Cette variable peut ne pas être définie et peut également être très facilement modifiée par l'utilisateur lui-même, mais cela peut-être le but si tu veux que ton logiciel soit versatile ;
    • soit tu t'appuies sur l'UID du processus lancé, en récupérant cette valeur avec getuid() puis en utilisant getpwuid() pour retrouver les infos de l'utilisateur associé.

  4. #4
    Membre émérite Avatar de Steph_ng8
    Homme Profil pro
    Doctorant en Informatique
    Inscrit en
    Septembre 2010
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 677
    Par défaut
    Ah oui, l'UID, je l'avais oublié celui-là...
    +1

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 146
    Par défaut
    Merci à tous, c'est maintenant très clair !
    (J'ai utilisé getenv("USER")....)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recuperation du champ current user
    Par Talaimerdi dans le forum Sécurité
    Réponses: 2
    Dernier message: 22/02/2009, 17h36
  2. [AC-2003] recuperation du champ current user
    Par Talaimerdi dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 09/02/2009, 23h40
  3. [LDAP] Récupération de mot de passe user sous openLDAP Mac OSX en PHP
    Par 3mPty dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 13/07/2006, 10h23
  4. [Kylix] Kylix sous UNIX
    Par gRRosminet dans le forum EDI
    Réponses: 3
    Dernier message: 09/11/2004, 17h07
  5. Chargement dynamique de DLL sous Unix
    Par Willou dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 18/12/2002, 18h25

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