1 (edited by 8087 2011-11-05 12:23:50)

Topic: ForceRights et sticky bit

Bonjour,

je suis en train de réfléchir sur mon serveur MSS à une gestion plus fine des droits des fichiers et dossiers, notamment à l'utilisation de la directive ForceRights. Ce que j'observe, c'est que dès que l'on positionne ce tag, alors tous les droits sont figés à cette valeur (que ce soit à la création ou à la modification des permissions) et que les directives DefaultRights, MinimumRights et MaximumRights deviennent inopérantes. Est-ce bien ça ?

Je m'attendais plutôt à ce que ForceRights force les bits levés et laisse tranquille les autres, mais ce comportement m'arrange plutôt pour les dossiers (dont je voudrais figer les droits à 1775). Par contre, je veux laisser possible la modification des droits des fichiers.

En fait, il semble qu'avec une directive

ForceRights 0000 1775

les droits des fichiers ne soient plus imposés, seulement ceux des dossiers, très bien ! Malheureusement, ça ne marche pas pour le sticky bit. Avec la config suivante

ForceRights 0000 1775
DefaultRights 0660 1775
MinimumRights 0640 1775
MaximumRights 0666 1775

tout se passe comme voulu pour les fichiers (on peut changer leurs droits entre 0640 et 0666), mais pas côté dossiers.
Si on essaie de modifier un droit ordinaire (par exemple mettre 777 ou 770), le changement est bien refusé, mais au passage le sticky bit est perdu -> 0775. Suis-je assez clair ?

J'ai fait mes tests avec MSS 1.25, nautilus comme client, et rien n'apparaît dans les logs au changement de permissions.

Re: ForceRights et sticky bit

Bonour

8087 wrote:

Bonjour,

je suis en train de réfléchir sur mon serveur MSS à une gestion plus fine des droits des fichiers et dossiers, notamment à l'utilisation de la directive ForceRights. Ce que j'observe, c'est que dès que l'on positionne ce tag, alors tous les droits sont figés à cette valeur (que ce soit à la création ou à la modification des permissions) et que les directives DefaultRights, MinimumRights et MaximumRights deviennent inopérantes. Est-ce bien ça ?


Je m'attendais plutôt à ce que ForceRights force les bits levés et laisse tranquille les autres, mais ce comportement m'arrange plutôt pour les dossiers (dont je voudrais figer les droits à 1775). Par contre, je veux laisser possible la modification des droits des fichiers.

Alors pour reprendre le fonctionnement de ces directives:

  • DefaultRights: remplacer les droits envoyés par le client SFTP par ceux configurés

  • MinimumRights: ces droits sont ajoutés aux droits envoyés par le client SFTP

  • MaximumRights: ces droits représentes le maximum des droits autorisés

  • ForceRights: est finalement un doublon de DefaultRights (je viens juste de le voir... ok c'est une boulette smile)

8087 wrote:

En fait, il semble qu'avec une directive

ForceRights 0000 1775

les droits des fichiers ne soient plus imposés, seulement ceux des dossiers, très bien ! Malheureusement, ça ne marche pas pour le sticky bit. Avec la config suivante

ForceRights 0000 1775
DefaultRights 0660 1775
MinimumRights 0640 1775
MaximumRights 0666 1775

tout se passe comme voulu pour les fichiers (on peut changer leurs droits entre 0640 et 0666), mais pas côté dossiers.
Si on essaie de modifier un droit ordinaire (par exemple mettre 777 ou 770), le changement est bien refusé, mais au passage le sticky bit est perdu -> 0775. Suis-je assez clair ?

J'ai fait mes tests avec MSS 1.25, nautilus comme client, et rien n'apparaît dans les logs au changement de permissions.

Juste une question, lors de la création d'un dossier les droits sont corrects?

Effectivement lors d'un changement de droits, il y a du vieux code qui restreint les droits à "0777" maximum ... je corrige pour la version 1.30 de MySecureShell.

J'espère que je réponds à toutes les questions smile

Re: ForceRights et sticky bit

Bonjour,

Merci pour votre réponse et désolé pour le délai de la mienne...

teka wrote:

Alors pour reprendre le fonctionnement de ces directives:

  • DefaultRights: remplacer les droits envoyés par le client SFTP par ceux configurés

  • MinimumRights: ces droits sont ajoutés aux droits envoyés par le client SFTP

  • MaximumRights: ces droits représentes le maximum des droits autorisés

  • ForceRights: est finalement un doublon de DefaultRights (je viens juste de le voir... ok c'est une boulette smile)

Alors en fait je suis d'accord pour les trois premiers, mais je ne constate pas que ForceRights soit un doublon de DefaultRights. Ce que j'observe, c'est que ForceRights fixe les droits lors d'une création de fichier et empêche ensuite toute modification des permissions par le client -- et c'est tout-fait en cohérent avec le nom de la directive.

Pour moi, ça veut dire que si on utilise ForceRights dans une section de la config, ça n'a plus de sens d'utiliser les trois autres directives dans la même section, mais comme ça n'est pas dit nettement dans la documentation, je me pose des questions.

Par contre, je constate une exception pour

ForceRights 0000

qui au lieu d'imposer des droits nuls, n'impose plus rien du tout. Là encore, c'est juste le résultat de mes tests et je me demande si c'est bien une fonctionnalité prévue pour durer.

teka wrote:

Effectivement lors d'un changement de droits, il y a du vieux code qui restreint les droits à "0777" maximum ... je corrige pour la version 1.30 de MySecureShell.

Ça m'intéresse, merci, car en attendant je ne vois pas d'autre solution que d'installer une tâche cron qui remet régulièrement le sticky bit là où il manque.

teka wrote:

Juste une question, lors de la création d'un dossier les droits sont corrects?

Oui, le problème apparaît juste quand on essaie de modifier les permissions.

Une dernière observation. Je trouve que MSS a des fonctionnalités très riches et qu'il tourne très bien - les bugs comme celui dont nous avons parlé se faisant de plus en plus rares. Là où il y a (à mon avis) un point faible, c'est au niveau de la documentation ; par exemple les fiches de description des directives pourraient être un peu plus précises. Si jamais vous avez envie de les compléter un peu, je suis à votre disposition pour vous aider.

Re: ForceRights et sticky bit

Bonsoir,

8087 wrote:

Bonjour,

Merci pour votre réponse et désolé pour le délai de la mienne...

Pas de soucis smile

8087 wrote:

Alors en fait je suis d'accord pour les trois premiers, mais je ne constate pas que ForceRights soit un doublon de DefaultRights. Ce que j'observe, c'est que ForceRights fixe les droits lors d'une création de fichier et empêche ensuite toute modification des permissions par le client -- et c'est tout-fait en cohérent avec le nom de la directive.

Malgré les 2 noms différents les tags font la même choses... smile

8087 wrote:

Pour moi, ça veut dire que si on utilise ForceRights dans une section de la config, ça n'a plus de sens d'utiliser les trois autres directives dans la même section, mais comme ça n'est pas dit nettement dans la documentation, je me pose des questions.

Effectivement ça n'a pas de sens d'utiliser les autres directives mais cela n'affecte pas ForceRights dans tout les cas smile

8087 wrote:

Par contre, je constate une exception pour

ForceRights 0000

qui au lieu d'imposer des droits nuls, n'impose plus rien du tout. Là encore, c'est juste le résultat de mes tests et je me demande si c'est bien une fonctionnalité prévue pour durer.

Tout à fait, c'est le moyen "officiel" (mais pas clairement documenté) de désactiver le ForceRights smile

8087 wrote:

Une dernière observation. Je trouve que MSS a des fonctionnalités très riches et qu'il tourne très bien - les bugs comme celui dont nous avons parlé se faisant de plus en plus rares. Là où il y a (à mon avis) un point faible, c'est au niveau de la documentation ; par exemple les fiches de description des directives pourraient être un peu plus précises. Si jamais vous avez envie de les compléter un peu, je suis à votre disposition pour vous aider.

Merci beaucoup.
Oui tout aide est bonne à prendre et je dois avouer que la documentation n'est pas toujours clair (mais en théorie à jour)...
Pour les compléter, il suffit de mettre à jour directement la page web ou directement par mail (je m'occupe de la mise en forme).
Toute aide est bonne à prendre big_smile

Re: ForceRights et sticky bit

Bonsoir,

teka wrote:
8087 wrote:

Alors en fait je suis d'accord pour les trois premiers, mais je ne constate pas que ForceRights soit un doublon de DefaultRights. Ce que j'observe, c'est que ForceRights fixe les droits lors d'une création de fichier et empêche ensuite toute modification des permissions par le client -- et c'est tout-fait en cohérent avec le nom de la directive.

Malgré les 2 noms différents les tags font la même choses... smile

Vous êtes bien sûr ?? Voilà mon expérience.
Je crée un utilisateur testuser et lui fais la config suivante :

<User testuser>
        ForceRights     0000 0775
        DefaultRights   0660 0775
        MinimumRights   0640 0775
        MaximumRights   0664 0775
</User>

Je me connecte alors par sftp avec nautilus en tant que testuser et sur le serveur comme root pour examiner le dossier personnel de testuser en même temps.

Je crée un fichier via sftp -> root voit les bons droits 660.
J'utilise nautilus bouton droit, onglet permissions pour modifier les droits via sftp et j'arrive à les modifier au minimum en 640 et au maximum en 664 - et c'est bien ce que constate root. Tout va bien !

Maintenant je change juste ForceRights dans la config :

<User testuser>
        ForceRights     0644 0775
        DefaultRights   0660 0775
        MinimumRights   0640 0775
        MaximumRights   0664 0775
</User>

et redémarre bien sûr MSS. Je crée un fichier via sftp -> root voit les droits 644 et pas 660.
J'essaie de modifier les permission avec nautilus -> elles restent scotchées à 644.
Donc ForceRights fait bien son boulot et n'est pas identique à DefaultRights, non ?

Sinon, pour travailler sur la doc, il vaudrait peut-être mieux en parler par mail privé ?

Re: ForceRights et sticky bit

Bonjour

8087 wrote:

et redémarre bien sûr MSS. Je crée un fichier via sftp -> root voit les droits 644 et pas 660.
J'essaie de modifier les permission avec nautilus -> elles restent scotchées à 644.
Donc ForceRights fait bien son boulot et n'est pas identique à DefaultRights, non ?

Oui il y a 2 chemins techniques pour arriver au même résultat...
Sur MySecureShell 1.25, ForceRights est prioritaire sur DefaultRights smile

8087 wrote:

Sinon, pour travailler sur la doc, il vaudrait peut-être mieux en parler par mail privé ?

Je peux abuser de mes droits d'aministrateurs pour vous envoyer directement un mail ?  big_smile

Re: ForceRights et sticky bit

teka wrote:

Je peux abuser de mes droits d'aministrateurs pour vous envoyer directement un mail ?  big_smile

Oui, bien entendu !