Q1. J'ai cr�� un sendmail.init et syslogd.init. Je les ai mis dans /usr/local/bin et essay� de les lancer, mais ils me donnent des erreurs.
R1. Ces fichiers sont appell�s scripts d'initialisation. Ils sont lanc�s par le programme init quand votre ordinateur d�marre. Ils ne vont pas avec les binaires de /usr/local. Consultez le Guide de l'Administrateur Syst�me Linux (Linux System Administrators Guide) ou le Guide pour Bien D�marrer avec Linux (Linux Getting Started Guide) pour des informations sur la mani�re d'utiliser les scripts d'initialisation du syst�me.
Q2. J'ai mis ces lignes dans /etc/sendmail.cf :
divert(0) VERSIONID(`tcpproto.mc') OSTYPE(linux) FEATURE(redirect) FEATURE(always_add_domain) FEATURE(use_cw_file) FEATURE(local_procmail) MAILER(local) MAILER(smtp)
Et j'obtiens une sortie vraiment �trange. Pourquoi ?
R2. Vous ne devez pas mettre ces lignes directement dans /etc/sendmail.cf.
Le fichier sendmail.cf a �t� �crit pour que sendmail le comprenne facilement et
est difficile � lire aux humains.
Ainsi, pour le rendre facile � configurer, nous utilisons un programme appell�
m4
et ses capacit�s de macros pour cr�er le fichier sendmailf.cf
.
Les lignes FEATURE sont en fait des macros qui se d�veloppent par rapport
� la configuration de Sendmail. Lisez la documentation de sendmail pour savoir
comment configurer sendmail avec cette m�thode. Aussi, notez que vous cr�ez un
fichier /etc/sendmail.cf principal et le script virtfs le copie sur
/virtual/domain1.com/etc/sendmail.cf. Puis, vous �ditez ce sendmail.cf pour
l'adapter � votre domaine.
Q3. Ou puis-je trouver virtuald, qu'est-ce donc et comment l'utiliser ?
R3. Virtuald est un programme en C que j'ai �crit pour lancer un service
virtuel. Il est inclus dans ce HOWTO. Vous le compilez comme un programme C normal :
make virtuald
. Le binaire r�sultant est plac� dans /usr/local/bin.
Ajoutez les lignes n�cessaires � /etc/inetd.conf pour utiliser virtuald comme
une facade vers un programme serveur.
Q4. Dialog n'est pas install� sur mon syst�me ?
R4. Dialog est un programme qui permet d'avoir des fen�tres dans vos scripts shell. Il est n�c�ssaire pour faire fonctionner mon script shell virtuel. Vous pouvez trouver une copie de dialog sur metalab. Il ne devrait pas y avoir de probl�mes pour le compiler et l'installer.
Q5. Comment puis-je savoir si le syslogd virtuel marche ?
R5. Quand virtuald est lanc�, il doit envoyer le message suivant � syslogd (/var/log/messages) :
Nov 19 17:21:07 virtual virtuald[10223]: Virtuald Starting: $Revision: 1.1.1.1 $ Nov 19 17:21:07 virtual virtuald[10223]: Incoming ip: 204.249.11.136 Nov 19 17:21:07 virtual virtuald[10223]: Chroot dir: /virtual/domain1.com
Le message du chroot
est envoy� par virtuald une fois l'appel syst�me
chroot
effectu�. Si ce message appara�t, alors le syslogd virtuel
fonctionne. Si le service que vous rendez virtuel logue les messages par syslogd et que
vous les voyez, c'est aussi un signe que le syslod virtuel fonctionne correctement.
Noter que si vous n'avez pas mis l'option VERBOSELOG lors de la compilation, Virtuald ne loguera pas du tout. Le seul moyen de savoir si le syslogd virtuel marche dans ce cas l�, c'est de voir si un d�mon qui rend un service virtuel ind�pendamment, logue quelque chose avec syslogd.
Q6. Comment puis-je installer des quotas � travers un syst�me de fichiers virtuel ?
R6. Vous l'installez comme vous le feriez d'habitude. Aller voir le Quota mini-HOWTO. Cependant, vous devez �tre s�r qu'il n'y ait pas de conflits d'uid entre les domaines. S'il y'a des conflits, les utilisateurs devront partager un quota. Pr�parez un intervalle d'uid qui auront le quota activ� et dites aux domaines qu'ils ne peuvent avoir d'utilisateurs dans cet intervalle, � part ceux qui sont retenus pour avoir un quota.
Q7. Que fait cette notation "\" dans toutes les entr�es du inetd.conf ?
R7. C'est juste une m�thode pour couper une ligne d'un fichier de configuration en deux lignes. J'ai fait �a pour que les lignes puissent avoir un retour � la ligne de mani�re � obtenir une meilleure pr�sentation. Vous pouvez ingorer le "\" et les rejoindre en une seule.
Q8. Quand je lance passwd
ou n'importe quel programme
concernant les logins, le syst�me me renvoie permission denied
.
Quand je lance FTP ou su
le syst�me me renvoi�
no modules loaded for service XXX
. Pourquoi ?
R8. Ce sont les messages d'erreur de PAM. J'ai �crit les scripts avant que
PAM ne sorte. Mon script virtfs ne copie pas /etc/pam.d
,
/usr/lib/cracklib_dict.*
, /lib/security
ou n'importe quel
fichier dont PAM a besoin. PAM en a besoin pour fonctionner. Si vous �ditez
mon script virtfs pour copier ces fichiers, il n'y aura plus de probl�mes.
Q9. Est-ce que virtuald peut fonctionner avec les hosts.allow et hosts.deny de tcpd ?
R9. Oui, il peut, mais avec quelques modifications.
D'abord, le code source doit �tre chang� en deux endroits.
Il faut ins�rer ces lignes l� o� les arguments sont analys�s.
if (!argv[3]) { syslog(LOG_ERR,"invalid arguments: no program to run"); exit(0); }
La ligne d'ex�cution doit remplacer :
if (execvp(argv[2],argv+2)<0)
par :
if (execvp(argv[2],argv+3)<0)
Deuxi�mement, les lignes du fichier inetd.conf
:
ftp stream tcp nowait root /usr/local/bin/virtuald \ virtuald /virtual/conf.ftp tcpd wu.ftpd -l -a
Troisi�mement, �diter les fichier /virtual/domain1.com/etc/hosts.allow
et /virtual/domain1.com/etc/hosts.deny
pour mettre vos param�tres.
Q10. Est-ce que mon serveur virtuel peut lancer des CGI ?
R10. Bien s�r, mais je vous recommande de mettre le r�pertoire
/cgi-bin
� un endroit en dehors du chroot
, o� vous seul
avez acc�s. Par exemple, /var/www/cgi-bin/domain1.com. Donner l'acc�s aux
cients � /cgi-bin leur donne la possibilit� de lancer des programmes sur votre
serveur. C'est un gros trou de s�curit�. Soyez prudent. Je ne laisse aucun CGI
tourner sur mon syst�me sans que je n'ai pas personnellement cherch�
d'�ventuels bugs.
Q11. Mes fichiers de configuration sont diff�rents de vos exemples. Que dois je faire ?
R11 Il y a deux styles de configuration : System V et BSD. Les exemples fournis dans ce HOWTO sont bas�s sur les fichiers de configuration System V. Les services virtuels marchent aussi bien sur l'autre syst�me. Pour des informations sur la m�thode pour configurer vos fichier de style BSD, consultez l'origine de votre distribution ou le site LDP le plus pr�s.
Q12. Je vous ai envoy� un mail et n'ai pas re�u de r�ponses ou alors elles ont pris un long moment avant de me parvenir. Pourquoi ?
R12. Vous n'avez s�rement pas mis VIRTSERVICES HOWTO dans le sujet. Sachez que je suis un administrateur r�seau, et que parmi mes 20 heures par jour, j'administre mes machines virtuelles et celles de mes clients. Un mail qui est proprement adress� aura toujours une r�ponse dans les deux ou trois jours suivants. Les mails mal adress�s ne seront pas filtr�s vers ma bo�te aux lettres pour VIRTSERVICES, et peuvent m'�tre inconnus pendant plusieurs jours, voir semaines.
Q13. Est-ce que virtuald marche avec une connection a 100Mbit ?
R13. La vitesse d'une carte r�seau est totalement ind�pendante du fait que virtuald fonctionne ou pas. V�rifiez que votre serveur tourne sous 10Mbit et que votre carte 100Mbit fonctionne normalement sans un serveur virtuel.
Q14. Est-ce que je dois utiliser la table virthost
de sendmail ?
R14. Non, c'est une fonctionnalit� de Sendmail qui re�oit les informations
pour plusieurs domaines. Virtuald donne � chaque Sendmail son propre environnement
chroot
. Installez Virtuald et configurez sendmail comme vous le feriez
� l'habitude pour chaque domaine.
Q15. Puis-je installer un telnet virtuel sur ma machine ? Et est-il possible de cr�er un compte root virtuel, pour que les client puissent administrer leur propre domaine ?
R15. Ces questions reviennent souvent, et pour etre honn�te, j'en ai un peu marre de les entendre. La r�ponse, qui est dans ce document, est que n'importe quel service lanc� par inetd peut �tre rendu virtuel, donc rien ne vous emp�che de le faire. Rien, � part le bon sens. Cependant, les b�n�fices que vous pouvez avoir sont fortement alt�r�s par le prix de la securit� de votre machine virtuelle (ainsi que les sites que vous �tes suppos�s h�berger d'une mani�re r�sponsable). Voici quelques exemples :
gethostname
pour qu'il
utilise le nom de domaine virtuel et non celui du syst�me, etc.
Si vous �tes un utilisateur avanc�, hackez le kernel. Pour un d�butant, je ne le
recommande pas. chroot
, peut �teindre le syst�me et tuer les autres
processus sur le syst�me.Comme quoi, c'est une tr�s mauvaise id�e d'autoriser des connections sur une machine virtuelle. Si vous le permettez, tous les sites heberg�s sur cette machine seront en danger. Si vous voulez autoriser un propri�taire de site � administrer ses utilisateurs, vous devez alors �crire (pas de script) le programme n�cessaire pour lancer un processus virtuel qui l'autorise � les ajouter, effacer ou modifier en se connectant par ssh. Ceci devra �tre compl�tement ex�cut� par menus, vous ne devrez jamais autoriser de consoles, ou d'acc�s root. Afin d'accomplir ceci, vous devrez changer le propri�taire des fichiers concern�s de root � un autre utilisateur. Si c'est fait de cette maniere, c'est assez securis� pour �tre incorpor� dans une machine virtuelle. Il ne sera jamais acceptable d'autoriser des connections root en telnet ou ssh. Le faire, serait simplement une invitation au d�sastre. S'il y avait une raison de le faire, le site devrait �tre h�berg� sur une machine d�di�e, o� le risque serait juste pour lui. Aucun administrateur responsable ne ferait autrement et donc je ne perdrai pas plus de temps sur cette question.
Q16. Y a-t-il un rpm, tar, site web, liste de diffusion, etc. associ� � virtuald et au Virtual-Services HOWTO ?
R16. Pour le moment il n'y a rien de tout ceci. Ce HOWTO est la seule source d'information sur tout ce que j'ai fait concernant ce projet. Je trouve ce HOWTO assez informatif, rendant le besoin d'autres renseignements superflu.
Q17. Quand j'essaye de lancer virtexec en tant que simple utilisateur,
j'ai chroot: operation not permitted
. Pourquoi ?
R17. chroot
est un appl syst�me restreint au root. Seulement
le super utilisateur peut l'executre. Le script virtexec lance le programme
chroot
ce qui implique le besoin d'�tre root pour le lancer.
Q18. J'ai mis en place pop et sendmail, mais la r�cuperation des mails ne semble pas marcher. D'o� cela vient-il ?
R18. Certains programmes pop prennent comme emplacement des fichiers mail
/usr/spool/mail
. Je sais que qpop
doit etre �dit� manuellement
pour r�soudre ce probl�me. Soit vous recompilez les sources de votre programme, soit
vous faites un lien symbolique de /virtual/domain1.com/usr/spool
vers
/virtual/domain1.com/var/spool
.
Q19. Je n'ai pas utilis� le programme mentionn� dans votre HOWTO, j'utilise le programme XXX. Il ne marche pas. Pourquoi ?
R19. J'ai essay� de faire des exemples le plus g�nerique possible pour chaque serveur. Je sais que certaines personnes ont leur version favorite de chaque serveur. Envoyez-moi le plus d'informations possible, et j'essaierai de trouver une solution � votre probl�me et je l'incluerai dans la FAQ. L'information la plus importante est de me dire ou trouver la version du programme que vous utilisez (sous la forme ftp://ftp.domain.com/subdir/subdir/file.tgz).
Q20. Quand je lance virtexec il dit symlink not a virt function
.
Qu'est-ce que cela veut dire et comment le r�parer ?
R20. Virtexec est programme pour lequel les arguments sont les quatres
premiers caract�res, et il lance le nom restant dans l'environnement virtuel.
Par exemple, virtpasswd
lance passwd
. Si les quatres
premiers caracteres ne sont pas virt
, il se plaint et sort un message
d'erreur. Virtexec est �crit en script shell et devrait �tre tr�s simple � porter.
R�f�rez vous aux pages de manuels de bash ou du shell que vous utilisez pour
vos question sur la programmation de script shell.
Q21. J'ai une question � propos de Qmail, Samba, Apache, etc. qui n'a aucun rapport avec la mise en place de virtuald ou l'interface entre le paquetage et virtuald.
R21. Tous les paquetages d�cris ici sont pleinement document�s.
Certains ont un site web comme www.nom_du_paquetage.org
qui leur
est enti�rement d�di�. S'il vous plait consultez ces documents � propos de ce
genre de questions.
Q22. J'ai plusieurs alias de domaines pointant sur domain1.com mais les mails continuent � �tre renvoy�s aux alias. D'o� est-ce que ca vient ?
A22. Virtmaildelivery compte sur les variables d'environnement qui
lui sont pass�es pour d�terminer quel r�pertoire /virtual/domain1.com utiliser
pour distribuer le courrier. Il ne fait pas de recherche DNS pour d�terminer l'adresse du mail.
Puis, si l'adresse est submail.mail.domain1.com
, virtmaildelivery
essayera en premier cette adresse puis mail.domain1.com
et puis
domain1.com
. Il essaye dans cet ordre, jusqu'� ce qu'une concordance
ait lieu o� qu'il ne reste plus de noms de domaines.
De toutes facons, si vous avez des alias de domaines qui ne sont pas des sous-domaines d'un autre, vous devez cr�er des liens symboliques comme :
cd /virtual ln -s domain1.com domain1alias.com
De cette mani�re, virtmaildelivery sera tromp� en pensant que ces m�mes r�pertoires
existent m�me si l'un d'eux est un lien symbolique et le mail pourra �tre distribu� �
user@domain1.com
ou user@domain1alias.com
. Notez que
virtexec
listera les deux r�pertoires des domaines dans la bo�te de
dialogue quand vous le lancerez. Vous pouvez choisir n'importe lequel, mais ce
sera le m�me syst�me de fichier.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:22