Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/03/2011, 14h34   #1
Invité de passage
 
Femme
électricien
Inscription : mars 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : électricien
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 10
Points : 0
Points : 0
Par défaut Ajouter utilisateur + Donner toute les permissions en C++

Bonjour je débute dans la programmation sous linux et je cherche comment ajouter un utilisateur et lui donner toute les permissions en C++.j'ai besoin d'avoir accès a tous les fichiers du pc Sous Linux.C pour un explorateur multimédia
Merci
DjPopol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 16h35   #2
Membre Expert
 
Étudiant
Inscription : août 2004
Messages : 500
Détails du profil
Informations personnelles :
Âge : 22

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2004
Messages : 500
Points : 1 017
Points : 1 017
Envoyer un message via MSN à Senaku-seishin
Le soucis que pour créer un utilisateur, il faut être root ou que le programme est un suid. Donc le programme doit être très bien fait, sinon il y a risque de corruption du système.

Généralement pour créer un utilisateur, on fait appelle au programme adduser ou useradd. Tu peux appellé un programme avec exec ou system.

Ensuite tu demande que cet utilisateur est tout les droits. Le seul qui l'est c'est uniquement root.

Pour un explorateur multimédia, tu n'as pas besoin de tout ça. Tu exécute ton explorateur dans la session de l'utilisateur qui exécute le programme (donc ces droits).
__________________
Avoir un regard neutre sur notre vie dénuée de sens, c'est la voir tel un ignorant
Senaku-seishin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 18h07   #3
Invité de passage
 
Femme
électricien
Inscription : mars 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : électricien
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 10
Points : 0
Points : 0
Tu n'aurai pas un exemple de code?
Et j'aimerai pouvoir l'executer en ayant tous les droits.
Comme celà tous le monde pourra l'utiliser.
DjPopol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 18h32   #4
Expert Confirmé Sénior
 
Avatar de ram-0000
 
Raymond
Inscription : mai 2007
Messages : 7 471
Détails du profil
Informations personnelles :
Nom : Raymond

Informations forums :
Inscription : mai 2007
Messages : 7 471
Points : 10 993
Points : 10 993
Donc ce sera une machine sans droit (enfin si, tout le monde aura tous les droits).

Une autre solution : "chmod -R 777 /", et là, pas de code à développer, tu passes la commande une seule fois et tous les utilisateurs ont accès à tous les fichiers et répertoires .
__________________
Raymond

Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
WinAgentLog WinAgentLog est un service Windows qui collecte en temps réel les messages Microsoft EventLog et les retransmet en utilisant le protocole Syslog à une machine distante.
e-verbe Un logiciel de conjugaison des verbes de la langue française

Ma page personnelle sur DVP

ram-0000 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 13/03/2011, 18h37   #5
Invité de passage
 
Femme
électricien
Inscription : mars 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : électricien
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 10
Points : 0
Points : 0
Oui mais c'est fixe?
Je voudrai seulement avoir les droits le temps que le programme tourne et supprimer ces droits quand le programme se ferme. De façon a ne pas modifier le système.
DjPopol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 18h50   #6
Membre Expert
 
Étudiant
Inscription : août 2004
Messages : 500
Détails du profil
Informations personnelles :
Âge : 22

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2004
Messages : 500
Points : 1 017
Points : 1 017
Envoyer un message via MSN à Senaku-seishin
Arf, je croyais que tu parlais de tout les droits pour l'utilisateur. Alors que tu parlais du programme.

Pour ajouter un utilisateur :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
 
extern char ** environ;
 
int
main (void)
{
        char * argv[] = {"useradd", "-m" , "my_user"}; // Les arguments a transmettre au programme
        fprintf(stdout, "Ajout de l'utilisateur");
        execve("/usr/sbin/useradd", argv, environ); // Execution du programme
fprintf(stdout, "Raté : erreur = %d\n", errno); // Affiche l'erreur
        return 0;
}

Pour changer les droits d'un programme :


int chmod (const char * nom_fichier, mode_t mode); // Changer le mode

int access (const char * nom_fichier, int mode); // Pour vérifier les droits
F_OK Le fichier existe-t-il ?
R_OK Puis-je lire le contenu du fichier ?
W_OK Puis-je écrire dans le fichier ?
X_OK Puis-je exécuter le fichier ?


Exemple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <sys/stat.h>
 
int main()
{
        if (!chmod ("/tmp/exemple.c", 0777))
                printf("OK");
        else
                fprintf(stdout, "Raté : erreur = %d\n", errno); // Affiche l'erreur
}
__________________
Avoir un regard neutre sur notre vie dénuée de sens, c'est la voir tel un ignorant
Senaku-seishin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 18h54   #7
Expert Confirmé Sénior
 
Avatar de ram-0000
 
Raymond
Inscription : mai 2007
Messages : 7 471
Détails du profil
Informations personnelles :
Nom : Raymond

Informations forums :
Inscription : mai 2007
Messages : 7 471
Points : 10 993
Points : 10 993
Alors, il faut que ce programme ait le bit setuid root positionné comme cela, il s'exécutera toujkours en tant que root
__________________
Raymond

Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
WinAgentLog WinAgentLog est un service Windows qui collecte en temps réel les messages Microsoft EventLog et les retransmet en utilisant le protocole Syslog à une machine distante.
e-verbe Un logiciel de conjugaison des verbes de la langue française

Ma page personnelle sur DVP

ram-0000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 19h03   #8
Membre Expert
 
Étudiant
Inscription : août 2004
Messages : 500
Détails du profil
Informations personnelles :
Âge : 22

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2004
Messages : 500
Points : 1 017
Points : 1 017
Envoyer un message via MSN à Senaku-seishin
@ram-0000 : Niveau sécurité c'est zéro... Son projet ne nécessite nullement les droits root!

Il vaut mieux créer un groupe du aura accès a fichier utile avec les droits voulu. Et mettre un suid d'un utilisateur qui appartient au groupe
__________________
Avoir un regard neutre sur notre vie dénuée de sens, c'est la voir tel un ignorant
Senaku-seishin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 19h09   #9
Expert Confirmé Sénior
 
Avatar de ram-0000
 
Raymond
Inscription : mai 2007
Messages : 7 471
Détails du profil
Informations personnelles :
Nom : Raymond

Informations forums :
Inscription : mai 2007
Messages : 7 471
Points : 10 993
Points : 10 993
Citation:
Envoyé par Senaku-seishin Voir le message
@ram-0000 : Niveau sécurité c'est zéro... Son projet ne nécessite nullement les droits root!
Tu as tout à fait raison mais si je lis le besoin initial :
Citation:
Envoyé par DjPopol Voir le message
j'ai besoin d'avoir accès a tous les fichiers du pc Sous Linux.
__________________
Raymond

Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
WinAgentLog WinAgentLog est un service Windows qui collecte en temps réel les messages Microsoft EventLog et les retransmet en utilisant le protocole Syslog à une machine distante.
e-verbe Un logiciel de conjugaison des verbes de la langue française

Ma page personnelle sur DVP

ram-0000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h47.


 
 
 
 
Partenaires

Hébergement Web