View previous topic :: View next topic |
Author |
Message |
Gil galad Tux's lil' helper
Joined: 26 Mar 2004 Posts: 94 Location: Switzerland
|
Posted: Tue Dec 28, 2004 1:08 pm Post subject: [vsftp] restreindre les droits sur des répertoires |
|
|
Hello!
J'ai à la maison, un server vsftp. Actuellement les utilisateurs anonymes n'ont pas de droit d'accès, et pour tous les users write_enable=NO.
Mais j'aimerais laisser juste un repertoire ('upload') avec des droits d'écriture. Comment je peux faire ca? Je précise qu'en interne le disque de donnée du ftp est exporté via samba, donc je peux pas compter sur les droits unix... |
|
Back to top |
|
|
gim Guru
Joined: 29 Apr 2003 Posts: 418 Location: milky-way
|
Posted: Tue Dec 28, 2004 2:03 pm Post subject: Re: [vsftp] restreindre les droits sur des répertoires |
|
|
Gil galad wrote: | Je précise qu'en interne le disque de donnée du ftp est exporté via samba, donc je peux pas compter sur les droits unix... |
Je ne vois pas le problème... tu peux tout de même appliquer les bonne permissions (même si samba n'en tiens pas compte).
A moins que tu voulais dire "importé", mais dans ce cas faire un serveur ftp qui fait relais c'est pas forcement très glop niveau performances... |
|
Back to top |
|
|
Gil galad Tux's lil' helper
Joined: 26 Mar 2004 Posts: 94 Location: Switzerland
|
Posted: Tue Dec 28, 2004 3:01 pm Post subject: |
|
|
Ben mon souci, c'est que Samba écrit "comme il veut". Et que si write_enable=YES dans vsftp, l'utilisateur ftp peut effacer les fichiers créés par samba.
Mon problème est que je ne peux pas garantir que les droits unix sont tout à fait correct pour tous les fichiers (un chmod 777 sur des fichiers de temps à autre par ex...)
J'aimerais, pouvoir mettre write_enable=NO sauf sur un répertoire. L'alternative, pour l'instant, c'est de créer un compte FTP avec l'accès à seulement un repertoire, write_enable=YES |
|
Back to top |
|
|
gim Guru
Joined: 29 Apr 2003 Posts: 418 Location: milky-way
|
Posted: Tue Dec 28, 2004 10:48 pm Post subject: |
|
|
Gil galad wrote: | Ben mon souci, c'est que Samba écrit "comme il veut". Et que si write_enable=YES dans vsftp, l'utilisateur ftp peut effacer les fichiers créés par samba. |
Même avec un chgrp groupe_de_ceux_qui_peuvent_uploader upload; chmod 1775 upload il y a des problèmes ? |
|
Back to top |
|
|
Gil galad Tux's lil' helper
Joined: 26 Mar 2004 Posts: 94 Location: Switzerland
|
Posted: Wed Dec 29, 2004 1:33 pm Post subject: |
|
|
oui de cette manière ca devrait marcher
Mais je dois dire que je ne suis pas très à l'aise avec les droits unix, dans le sens, je ne sais jamais trop ce que le système fait. (J'écris un fichier avec mon user depuis ssh, nfs, samba, ftp, que ce passe-t-il avec les droits?) |
|
Back to top |
|
|
gim Guru
Joined: 29 Apr 2003 Posts: 418 Location: milky-way
|
Posted: Wed Dec 29, 2004 2:07 pm Post subject: |
|
|
Gil galad wrote: | (J'écris un fichier avec mon user depuis ssh, nfs, samba, ftp, que ce passe-t-il avec les droits?) |
Les fichiers créés sont créés avec des permissions par defaut qui dependent du umask courant.
En général c'est rw-r--r-- pour les utilisateurs et rw------- pour root.
Un flag "w" sur un répertoire permet aux utilisateurs associé d'y modifier le contenu à leur guise (modifier, suprrimer) independement du possesseur des fichiers qui se trouvent à l'intérieur. Mais avec le sticky bit ("t" avec ls -l) sur le répertoire qui les contient, on restreint l'access en écriture à la création de fichier et à la modification des fichiers par l'utilisateur qui les possède seulement.
Par exemple, /tmp à normalement les permissions rwxrwxrwt.
Perso, j'utilise en fait rwxrwx-wt sur mon répertoire upload. Pour qu'on puisse faire de l'upload (anonyme et authentifié) où les fichiers ne peut être modifiés (ou supprimés) que par l'utilisateur qui les a créés; et pour que les fichiers ne puissent être accedés en lecture que si l'on connait leur nom (pas de ls possible). |
|
Back to top |
|
|
Gil galad Tux's lil' helper
Joined: 26 Mar 2004 Posts: 94 Location: Switzerland
|
Posted: Wed Dec 29, 2004 6:37 pm Post subject: |
|
|
3 questions:
Tu fais comment pour mettre le sticky bit? J'avais déjà remarqué que certain répertoires étaient comme ca, mais je ne sais pas comment le faire.
ok pour les droits par défaut, mais pour le group par défaut? Je remarques que chez moi, c'est 'games' en général. Alors qu'il pourrait très bien mettre 'wheel' ou 'user'
Pour le umask courant, tu parles bien de vsftp? Parce que là, c'est ok, j'ai compris comme il gère les droits. C'est plutot les autres services qui accède à la partition que je ne suis pas sûr. (Comme ssh, samba et nfs)
Merci pour toutes tes réponces en tout cas |
|
Back to top |
|
|
gim Guru
Joined: 29 Apr 2003 Posts: 418 Location: milky-way
|
Posted: Wed Dec 29, 2004 7:03 pm Post subject: |
|
|
Gil galad wrote: | 3 questions:
Tu fais comment pour mettre le sticky bit? J'avais déjà remarqué que certain répertoires étaient comme ca, mais je ne sais pas comment le faire.
|
C'est le "1" dans chmod 1775, "2" et "4" servant eux au setuid et setgid bit (mais c'est autre chose). Avec la syntaxe avec des lettres ça donne chmod +t. Il faut aussi savoir que ls affiche un "T" a la fin (--------T) lorque ce bit est activé ou un "t" qui veut dire "T + x".
Il existait une page man qui décrivait tout ça, mais je ne la retrouve plus.
Gil galad wrote: | ok pour les droits par défaut, mais pour le group par défaut? Je remarques que chez moi, c'est 'games' en général. Alors qu'il pourrait très bien mettre 'wheel' ou 'user'
|
Le groupe par défaut c'est le groupe avec lequel est exécuté l'application qui crée le fichier.
Qui encore par défaut est le groupe principal auquel appartient l'utilisateur (spécifié dans /etc/passwd et que l'on peut changer en le mettant derière l'option -g de usermod).
Pour vsftpd avec un utilisateur authentifé c'est normalement ce groupe là qui est utilisé, et pour un utilisateur anonyme c'est souvent ftp ou nobody (selon la configuration de vsftpd).
Pour ssh et nfs ça doit être pareil si ça n'a pas été spécifié autrement dans des fichiers de config. Et pour samba c'est probablement du même accabi.
--edit: par contre, le groupe de création des fichier n'est pas très important dans ce cas: c'est surtout le groupe du répertoire upload qui est important si tu veux restreindre l'upload a un certain groupe. Dans le cas ou n'importe qui a le droit d'uploader il suffit de faire chmod 1777 ou chmod 1766 pour empêcher le listing, et basta
Gil galad wrote: |
Pour le umask courant, tu parles bien de vsftp? Parce que là, c'est ok, j'ai compris comme il gère les droits. C'est plutot les autres services qui accède à la partition que je ne suis pas sûr. (Comme ssh, samba et nfs)
|
Oui par exemple : ce umask est paramétrable dans le fichier de conf de vsftp, mais pour ssh c'est la même chose, les utilisateurs peuvent spécifier l'umask qu'il veulent utiliser a l'aide de la commande umask dans leurs .bashrc (ou autre), et un umask système utilisé par défaut est souvent spécifié dans /etc/profile.
Pour nfs et samba, ca doit pouvoir là aussi se spécifier qqpart.
Gil galad wrote: | Merci pour toutes tes réponces en tout cas |
Di rien |
|
Back to top |
|
|
nuts Veteran
Joined: 10 Jan 2004 Posts: 1630
|
Posted: Tue May 31, 2005 7:36 am Post subject: |
|
|
bon plutot que de creer un topic je up celui la
j utilise donc vsftpd et jusque la j'en suis satisfait.
mais le fait d avoir ajouter un compte pour depanner un pote, j arrive sur une impasse.
j'ai deux utilisateurs.
le 1er a son home directory normal, l autre est en fait un partage d'une partition fat (car sous windows et linux, j ai besoin d'un truc en commun).
bref avant j'avais un WRITE_ENABLE=NO ce qui faisait que personne ne pouvait uploader sur la partition FAT. le hic c'est que mon pote qui a besoin d 'un compte ne peux pas uploader sur son compte.
je passe le WRITE_ENABLE=YES et hop il peut uploader, mais le hic c'est qu on peut modifier maintenant les ficheir sur la fat avec l'autre compte
comme je ne peux pas mettre de permission sur de la fat, je voulais savoir comment mettre un write_enable=yes pour mon potes tout en mettant un write_enable=no pour l'autre compte?
resolu grace a ca: http://www.labo-linux.org/index.php?page=pas&id=512 _________________ nuts
PC: AMD Phenom 2 bi-core 555 + Asus M4A77T/USB3 + 2Go de RAM + wifi Ralink RT61 + Radeon HD 3450 - Disque dur 500Go.
SGI Octane ip30 R10000 |
|
Back to top |
|
|
niolou n00b
Joined: 06 Jul 2004 Posts: 42 Location: Clermont Fd (63) - Choisy le Roi (94) / France
|
Posted: Tue May 31, 2005 9:30 am Post subject: |
|
|
Gil galad wrote: | Ben mon souci, c'est que Samba écrit "comme il veut". Et que si write_enable=YES dans vsftp, l'utilisateur ftp peut effacer les fichiers créés par samba.
Mon problème est que je ne peux pas garantir que les droits unix sont tout à fait correct pour tous les fichiers (un chmod 777 sur des fichiers de temps à autre par ex...)
J'aimerais, pouvoir mettre write_enable=NO sauf sur un répertoire. L'alternative, pour l'instant, c'est de créer un compte FTP avec l'accès à seulement un repertoire, write_enable=YES |
J'interviens ici pour faire affront aux enormitées inscrite et dire que samba n'écrit pas "comme il veut" mais comme il le doit par défaut pour avoir un mask différent lors de la création de repertoire ou la copie de fichier il faut mettre la commande suivante ds les share:
Code: |
force create mode = 0775
force directory mode = 0775
|
Bien entendu pour avoir les droit en 0775 voila voila ... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|