Gambas France BETA


Pas de compte ? Incription

Permissions sucrées....

Ce sujet est résolu.

12
AuteurMessages
Foromus#1 Posté le 3/2/2012 à 18:50:53
Bonjour à tous,

Sur mon portable, j'ai créé 3 comptes (sous Ubuntu).
J'ai un petit programme que je souhaite accessible à tout le monde (donc, quelque soit le compte)
Pas de soucis, j'ai créé un répertoire Commun (en dehors des 3 Home), je mets mon programme dedans, avec ses fichiers, et tout va bien, ça marche...
Sauf que...
Mon programme crée et détruit des fichiers. J'avais aussi trouvé sur ce site la possibilité de tester le programme déjà ouvert en créant un fichier vide, et en l'effaçant à la fermeture. Et là, ça déraille.
Ubuntu accorde des permissions à l'utilisateur en cours, celui qui utilise le compte. Le souci, c'est que mon programme a beau être commun, si l'utilisateur Jean se sert du programme et qu'il y a création d'un fichier, il est impossible à l'utilisateur Jacques d'utiliser le fichier créé par Jean... Et ça, ça me gêne.
En fait, l'idéal serait que mon projet, quand il crée un fichier, lui donne vraiment toutes les permissions. Or j'utilise la formule toute simple "Open Chemin/Machin for Create", et je ne vois pas où et comment je pourrais rajouter les 3 lettres caractéristiques qui renseignent les permissions.
Là, je suis bien embêté...
Si qq'1 a une idée...

Merci beaucoup.
Prokopy#2 Posté le 3/2/2012 à 19:57:31
Kinder PinguiSalut Foromus,

Dans la dernière version de Gambas il y a l'instruction Chmod :

1
CHMOD "/commum/fichier" TO "rwxrwxrwx"
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
Foromus#3 Posté le 3/2/2012 à 20:27:07
Bonsoir,

Effectivement, chmod.
Jusqu'à présent, j'utilisais en console, et encore, rarement, la fonction Propriétés des répertoires ou fichiers me suffisait.
Cela dit, je viens de faire un petit test, chmod n'est pas reconnu.
Pourtant, j'ai bien le lien vers les dépôts, mais il est vrai que les MàJ sous Ubuntu ont tendance se faire attendre.
Peut-être sera-ce la solution, encore que si il faut ajouter à chaque fois, ça risque d'être pénible, même s'il n'y a qu'une ligne. Et encore, est-ce que je la colle sitôt après la première ligne de création ou après la fermeture ?
Bon, je verrai quand ça sera disponible, mais ça fait bien longtemps que je n'ai pas eu de MàJ de Gambas
Prokopy#4 Posté le 3/2/2012 à 20:31:01
Kinder PinguiEn attendant tu peux l'utiliser avec exec :

1
EXEC ["chmod", "/commun/fichier", "777"]


;)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
gambix#5 Posté le 3/2/2012 à 20:51:32
Faire simple !svn...
Moins de texte dans une signature c'est agrandir son espace.
Foromus#6 Posté le 3/2/2012 à 20:54:25
Ah merci, je vais voir ça.
Je viens de forcer les MàJ, rien n'est sorti concernant Gambas ! (Je pense avoir le bon lien...)
gambix#7 Posté le 3/2/2012 à 21:11:44
Faire simple !http://gambasdoc.org/help/lang/chmod?v3
Moins de texte dans une signature c'est agrandir son espace.
Foromus#8 Posté le 3/2/2012 à 21:54:49
Bonsoir Gambix

Oui, là j'étais sur le lien, je craignais que ma mémoire m'eut lâché... Mais non...
J'ai tenté Exec..., c'est accepté, mais je ne pense pas que ça colle.
J'ai essayé sur le fichier vide qui me sert de référence d'ouverture. Normalement, il faudrait que les 3 permissions fussent agréées, càd, utilisateur, groupe, autres. Or, si le premier est bien en lecture écriture, les deux autres restent inexorablement en lecture seule, ce qui va poser souci si je passe sur un autre utilisateur. J'ai tenté le "777", puis le "rwxrwxrwx", j'en suis toujours au même point.
Bon, mais je reconnais que j'ai toujours eu un peu de soucis avec les permissions... Avec ma machine de bureau, je suis tranquille, vu que je suis le seul utilisateur, avec le portable, c'est un peu plus compliqué pour les choses communes...
Maintenant, je crois me souvenir qu'il y a aussi une possibilité de mettre les fichiers de données dans chaque home particulier, cela dit, je n'aime pas trop, je préfère avoir l'intégralité de mon projet dans le même répertoire. Mais c'est un choix tout à fait personnel.
Zoltic#9 Posté le 3/2/2012 à 22:06:27
As tu envisagé de mettre tous les concernés dans un même groupe secondaire qui lui aurait toutes les autorisations nécessaires héritées du répertoire parent ?
Point n'est besoin d'espérer pour entreprendre ni de réussir pour persévérer.
Charles de Valois-Bourgogne, dit "le Téméraire".
Foromus#10 Posté le 3/2/2012 à 22:18:39
Bonsoir Zoltic,

Désolé : Qui sont les "concernés" ? Les utilisateurs ou les fichiers ?
Par ailleurs, je ne suis pas certain que les sous-répertoires héritent systématiquement. En plus, dans le cas de multi-utilisateurs, il est possible que un répertoire donné soit créé par un utilisateur A (concepteur par exemple) et que le dit répertoire soit récipiendaire de fichiers ou sous-répertoires créés par un utilisateur B (ou / et C). Dans ce cas de figure, les fichiers finals n'auront pas forcément les bonnes permissions. J'ai déjà eu quelques soucis de ce côté...
linuxos#11 Posté le 3/2/2012 à 22:50:04
Un peu de sel, de poivre et la crevette sera... Il te faudrait, comme l'a dit Zoltic, faire appartenir tous les utilisateurs qui utiliseront ton application au meme groupe Unix: /etc/group

De plus, pour les droits de fichiers, tu peux jouer avec le mask de création de fichier (cmd: umask) pour chaque compte Unix ce qui te permettra de positionner les bons droits par défaut lors de la création des répertoires ou fichiers pour chaque utilisateur.

Par défaut pour les fichiers: umask = 0002

Donc cela donnerait:

Pour un fichier:

umask 0002 => touch fichier_exemple => -rw-rw-r-- 1 user1 groupuser 0 3 févr. 22:41 fichier_exemple


Pour un répertoire:

umask 0002 => mkdir repertoire_exemple => drwxrwxr-x 1 user1 groupuser 4096 3 févr. 22:41 repertoire_exemple

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
Zoltic#12 Posté le 3/2/2012 à 23:22:28
Bonsoir Foromus,

En fait c'est les deux mon général, les utilisateurs (Toto, Tata, Titi) sont déclarés dans le groupe "Ensemble" et les fichiers appartiennent à l'utilisateur Toto et au groupe Ensemble.
Pour l'utilisation des umask, je laisse la parole à linuxos, moi je me suis toujours mélangé les pinceaux, il suffit ensuite, à la création du répertoire, de ne pas oublier de faire un chmod avec le setGID bit qui permet au fichiers contenus dans le répertoire d'appartenir automatiquement au même groupe que le répertoire.

Un truc du genre :

mkdir monrep
chgrp ensemble monrep
chmod 2775 monrep

Tous les fichiers créés dans le répertoire seront au moins en rw-rw-r-- et appartiendront au groupe "ensemble", même si l'utilisateur qui crée le fichier appartient, en groupe primaire, au groupe "moi_je"
Sauf.... si la politique de sécurité appliquée sur ta bécane dit le contraire. :)

pour mettre des utilisateur dans des groupes secondaire il suffit de les déclarer dans /etc/group sans toucher au groupe primaire déclaré dans /etc/passwd.
Point n'est besoin d'espérer pour entreprendre ni de réussir pour persévérer.
Charles de Valois-Bourgogne, dit "le Téméraire".
Foromus#13 Posté le 4/2/2012 à 09:03:17
Oh lalala.. Mes neurones n'ont plus 20 ans.. Et pas mal sont feu...
Je vois que tout le monde a compris mon souci, je le récapitule :
J'ai un projet "Petit jeu", il est accessible par les 3 utilisateurs de la machine. A la limite, ça marche.
Maintenant, pour jouer, il faut s'inscrire, entrer son prénom (donc, fichier), ensuite, les scores sont mémorisés (donc, fichiers encore). Naturellement, tout individu Lambda qui se présente prétend avoir le droit de jouer, quelque soit la session d'utilisateur en service. Pire encore, si Lambda s'en va prendre un café puis passe aux toilettes ensuite, et qu'il revienne, il exige de surcroît de retrouver son nom et ses scores, alors qu'entre deux, l'utilisateur de la machine a changé !
En clair, il me faudrait un répertoire qui n'appartienne à personne, avec des fichiers publics !
J'ai effectivement créé un répertoire dans ce sens, en dehors des home, avec toutes les permissions possibles et à ma portée, je pensais que ça fonctionnait, jusqu'au moment où je me suis aperçu que ça coinçait...
Bien, maintenant, mettre en place les suggestions ci-dessus, je vais y réfléchir, pas certain que je comprenne tout, et pas certain que j'obtienne le résultat souhaité, il se peut du reste que cela ne soit tout simplement pas possible.
Pour la sécurité de mon portable, j'ai fait ce que j'ai pu, mes homes sont cryptés, ainsi que le propose Ubuntu, et ceci dans le cas de vol de la machine. Je suppose qu'un crakeur ouvrirait assez facilement les fichiers, cela dit, si j'ai à être volé, ce sera par un autre genre de malfaiteur.
Finalement, j'ai conscience que je suis en train de chercher un truc bien au-dessus de mes moyens...
Zoltic#14 Posté le 4/2/2012 à 12:06:24
Ne chercher que ce que l'on connait, cela s'appelle "trouver". :)

J'ai jamais appris l'informatique à l'école et j'ai terminé ma vie professionnelle comme responsable technique des machines de sécurité informatique à Elf Aquitaine Production. Comme quoi on peut apprendre tout seul, rien n'est trop haut.
Excuse moi pour le "couplet" sur la politique de sécurité, c'était une boutade en relation avec mes propres activités. Je ne pense pas qu'il y ait un soucis de ce coté là.

Ne baisse pas les bras, ton problème n'est pas insoluble, loin de là. Il faut effectivement créer le répertoire comme je te l'ai indiqué ET positionner les umask comme expliqué par linuxos. D'un coté tu définis les autorisations, de l'autre tu les appliques.

Il faut bien savoir un truc, dans les systèmes Linux les autorisations sont décrites par les fichiers et répertoires eux même. C'est eux qui disent qui peut et qui peut pas écrire, lire, exécuter. L'appartenance à des groupes permet de simplifier les choses et de ne pas être obligé de détailler individu par individu. Comme dans la vie réelle. Ta famille et toi avez une clef de chez toi, tes amis entrent à la demande, les vendeurs à la sauvette restent dehors. L'accès à ton domicile est régit par l'appartenance à des groupes : Famille, amis, reste du monde. Sur un ordi y'a que "root" tout puissant qui a l'autorisation de tout faire. Alors à moins de faire comme sous Window$ et de donner à tout le monde les privilèges de l'administrateur on doit déterminer qui peut faire quoi.

Je connais pas Ubuntu, mais j'imagine qu'il doit y avoir une interface d'administration qui permet de modifier les fichiers "passwd" et "group" et qui contrôle que ce que tu fais est en accord avec la politique de sécurité mise en place. C'est avec ça que tu vas créer le groupe "ensemble" et que tu vas y inclure des utilisateurs.
Ensuite tu créeras le répertoire commun au groupe comme indiqué et tu positionneras les "umask". A priori ils doivent pas être trop mal actuellement.

En cas de besoin, n'hésite pas a poser des questions, ici ou par "pm". Je te répondrai au mieux de mes compétences, et je suis certain que linuxos fera de même. La connaissance ne vaut que si elle est partagée.

Bonne journée.

PS: En ce qui concerne le cryptage des "home" et autres "sécurités", la question primordiale à se poser est : Le infos contenues de mon ordi valent elles qu'un "vrai hacker" passe plus de 15 minutes pour les obtenir ?
Si c'est pas le cas ne te donne pas trop de mal, un vrai pro cassera ton système si ça les vaut et un amateurs ne passera pas le blocage minimum automatique du système. Même si ça peut paraitre vexant, les "Anonymous" ne s’intéresseront sans doute jamais à ta bécane, pas plus qu'à la mienne d'ailleurs. :) :) :)
Point n'est besoin d'espérer pour entreprendre ni de réussir pour persévérer.
Charles de Valois-Bourgogne, dit "le Téméraire".
Foromus#15 Posté le 4/2/2012 à 13:23:38
Bonjour Zoltic,

Merci pour cette leçon de philo ! Mais au risque d'apparaître dans la pire fatuité, je dirais que vous prêchez à un convaincu... Autodidacte, je l'ai toujours été, que ce soit pour mon professionnel ou encore l'informatique ou ... le bricolage !
Je ne me sens absolument pas vexé par votre conclusion : un vrai pro cassera ton système si ça les vaut et un amateurs ne passera pas le blocage minimum automatique du système.
Ma façon de voir les choses y ressemble, à la nuance près : J'utilise parfois le proxy et l'anonymat, certains diront que c'est inutile, je n'ai rien à cacher. Certes.. A ceux-là je réponds : si vous n'avez rien à cacher, ce n'est pas certain que d'autres pensent la même chose à votre endroit, et essaieront peut-être de pénétrer votre vie privée pour voir si, vraiment, vous n'aviez rien à cacher... Cela dit, je ne me promène pas à poil dans la rue, je n'affiche pas non plus mes relevés bancaires, et ma vie avec Madame ne concerne qu'elle et moi... En cela, oui, j'ai déjà pas mal de choses à cacher ! Et par ailleurs, quand on voit le nombre de fois où l'on est fiché de toute part, il est clair que même les gens les plus honnêtes sont systématiquement épiés, c'est donc qu'ils présentent un intérêt potentiel d'informations. Pire encore, quand on voit les lois liberticides qui ont cours (hadopi & co), on ne peut que légitimement s'inquiéter, et il est prudent de ne pas trop exposer des idées qui ne seraient pas dans le sens du vent dominant.
Bon, je m'écarte du sujet, je vais essayer de voir ce que je peux faire.
Je suis loin de maîtriser Ubuntu, maintes fois je me suis fait jeter et détester du site par mes questions stupides de débutant, et le passage de Windows à Ubuntu s'est quand même fait, pas vraiment dans la douleur, mais au prix d'une réelle motivation...
Merci pour vos encouragements.
12