Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1853 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  appels system et droit d'accès aux fichers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

appels system et droit d'accès aux fichers

n°2279642
Profil sup​primé
Posté le 18-04-2016 à 13:09:33  answer
 

Bonjour,
 
J'ai écrit un system Client/Serveur dont le serveur fournit une fonction d'appel system.
Je suis dans l'interrogation concernant la viabilité de cette commande system car je ne trouve pas de solution d'administration concernant les droits d'accès aux fichiers.
Connaissez vous une stratégies d'administration qui permettrait de garder cette commande system ?
 
S'il vous plait !
 
Merci pour vore expertise !

mood
Publicité
Posté le 18-04-2016 à 13:09:33  profilanswer
 

n°2279712
rufo
Pas me confondre avec Lycos!
Posté le 19-04-2016 à 14:13:38  profilanswer
 

comme à chaque fois, j'ai pas compris ta question. La commande système est exécutée par ton programme (auquel cas, il le fait via un compte utilisateur qui lui est associé, avec des droits d'accès qui lui sont associés) ou la commande système est exécutée par un utilisateur connecté sur ton serveur, auquel cas, il le fera soit avec le compte utilisateur de ton programme ou, si tu l'autorises, avec un autre compte utilisateur (qui devra êtres déclaré sur le serveur).
 
Quoi qu'il en soit, un serveur tournant sur un système unix n'aura pas de pb de droits d'accès au FS s'il est configuré correctement :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2279715
Profil sup​primé
Posté le 19-04-2016 à 14:21:31  answer
 

Bon, rufo , si tu comprend spas les question ne répond pas. Ou fait le avec umilité.
 
Quoi qu'il en soit non, pas quoi qu'il en soit, j'ai un problème, j'ai posé une question, re si tu comprends pas ne réponds pas !
Merci. Au revoir !

n°2279722
rufo
Pas me confondre avec Lycos!
Posté le 19-04-2016 à 14:50:50  profilanswer
 

"je ne trouve pas de solution d'administration concernant les droits d'accès aux fichiers. " -> je t'ai répondu en t'expliquant qu'un FS (= file system) sous Unix permettait de résoudre ton pb. :o
 
Encore une fois, tes questions et la façon dont tu t'y prends pour implémenter certaines fonctionnalités montre clairement qu'il te manquent pas mal de connaissances théoriques de base (qu'on voit généralement en école d'ingé en informatique). Mon conseil est donc qu'avant de te lancer sur de tels sujets, tu devrais avant combler ces lacunes. Tu gagnerais du temps. ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2279724
Profil sup​primé
Posté le 19-04-2016 à 14:59:02  answer
 

Ben non, c'est toi qui manque soit de base soit de réflexion.
Je fais plein de sous entendu cert !
 
Mais si tu connecte à mon serveur tu obtiens les droist de l'utilistauer qui a lancé le serveur dans le chemin d'appel du programme.
La question est comment accéder authetiquement au ficher par le programme sans donner les même droit à l'utilisateur distant ?
 
Voilà !
Si c'est encore pas clair et que ça intéresse vraiment qu'elqu'un , je reformulerais en développant encore.
Merci pour vos réponses et de votre investissement !

n°2279733
rufo
Pas me confondre avec Lycos!
Posté le 19-04-2016 à 15:27:48  profilanswer
 

"ou la commande système est exécutée par un utilisateur connecté sur ton serveur, auquel cas, il le fera soit avec le compte utilisateur de ton programme ou, si tu l'autorises, avec un autre compte utilisateur (qui devra êtres déclaré sur le serveur). "
 
-> Qu'est-ce que tu n'as pas compris dans mon post ? Ton programme donne accès à des fonctions systèmes. Il n'empêche que c'est toi, via une fonction de saisie qui donne cette possibilité. Charge donc à toi de voir si tu lances la fonction système via le même compte que ton programme ou via un autre compte (cf la commande "su" ). Et comme indiqué, ton programme peut très bien être lancé avec un compte ayant des droits restreints (donc pas en root).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2279735
Profil sup​primé
Posté le 19-04-2016 à 15:33:46  answer
 

Mais moi je veux donner des droit commun à tout utilisateur(s) mais qui n'en à pas sur le compte d'appelle du programme !
J'espère que c'est pas pareil !

n°2279736
Profil sup​primé
Posté le 19-04-2016 à 15:36:53  answer
 

Je ne peux pas faire su dans un Spanw Ada !
Je vais vérifier mais je sais pas passer le passwd, je le connais pas !

n°2279741
rufo
Pas me confondre avec Lycos!
Posté le 19-04-2016 à 15:48:21  profilanswer
 

Rien ne t'empêche de déclarer un autre compte utilisateur avec moins de droits que celui qui fait tourner ton programme. Du coup, tu connais le mdp. Ce compte sera utilisé pour tous les appels systèmes des tes users.
 
Si compliqué à passer en une suele ligne de commande, tu peux très bien avoir un thread de ton programme qui soit lancé en tant que serveur (annexe) qui sera, lui, lancé avec ce fameux compte utilisateur restreint et dont la tâche sera uniquement d'exécuter ces appels systèmes des clients et renverra le résultat au serveur principal.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2279744
Profil sup​primé
Posté le 19-04-2016 à 15:56:39  answer
 

Du coup, Merci !
 
Qu'entend tu avec moins de droit, dans Gnu/Linux t'as des droit ou pas !
Alors lesquels ?
 
Si non, je ne connais toujour pas le mot de passe, effectuvelent l'idée du thread et une idée, Merci !
Mais j'aimerais mieux règler ça autrement que par un thread spécial, tu peux reformuler s'il te plait ! Hein ! S'il te plais !
 
Le password je veux bien le passer pour une connexion mais, pas de longue à chaque appel.
 
Merci encore pour ton aide.


Message édité par Profil supprimé le 19-04-2016 à 15:56:56
mood
Publicité
Posté le 19-04-2016 à 15:56:39  profilanswer
 

n°2279746
rufo
Pas me confondre avec Lycos!
Posté le 19-04-2016 à 16:02:35  profilanswer
 

Sous Linux, t'as pleins de droits puisque ton compte va pouvoir accéder en R/W/X à tel ou tel fichier ou répertoire, ce pour tous les répertoires/fichiers du file system. Ca te permet donc de régler finement ce à quoi un compte peut accéder et faire.
 
Le mdp, tu le mets dans le programme : pas besoin de l'envoyer à chaque requête. Tu n'en as besoin que pour lancer le thread qui va traiter les appels systèmes des clients.
 
Je t'ai donné des pistes, à toi de creuser. Pour le coup, on est plus dans le domaine de l'admin système que de la prog.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2279747
Profil sup​primé
Posté le 19-04-2016 à 16:04:36  answer
 

Est-il possible de setter le bit SUID pour un fichier appartenant au groupe de l'utilisateur qui appel le programme.
Mais sans donner les droits sur les fichiers exclusivement du propriétaire.
 
Un SGID ?
 
Je vais motoriser la recherche.

n°2279748
Profil sup​primé
Posté le 19-04-2016 à 16:05:04  answer
 

rufo a écrit :

Sous Linux, t'as pleins de droits puisque ton compte va pouvoir accéder en R/W/X à tel ou tel fichier ou répertoire, ce pour tous les répertoires/fichiers du file system. Ca te permet donc de régler finement ce à quoi un compte peut accéder et faire.
 
Le mdp, tu le mets dans le programme : pas besoin de l'envoyer à chaque requête. Tu n'en as besoin que pour lancer le thread qui va traiter les appels systèmes des clients.
 
Je t'ai donné des pistes, à toi de creuser. Pour le coup, on est plus dans le domaine de l'admin système que de la prog.


 
 
Ah pardon, j'ai pas lu encore.

n°2279749
Profil sup​primé
Posté le 19-04-2016 à 16:05:54  answer
 

Toujours pas compris.

n°2279752
rufo
Pas me confondre avec Lycos!
Posté le 19-04-2016 à 16:10:04  profilanswer
 

Ton programme va créer un thread (sous unix, ça sera un processus) qui va être lancé avec les droits d'un autre compte utilisateur aux droits plus restreints que le compte qui a lancé le programme principal.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2279753
Profil sup​primé
Posté le 19-04-2016 à 16:10:50  answer
 

Je vais jouer avec les stikybit pour les groupe !
 
Merci je pense que c'est clair !
Je suis désolé j'ai pas eu la présence d'esprit !
Tellement de chose à penser...

n°2279755
Profil sup​primé
Posté le 19-04-2016 à 16:18:02  answer
 

Comme ça, j'ai pas besoin ni de mot de passe j'ai pas de compte, ni de thread supplémentaire, j'ai pas de compte utilistauer.
 
J'ai un compte propriétaire et un compte group je lance l'exécutable en tant que propriétaire et j'exécute en tant qu'utilistaue apartenant au group !
Faut que je test pas que c'est pas clair en fait !
.
Le but est de donnéer des droit en lecture seule pour les fichier appartenant au propriétaire pour le groupe.
Sauf pour la racine d'appel soit HOME/quelque chose/
 
Mais il me faut bien deux compte un compte admin du path et un compte invité du path avec les droit du groupe d'admin du path.
Je vais tester !
 
A+

n°2279764
Profil sup​primé
Posté le 19-04-2016 à 18:08:17  answer
 

Bien, je galère je reprends.
 
Comment je passe le mot de passe à su en passant par spawn ?
 
Mon appel à spawn est de type :

Code :
  1. Process :=
  2. Non_Blocking_Spawn
  3.   (Program_Name => Exec_Path.all,
  4.    Args         => Buffer_Args.all,                          
  5.    Output_File  => System_Output_Filename,
  6.    Err_To_Out   => True
  7.    );          
  8. if Process /= Gnat.Os_Lib.Invalid_Pid then
  9.                
  10.    Gnat.Os_Lib.Wait_Process(Process, Success);
  11.                  
  12. end if;


 
Voilà mon problème pour le moment, j'en suis à utiliser "su -c \"command\"" si ça marche...
Parce que c'est pas gagner.


Message édité par Profil supprimé le 19-04-2016 à 18:14:30
n°2279769
Profil sup​primé
Posté le 19-04-2016 à 19:19:46  answer
 

N'essaye pas de tordre la cuillère acr c'est impossible, tu dois faire éclater la vérité.
Quelle vérité ?
La cuillère n'existe pas.
Merci pour votre aide, je vais supprimer l'appel système, j'implémenterais moi même les fonctions donts j'ai besoin ou une sur couche je sais pas.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  appels system et droit d'accès aux fichers

 

Sujets relatifs
[C#]Problème de droit d'accès, Outil de rechercheModification droit fichier en ligne de commande .bat
Projet d'app Windows 10 universelle, accès aux données.Accès aux résultats d'une procédure stockée avec curseur
System.out.println dans méthode mainerreur code php pour accès localhost
[MVVM] Traitements/Accès réseaux depuis le "Model" ?acces ftb en visual basic
[IIS] Accès page web par http://adresse_ip 
Plus de sujets relatifs à : appels system et droit d'accès aux fichers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR