ACL et serveur FTP sous vsFTPd - Divers - Linux et OS Alternatifs
Marsh Posté le 03-10-2007 à 16:37:12
1. Dans un premier temps ton système de fichier est il monté avec l'option acl ?
2. Pour les utilisateurs virtuels je ne sais pas comment vsftpd les gère mais a priori les acls utilisent seulements les users présents dans /etc/passwd (et les groups dans /etc/groups).
3. La mise en place d'une acl correct : cf man 1 setfacl tu as des exemples à la fin.
Marsh Posté le 03-10-2007 à 16:53:14
Merci o'gure pour ta réponse supersonique.
je sais que la commande getfacl fonctionne mais je pense que c'est normal. Je fais comment pour vérifier tout ça ?
je te remercie.
Marsh Posté le 03-10-2007 à 16:55:35
Citation : [augure@loky] $ mount |
Marsh Posté le 03-10-2007 à 17:01:45
Woaw ! tout ça ?! bon je tente alors. et la réponse devrait être ?
Marsh Posté le 03-10-2007 à 17:05:06
Tout ca quoi ?
1. Tu tapes mount (le premier truc en gras et orange dans mon message) => ca t'affiche la liste des partitions montées avec les options de montage entre parenthèse.
2. Sur la ligne correspondant à ta partition il devrait y avoir marqué acl dans les options (Le second truc en gras et orange dans mon message).
Marsh Posté le 03-10-2007 à 17:07:44
et ben ça me met un erreur à chaque ligne. Je sais que je suis un peu concon mais je dois pouvoir comprendre qqch. Si je fait un yum install ACL, il me répond que tout est déjà installé (nothing to do).
Si j'ai bien suivi, il faut que je monte ma partition sur laquelle est le FTP pour les ACL ? mais la commande mount que tu me donnes me retourne une erreur : -bash: syntax error near unexpected token `('
En espérant que mon ignorance ne te dégoûte pas de me donner un coup de main.
Marsh Posté le 03-10-2007 à 17:09:11
ah ben je comprends mieux. je viens de le faire et je n'ai pas la ligne avec ACL. Désolé.
QUe faut-il faire alors ?
Marsh Posté le 03-10-2007 à 17:11:02
voilà la réponse complète à la commande mount :
/dev/sda3 on / type ext3 (rw)
/dev/proc on /proc type proc (rw)
/dev/sys on /sys type sysfs (rw)
/dev/devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
/dev/shm on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
//195.25.5.98/ohdo-cust13 on /obh-disk-backup type smbfs (0)
automount(pid8759) on /net type autofs (rw,fd=4,pgrp=8759,minproto=2,maxproto=4)
Je suis vraiment un non-comprenant comme disait Coluche !
Marsh Posté le 03-10-2007 à 17:12:17
editer le fichier /etc/fstab, rajouter l'option acl pour la partition qui va bien et remonter la partition
# mount -o remount /le/point/de/montage |
Référence :
man mount
et arrête de te diminuer en te disant que t'es concon/non-comprenant. Si tu sais pas, apprends !
Marsh Posté le 03-10-2007 à 17:15:52
ok mille merci, je regarde ça de suite mais dans /etc/passwd les utilisateurs du FTP n'y sont pas. Seul le meta-utilisateur virtuel s'y trouve (c'est un des principes de sécurité de vsFTPd). je tente quand même.
Marsh Posté le 03-10-2007 à 17:22:56
Voilà mon fichier fstab :
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
//195.XX.X.XX/ohdo-cust13 /obh-disk-backup smbfs username=ohdo-cust13,password=XXXXXXXXX 0 0
/dev/hdc /media/cdrom auto pamconsole,exec,noauto,managed 0 0
Je n'ai pas la partition où est le home (dans lequel se trouve l'espace ftp). A moins qu'elle ne porte un autre nom. Ou peut-être faut-il que je la rajoute carrément ?
Marsh Posté le 03-10-2007 à 17:25:59
C'est hiérarchique. Si tu n'as pas de partition /home dédiée c'est que /home est sur une partition dont le point de montage est un répertoire au-dessus. En l'occurence ici : /
Marsh Posté le 03-10-2007 à 17:27:59
ok. et ben, je vais devenir un vrai pingouin à force. il faut donc que je rajoute l'option ACL dans la première ligne avec / ? je vois ça de suite.
Marsh Posté le 03-10-2007 à 17:38:10
je fais un
# mount -o remount /
mais il me retourne la réponse suivante : mount: / not mounted already, or bad option
donc je pense que je dois oublier qqch par rapport au home mais quoi donc ? là est la question.
Marsh Posté le 03-10-2007 à 17:43:26
j'ai fait un :
# mount -o remount / /
et il ne m'a pas retourné d'erreur donc je vais voir maintenant si cela a fonctionné.
je te tiens au courant de toute façon. Merci.
Marsh Posté le 03-10-2007 à 17:55:08
et ben non, c'était trop beau pour que cela fonctionne du premier coup. je n'ai pas de point de montage avec un acl.
voilà le fstab avec l'option acl (est-ce au bon endroit) :
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 (rw,acl) 1 1
LABEL=/boot /boot ext3 defaults 1 2
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
//195.XX.X.XX/ohdo-cust13 /obh-disk-backup smbfs username=ohdo-cust13,password=XXXXXXX 0 0
/dev/hdc /media/cdrom auto pamconsole,exec,noauto,managed 0 0
et voilà la réponse à la commande mount après avoir fait # mount -o remount / / :
/dev/sda3 on / type ext3 (rw)
/dev/proc on /proc type proc (rw)
/dev/sys on /sys type sysfs (rw)
/dev/devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
/dev/shm on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
//195.25.5.98/ohdo-cust13 on /obh-disk-backup type smbfs (0)
automount(pid8759) on /net type autofs (rw,fd=4,pgrp=8759,minproto=2,maxproto=4)
Voilà où j'en suis pour le moment.
Marsh Posté le 03-10-2007 à 18:22:17
pourquoi tu mets deux /
Ah sinon vu que c'est la partition racine, c'est peut etre pas possible => reboot
heu et les options dans le fstab c'est pas avec des parentheses qu'il faut mettre
c'est
defaults,acl |
lis un peu les man que je te file en lien bordel...
Marsh Posté le 03-10-2007 à 18:25:33
ben j'ai mis deux / parce que sur le fstab, il y en a deux et que quand j'en mets qu'un, message d'erreur.
Je vais sans doute avoir du mal à le rebooter comme ça le serveur parce que c'est un serveur dédié qui nous sert aussi de serveur web pour le site de la société.
bon, je continue à chercher mais je vais rentrer chez moi. je te tiens au courant demain. Merci encore.
Marsh Posté le 03-10-2007 à 18:26:17
désolé, je le refais. je t'avais dis bien dit que je n'y connaissais rien en linux.
Marsh Posté le 03-10-2007 à 18:27:33
Et l'erreur c'était quoi ? Tu l'as lu et bien sûr tu as essayé de la comprendre ?
=> ta syntaxe est mauvaise dans /etc/fstab.
Marsh Posté le 03-10-2007 à 18:28:35
et bien voilà nickel chrome j'ai bien mes acl dans ma réponse après un # mount.
Je continue demain l'aventure dans le long chemin des acl.
Merci et bonne soirée.
Marsh Posté le 03-10-2007 à 18:31:35
je n'avais pas bien compris le coup des () et donc même # mount -o remount semblait fonctionner mais en fait non. et l'erreur pour un seul /, c'était que ce répertoire n'existait pas.
Voilà, bonne nuit.
Marsh Posté le 04-10-2007 à 09:03:18
C'est bon alors ???
Marsh Posté le 04-10-2007 à 10:18:50
Bonjour,
et bien malheureusement non, ça ne fonctionne toujours pas. Je rentre bien la commande setfacl avec la bonne syntaxe et il me retourne par exemple que setfacl: u:imprimeur:r: No such file or directory
je pense que c'est rapport aux utilisateurs virtuels. je continue de regarder si je n'ai pas fait une erreur de syntaxe.
Si par contre qqn a une solution, je suis preneur.
Merci
Marsh Posté le 04-10-2007 à 10:40:21
Ce qui est étrange, c'est qu'il me dit qu'aucun fichier ou répertoire de ce nom existe alors que c'est un user... C'est là que je bloque un peu.
Marsh Posté le 04-10-2007 à 11:12:31
La syntaxe est la suivante:
setfacl -Rm u:utilisateur:droit /ton/chemin
exemple:
setfacl -Rmu:numrobis:rxw /hfr/osa
:hello:
Marsh Posté le 04-10-2007 à 11:17:16
Oui, c'est exactement ce que je mets.
ex:
setfacl -Rm u:imprimeur:r /home/ftp/machinftp/Imprimeurs
et la réponse est soit
setfacl: Option -m: Invalid argument near character 3 (quand je mets que -m)
soit
setfacl: u:imprimeur:r: No such file or directory (quand je mets -Rm)
Donc je mets -Rm pour que les droits soient récursifs mais il ne me prend pas mon utilisateur (qui est virtuel dans vsFTPd). Et c'est là qu'est le hic.
Et c'est surtout que je ne sais toujours pas si les ACL sont applicables à des utilisateurs virtuels ou pas (il existe plus d'un débat là-dessus dans différents forums).
Marsh Posté le 04-10-2007 à 11:38:59
Comme je te l'ai dis précédemment, setfacl utilise uniquement les utilisateurs du système (/etc/passwd...), il n'a aucune connaissance des utilisateurs virtuels gérés par vsftpd.
- Cree un utilisateur bidon
- Essaye de mettre une ACL utilisant cet utilisateur => ca marche
- Utilise une ACL avec un utilisateur inconnu de /etc/passwd => il t'enverra bouler.
Marsh Posté le 04-10-2007 à 11:46:16
http://www.suse.de/~agruen/acl/linux-acls/online/
Le système utilise les id des groups et des users pour identifier qui est qui et qui a droit de faire quoi. Ces id sont transformer en nom d'utilisateur et nom de group.
Si tu donnes un nom, le système va tenté de le transformer en uid pour appliquer l'acl. Si il ne trouve pas l'id correspond (soit dans /etc/passwd soit par un autre moyen) il te jette. vsftpd n'utilise pas les uid système pour gérer ses utilisateurs.
Marsh Posté le 04-10-2007 à 11:51:54
Bonjour o'gure
rhââ, je pensais ce matin finir tout ça en deux coups de cuillère à pot mais non. je vais donc lire ce que tu m'a mis en lien.
M'est avis que ces foutus utilisateurs virtuels ne sont pas simples à configurer auniveau des ACL.
J'ai même installé webmin sur le serveur, habitué que je suis au clickodrome de windows en me disant que ce serait peut-être plus simple mais non.
Je vous tiens au courant.
Marsh Posté le 04-10-2007 à 14:11:52
Bon et bien rien à faire. Je vais essayer de trouver quelques renseignements sur les utilisateurs virtuels et leurs droits possibles. Je vous tiens au courant.
Merci de votre aide.
Marsh Posté le 04-10-2007 à 14:16:25
Pourquoi alors ne pas faire des utilisateurs rééls au lieu de virtuel et tu leur mets en bash "/sbin/nologin".
Marsh Posté le 04-10-2007 à 16:31:58
Oui, mais pour sécuriser l'accès au FTP (SSH) sous vsFTPd il est recommandé d'utiliser des utilisateurs virtuels -> http://www.andesi.org/index.php?node=121
J'ai suivi ce tutorial et cela fonctionne très bien sauf les ACL mais ce n'est pas super grave. J'espère quand même trouver une solution.
Si de votre côté, vous trouvez qqch, je suis preneur et si je trouve un truc, je transmets.
Marsh Posté le 04-10-2007 à 16:33:35
Sur le lien que j'ai donné, il y a un truc sur la fin avec les droits des différents utilisateurs mais cela n'a pas fonctionné chez moi. Peut-être en sauriez-vous plus ?
Marsh Posté le 04-10-2007 à 17:22:21
sinon tu peux essayer la solution
pureftpd + ldap + acl
ca fonctionne tres bien
Marsh Posté le 05-10-2007 à 11:44:58
@o'gure :
oui j'ai vérifié et mon fichier de conf par utilisateur est ok (j'ai tout suivi comme ils ont dit). Ce dont je parlais qui ne fonctionnait pas est plus bas dans le lien (à partir de "file dans ta chambre" ). Mais comme je n'ai pas eu beaucoup de temps pour mettre tout ça en place, j'ai stoppé à la première erreur afin que le FTP soit un minimum opérationnel. C'est une fois que ça fonctionnait qu'on m'a demandé : "si c'est possible, je voudrais... gniagniagnia..." (cf. 1er message).
@dam1330 :
pureftp n'est pas installé sur le serveur dédié et mon DSI est très à cheval sur la sécurité. Donc lorsque je lui ai parlé de vsFTPd, j'ai eu son feu vert.
Bon, je suis absent la semaine prochaine (déplacement l'étranger) mais dès que je reviens, je m'y remets. Merci encore pour vos précieux conseils. je ferai un up du sujet à ce moment-là. Je file, j'ai encore un serveur à installer (c'est plus simple pour moi, c'est du clickodrome cette fois-ci).
Marsh Posté le 05-10-2007 à 14:40:03
Et si tu partais sur vsftpd en mode passif avec gestion des users local (qui ne peuvent pas se loguer sur la machine) et un certificat en plus des ACL.
Moi c'est que j'utilise sur le FTP du boulot et ca marche nikel.
voici mon vsftpd.conf (j'ai viré les lignes de commentaires pour faire court)
Code :
|
Marsh Posté le 06-10-2007 à 21:39:12
Eut pourquoi ne pas utilisé simplement sftp qui est de base avec SSH de openssh et qui te permet de te connecter sur des users créer et ainsi d'utiliser les droit UNIX pour réstreindre l'accés a ce que tu veut?
Biensure tu l'utilise avec certificats et hop c'est sécurisé et tu met des droit unix pour l'accés.
Je vois pas plus simple.
Tu peu l'utilser de windows avec wincp3 qui te donne une présentation sous forme d'explorateur.
Comme y a des clées public clées privé tu n'a mm pas besoin de taper le mot de passe réel de ton utilisateur, mais seulement le pass de la clée, qui ne sert qu'a s'authentifié et mm récupérer par une tierce personne ne sert a rien sans la clée privé bien au cho sur ton pc.
C'est simple et y a pas plus facile à sécuriser.
Marsh Posté le 03-10-2007 à 16:19:30
Bonjour à toutes et à tous,
je suis un noob en linux mais on m'a demandé de créer un serveur FTP sur un serveur dédié tournant sous fedora core 4. J'en ai un peu bavé des ronds de chapeau du fait de la "surdité volontaire" des techniciens de chez Orange qui me certifiaient que tout était installé sur le serveur et que c'était à moi de me débrouiller pour tout faire. Bien sûr, tout n'était pas sur le serveur et après quelques rotomontades, j'ai pu grâce à différents tutoriels trouvés sur le net mettre en place mon FTP.
Maintenant que tout fonctionne, on me demande de mettre en place des droits restrictifs d'accès à certains répertoires du FTP. Mais comme vous le savez tous, vsFTPd demande qu'un meta utilisateur virtuel soit créé et ensuite les autres utilisateurs sont créés à travers cet utilisateur virtuel (si j'ai bien tout compris). Et c'est là que se pose mon problème : est-ce possible de placer des ACL sur des répertoires pour des utilisateurs virtuels et si oui comment faire ?
Voici ci-dessous ce que je souhaiterai mettre en plce exactement :
ex : meta utilisateur virtuel : machinftp membre du groupe ftp
utilisateurs créés : comm ; marketing ; distrib ; imprimeur ; bidule
répertoires créés : /home/ftp/machinftp/Imprimeurs
/home/ftp/machinftp/marketing
/home/ftp/machinftp/comm
/home/ftp/machinftp/distrib
/home/ftp/machinftp/bidule
droits souhaités : imprimeur peut lire dans le répertoire Imprimeurs et n'a pas accès aux répertoires
marketing peut lire, écrire et exécuter dans tout
comm peut lire et écrire dans comm et lire dans distrib
distrib peut lire dans distrib et c'est tout
bidule a tous les droits sur tout
Je vous rappelle que je suis un noob mais qui ne cherche qu'à apprendre et je m'excuse aussi par avance si ce sujet a déjà été traité mais j'ai recherché et rien trouvé de probant. De plus j'aurai besoin d'un exemple de ligne de commande car même si j'ai déjà tenté de mettre en place les ACL avec setfacl, le serveur me le refuse (cf. ci-dessous).
[root@cust-194 ~]# setfacl -Rm u:imprimeurs:r--
> /home/ftp/olmixftp/Imprimeurs
>
> setfacl: Option -m: Invalid argument near character 3
Merci par avance, dans l'impatience de vous lire !