1 (edited by cemoi 2010-01-27 22:14:56)

Topic: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

Bonjour smile

Je cherche à avoir des droits (par default) différents par répertoire suivant leur usage. J'entends par là quand l'utilisateur machin qui fait parti du griuo truc créé un repertoire que les droits de ce repertoire sois par default à tel droit, pareil pour les fichiers.
Le umask ne suffit pas sauf si je peux l'appliquer par repertoire ce qui n'est pas le cas. J'ai fait une note sur ce chmilblic car c'est un peu tordu à exlpliquer.

Le serveur est chez moi la ditrib est une debian lenny le client utilisé coté windouze est winscp.

Voila les détails sont dans le document je rame un peu pour la config merci du coup de main ;-).

http://matlane2000.free.fr/divers/arbo_ … r_sftp.pdf

1 serveur dédié sous debian Lenny avec virtualisation sous openvz >>  carte via epia avec cpu c3 800mhz 1go de ddr2 et un dd en ide 160go. Ligne adsl perso 18mo/1mo et 1 serveur dédié sous debian Lenny carte asus cpu celeron 533 512 sdram et un dd de 100go raid1 en LVM. ligne sdsl 4mo (renater)             Have fun! ;)

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

Bonsoir,

Il est possible d'affecter automatiquement les droits de propriété ou de groupe automatiquement à partir des droits unix (voir la section "Sticky Bit" du man de "chmod" pour toutes les infos).

Cela répond au besoin ? smile

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

Bonjour smile bon voila ce que je comprends:

Le sticky bit

        Ce droit réservé à root s'applique à un répertoire et corrige une bizzarerie du système. Par defaut, un répertoire accessible en écriture à un ensemble d(utilisateurs permet à l'un d'entre eux de détruire les fichiers d'un autre utilisateur. Avec le "sticky bit" il faut etre propriétaire d'un fichier pour avoir le droit de le détruire.

Les droits d'endossement (SUID, SGID) pour un exécutable

       Le principe des droits d'endossement est d'augmenter les privilèges des utilisateurs. Par exemple, le droit set-UID (SUID) sur un binaire exécutable permet à l'utilisateur de l'application correspondante d'avoir les mêmes droits d'accés que le propriétaire du binaire.
Le droit Set-GID (SGID) permet lui d'endosser les droits du groupe auquel est affilié le binaire.

Exemple: le fichier etc/shadow n'est en théorie accéssible qu'à root. Or tout utilisateur a accés en écriture à ce fichier lorsqu'il change son mot de passe grâce à la commande /usr/bin/passwd. l'explication réside dans le fait que cette commande, possédée par root posséde le droit SUID et donne de fait à tous à tous les utilisateurs les mêmes droits que root.

Le droit SGID pour un répertoire.

       Lorsque l'on crée un fichier il est automatiquement affilié à son groupe courant, qui est par defaut son groupe principal. Si l'on crée un fichier dans un répertoire qui posséde le droit SGID, son groupe sera identique à celui du répertoire. La conséquence c'est que l'ensemble des fichiers du répertoire appartiendra au même groupe, ce qui est intéressant pour un répertoire accésible à plusieurs personnes.

Maintenant je vais tester Le droit SGID sur certain de mes répertoires... je n'ai jamais fait es qu'il y a une option pour mysecureshell ou faut il que je gére ça au niveau du systéme lui même (file systéme)?...

Vu sur: http://www.linux-france.org/article/sys … ers-3.html

Merci pour la réponse ultra rapide j'ai répondu moins vite car ça fait pédaler ces droits.... roll

1 serveur dédié sous debian Lenny avec virtualisation sous openvz >>  carte via epia avec cpu c3 800mhz 1go de ddr2 et un dd en ide 160go. Ligne adsl perso 18mo/1mo et 1 serveur dédié sous debian Lenny carte asus cpu celeron 533 512 sdram et un dd de 100go raid1 en LVM. ligne sdsl 4mo (renater)             Have fun! ;)

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

Bonjour,

Tout les droits sont gérés par le système d'exploitation et le tout est totalement transparent pour MySecureShell.



Merci pour la réponse ultra rapide j'ai répondu moins vite car ça fait pédaler ces droits.... roll

Pas de soucis wink

5 (edited by cemoi 2009-05-15 21:57:49)

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

teka wrote:

Bonjour,

Tout les droits sont gérés par le système d'exploitation et le tout est totalement transparent pour MySecureShell.

Salut,

bon je ne m'en sort pas de ces histoires de droits que ce sois au niveau systéme ou au niveau de mysecureshell....

Le vrai problème c'est l'héritage des droits par défault sur les fichiers et/ou les répertoires créés je vais tenter d'être le plus explicite possible :-)

Voici le sftp_config:

<Default>
GlobalDownload 10m
Home /home
VirtualChroot true
IgnoreHidden true
Charset "iso-8859-1"
IdleTimeOut 50m
CanChangeTime false

CanChangeRights false
HideFiles "^(lost\+found|www)$"
LogFile /var/log/sftp/global.log
MaxOpenFilesForUser 12
MaxReadFilesForUser 12
MaxWriteFilesForUser 12
</Default>

<Group sftpbois>
LogFile /sftp/sftp_bois.log
DefaultRights 0775 0775
Download 1m
Upload 0
StayAtHome true
VirtualChroot true
LimitConnection 60
LimitConnectionByIP 10
</Group>

<User agioo>
LogFile /var/log/sftp/agioo.log
HideFiles "^(lost\+found|fredcol|lapom|cemoi|jmcussous|lolobenas|test|munin)$"
</User>

<User jmcussous>
LogFile /var/log/sftp/jmcussous.log
HideFiles "^(lost\+found|fredcol|lapom|cemoi|agioo|lolobenas|test|munin)$"
</User>

<User lolobenas>
LogFile /var/log/sftp/lolobenas.log
HideFiles "^(lost\+found|fredcol|lapom|cemoi|jmcussous|agioo|test|munin)$"
</User>

<User fredcol>
LogFile /var/log/sftp/fredcol.log
HideFiles "^(lost\+found|agioo|lapom|cemoi|jmcussous|lolobenas|test|munin)$"
</User>

<User lapom>
LogFile /var/log/sftp/lapom.log
HideFiles "^(lost\+found|fredcol|agioo|cemoi|jmcussous|lolobenas|test|munin)$"
</User>


ici j'ai fonctionner par exclusion (mais par désespoir car je n'arrive pas à aboutir à ce que je veux) en gros je cache le répertoire des autres utilisateurs pour en éviter l'accé. J'ai mis le droits par default en 0775 pour l'utilisateur et 0775 pour le groupe. Dans la logique ça devrai rouler comme ça si ne me trompe pas mais en fait non...

coté systéme voila se que donne l'arboressence:

ls -l
total 52
drwxr-xr-x 2 agioo     sftpbois  4096 mai 15 20:29 agioo
drwxr-xr-x 3 cemoi     cemoi     4096 mai  6 19:40 cemoi
drwxr-xr-x 2 fredcol   sftpbois  4096 mai  3 09:58 fredcol
drwxr-xr-x 2 jmcussous sftpbois  4096 mai  3 11:53 jmcussous
drwxr-xr-x 3 lapom     sftpbois  4096 mai  8 10:50 lapom
drwxr-xr-x 2 lolobenas sftpbois  4096 mai  3 10:00 lolobenas
drwx------ 2 root      root     16384 mai  1 14:59 lost+found
lrwxrwxrwx 1 root      root        13 mai  8 11:12 munin -> var/www/munin
drwxrwxr-x 3 agioo     sftpbois  4096 mai 15 20:23 partage
drwxrwxr-x 3 agioo     sftpbois  4096 mai  8 10:39 test
drwxr-xr-x 3 www-data  www-data  4096 mai  8 11:21 www


Dans un premier temps je voudrai que tout ce qui est créé dans le répertoire partage ai les droits permettant le lecture/ecriture/execution (rwx) pour l'utilisateur qui a créé le repertoire ou le fichier et les mêmes droits pour le group ce qui permettra à chaque utilisateur appartenant à ce group d'avoir les mêmes droits que l'utilisateur qui a fait la création.

Avec la sftp_config tel qu'il est ça marche ... mais comment obtenir le même comportement au niveau systéme?... (j'aimerai éviter les acl)

1 serveur dédié sous debian Lenny avec virtualisation sous openvz >>  carte via epia avec cpu c3 800mhz 1go de ddr2 et un dd en ide 160go. Ligne adsl perso 18mo/1mo et 1 serveur dédié sous debian Lenny carte asus cpu celeron 533 512 sdram et un dd de 100go raid1 en LVM. ligne sdsl 4mo (renater)             Have fun! ;)

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

Bonjour,

Juste pour préciser le fonctionnement des droits.
Quand on parle de droits 0755, cela signifie:

  • 0 -> ici c'est pour des variantes exotiques des droits
    7 -> ici c'est les droits accordés à l'utilisateur (4 pour lecture, 2 pour écriture et 1 pour exécution => 4+2+1 = 7)
    5 -> ici c'est les droits accordés au groupe
    5 -> et la c'est toutes les autres personnes qui ne sont pas inclus dans les 2 précédents groupes

Donc pour cacher les répertoires des utilisateurs, il est plus simple d'avoir un groupe par utilisateur et de mettre des droits du style 0750.

Maintenant concernant le répertoire partage, il est possible d'avoir le même fonctionnement que le répertoire /tmp, c'est-à-dire:

  • Tout le monde peut créer des répertoires / fichiers
    La suppression d'un répertoire / fichier ne peut être fait que par l'utilisateur (ou le groupe s'il y a les droits d'écriture pour le groupe)

J'espère que j'ai réussi à être clair.
De toute façon, on reste présent smile

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

Bonjour,

d'après la phrase suivante...

teka wrote:

Tout les droits sont gérés par le système d'exploitation et le tout est totalement transparent pour MySecureShell.

...MSS gère aussi les droits étendus ? Or ce n'est pas ce que j'observe : si je crée un répertoire avec le bit SGID,
tous les répertoires créés à l'intérieur devraient hériter de ce SGID (je cite wikipedia) :

Newly created subdirectories inherit the setgid bit

et c'est bien ce que j'obtiens en ligne de commande, mais pas à travers MSS.
Serait-ce un problème de réglage du genre DefaultRights ?

À ce propos je ne comprends pas bien la documentation sur MinimumRights :

Mettre des droits minimum sur les nouveaux fichiers et dossiers créés

Pour un fichier nouvellement créé, c'est DefaultRights qui s'applique, non ?

Merci d'avance.

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

8087 wrote:

Bonjour,

d'après la phrase suivante...
...MSS gère aussi les droits étendus ? Or ce n'est pas ce que j'observe : si je crée un répertoire avec le bit SGID,
tous les répertoires créés à l'intérieur devraient hériter de ce SGID (je cite wikipedia) :

Newly created subdirectories inherit the setgid bit

et c'est bien ce que j'obtiens en ligne de commande, mais pas à travers MSS.

Effectivement ce n'est pas le comportement MSS... je vais essayer de voir pourquoi...

8087 wrote:

Serait-ce un problème de réglage du genre DefaultRights ?

Nan rien à voir à prioris.


8087 wrote:

À ce propos je ne comprends pas bien la documentation sur MinimumRights :

Mettre des droits minimum sur les nouveaux fichiers et dossiers créés

Pour un fichier nouvellement créé, c'est DefaultRights qui s'applique, non ?

Merci d'avance.


En fait, un client SFTP n'est pas obligé de positionné les droits par défaut sur un fichier/répertoire donc dans ce cas le tag DefaultRights fournis les droits par défaut.
En suite les restrictions MinimumRights et MaximumRights sont appliquées.

C'est un peu plus clair ? smile

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

teka wrote:

Effectivement ce n'est pas le comportement MSS... je vais essayer de voir pourquoi...

Toujours aussi rapide pour réagir ! Chapeau et merci.

teka wrote:

En fait, un client SFTP n'est pas obligé de positionné les droits par défaut sur un fichier/répertoire donc dans ce cas le tag DefaultRights fournis les droits par défaut.
En suite les restrictions MinimumRights et MaximumRights sont appliquées.

C'est un peu plus clair ? smile

Absolument !

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

Et hop un joli bug fixé pour la prochaine version de MySecureShell wink

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

teka wrote:

Et hop un joli bug fixé pour la prochaine version de MySecureShell wink

Et cette nouvelle version, est-elle prévue prochainement ?
Sinon, à défaut, y aurait-il moyen d'avoir un patch en attendant ?

12 (edited by teka 2009-09-28 17:45:38)

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

Alors je n'ai pas de date pour la prochaine version.

Maintenant niveau fonctionnalité, je pense c'est bon et on va passer aux tests en profondeur smile

Et voila le patch à appliquer:

*** Sftp.c.1.15 2008-08-22 17:47:39.000000000 +0200
--- Sftp.c  2009-09-28 18:42:18.000000000 +0200
***************
*** 392,400 ****
        {
          mylog_printf(MYLOG_TRANSFERT, "[%s][%s]Start upload into file '%s'",
               gl_var->who->user, gl_var->who->ip, path);
-         if (fchmod(fd, mode) == -1)
-           mylog_printf(MYLOG_WARNING, "[%s][%s]Unable to set %i rights for file '%s'",
-            gl_var->who->user, gl_var->who->ip, mode, path);
        }
      else
        {
--- 392,397 ----
***************
*** 764,772 ****
    status = errnoToPortable(errno);
        mylog_printf(MYLOG_WARNING, "[%s][%s]Try to create directory '%s' : %s",
       gl_var->who->user, gl_var->who->ip, path, (status != SSH2_FX_OK ? strerror(errno) : "success"));
-       if (chmod(path, mode) == -1)
-   mylog_printf(MYLOG_WARNING, "[%s][%s]Unable to set %i rights for directory '%s'",
-          gl_var->who->user, gl_var->who->ip, mode, path);
      }
    SendStatus(bOut, id, status);
    DEBUG((MYLOG_DEBUG, "[DoMkDir]path:'%s' -> '%i'", path, status));
--- 761,766 ----

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

bonjour,
es que ce patch est appliqué dans la dernière version de My Secure Shell?

Merci pour votre travail  smile

1 serveur dédié sous debian Lenny avec virtualisation sous openvz >>  carte via epia avec cpu c3 800mhz 1go de ddr2 et un dd en ide 160go. Ligne adsl perso 18mo/1mo et 1 serveur dédié sous debian Lenny carte asus cpu celeron 533 512 sdram et un dd de 100go raid1 en LVM. ligne sdsl 4mo (renater)             Have fun! ;)

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

Bonjour,

Oui le patch est bien pour la prochaine version MySecureShell 1.20 smile

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

ok merci!

Comment fait on pour appliquer ce patch sur la 1.15?

Quand es que sortira la 1.20? (à la louche)

Merci :=)

1 serveur dédié sous debian Lenny avec virtualisation sous openvz >>  carte via epia avec cpu c3 800mhz 1go de ddr2 et un dd en ide 160go. Ligne adsl perso 18mo/1mo et 1 serveur dédié sous debian Lenny carte asus cpu celeron 533 512 sdram et un dd de 100go raid1 en LVM. ligne sdsl 4mo (renater)             Have fun! ;)

Re: OK_Configuration avancé des droits par rep pourungrouped'utilisateurs

Bonjour

Alors pour appliquer le patch, il faut télécharger les sources. Copier le patch dans un fichier mss.patch et utiliser la commande "patch < mss.patch" depuis le répertoire des sources MySecureShell.
Après compilation + installation et voilou.

Sinon un peu de patience la 1.20 ne devrait pas trop tarder smile