1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
|
-*-Text-*-
____________
Introduction
Calife est un programme permettant certains utilisateurs, dont les noms sont
prsents dans une liste, de passer sous un quelconque ID utilisateur (par
exemple, mais pas uniquement, "root") en rentrant leur propre mot de passe.
Ce systme permet de ne pas divulguer le mot de passe de root (par exemple
pour le mode "single-user" de certains Unix) tout en confrant les droits de
root certains utilisateurs bien identifis.
L'introduction obligatoire du mot de passe lors du changement d'ID permet de
ne pas compromettre l'accs root si l'utilisateur reste log sur une machine
puis s'en loigne.
La barrire de scurit finale rside dans le mot de passe de ces
utilisateurs, qui, nous l'esprons, connaissent les rgles lmentaires.
Des listes d'utilisateurs vers lesquels quelqu'un a le droit d'utiliser calife
permettent d'affiner la gestion des personnes autorises.
____________
Distribution
Calife est distribu sous la GNU General Public Licence qui vous permet de
diffuser, utiliser et modifier ce programme tant que vous en diffusez les
sources et me communiquez toutes les modifications effectues. Cela me permet
de l'amliorer et de le maintenir dans de bonnes conditions.
Vous trouverez la licence GNU dans le fichier COPYING fourni avec l'archive.
Pour ce qui est du "disclaimer" standard associ ce type de programme et
ce type de diffusion, le paragraphe suivant, tir de la licence BSD,
s'applique :
THIS SOFTWARE IS PROVIDED BY ME ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL I BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Ceci dit, si vous l'utilisez et le trouvez utile, je ne refuserais pas une
Guinness :-)
Le site primaire pour Calife est <ftp://mutt.frmug.org/pub/calife/>. Un miroir
existe sur <ftp://postfix.EU.org/pub/calife/>. La dernire version est
toujours disponible sous le nom latest.tar.gz.
Calife est disponible sous la forme d'une archive Arch ce qui facilitera
l'usage et la mise jour par des contributeurs externes.
roberto@eu.org--2003b
http://archives.keltia.net/{archives}/roberto@eu.org--2003b
calife--main--2.8 est la branche principale de dveloppement de la version
stable.
Arch/TLA/Bazaar: <http://gnuarch.org/> <http://bazaar.canonical.com/>
Je conseille vivement d'utiliser baz (Bazaar) qui a l'avantage de simplifier
certaines des commandes, d'en regrouper certaines et d'tre plus rapide sur
des oprations courantes.
La PAMification de Calife est dans une banche spare appele
calife--pam--3.0 .
____________
Installation
Calife utilise dornavant le programme GNU "autoconf" pour la configuration.
Tapez la commande :
./configure
Le script va analyser votre systme et crer les fichiers suivants :
- Makefile
- config.h
- calife.1
- calife.auth.5
Le binaire et les pages de manuels seront par dfaut installs, lors du
"make install", sous "/usr/local".
Utiliser l'argument de configure "--prefix=/le/prefixe" pour indiquer le nom
du rpertoire adquat.
Quelques options spciales sont disponibles :
--with-etcdir=PATH Directory containing calife.auth (default /etc)
--disable-shadow=yes|no Disable getspnam(3) usage for some Linuxes
--enable-debug=yes|no Set the debugging mode (default is no)
--enable-shellhack=yes|no (default is no)
--enable-dynamic Build the program dynamically (default static)
--enable-global-rc Add /etc/calife.out support.
--with-etcdir=CHEMIN
Permet de placer les fichiers calife.auth et calife.out ailleurs
que dans /etc.
--enable-debug
Exige l'affichage des messages de "debugging".
Inutile en usage normal.
--enable-shellhack
Si vous avez le message "Permission denied" aprs avoir tap votre
mot de passe, essayez de relancer "configure" avec cette option.
--enable-dynamic
Si vous dsirez avoir le binaire li dynamiquement et non pas
statiquement. L'utilisation du binaire statique permet non seulement
d'amliorer le partage des pages entre de multiples instances de
calife mais aussi de ne pas tre dpendant de la version de la
bibliothque standard.
Parmi les systmes devant utiliser --enable-dynamic, on compte
Solaris 2.x, HP-UX, Linux et MacOS X/Darwin.
Cas de Linux :
Ce systme utilise plusieurs systmes de "shadow passwords". Il est possible
que "configure" ne parvienne pas dterminer le type d'outil de "shadow
passwords" employ. Je n'ai pas de Linux, il m'est donc difficile de tester...
Toute suggestion et modification de "configure.in" apprcies.
L'option suivante permet calife de ne pas utiliser getspnam(3) dans le cas
o la fonction existe mais les shadows passwords ne sont pas utiliss.
--disable-shadow
Le dfaut est d'utiliser getspnam(3) si elle est dfinie.
Si vous devez crer une nouvelle section dans conf.h ou une nouvelle entre
dans Makefile.in ou configure.in , merci de me communiquer les modifications
pour incorporation dans les versions suivantes.
Le programme s'installe sous forme d'un binaire nomm "calife" pour des
raisons de facilit mais le nom historique est "...".
Il installe aussi un fichier de configuration d'exemple, appel
"calife.auth-dist" et par dfaut plac dans /etc
Consulter les pages de manuel fournies ("calife" et "calife.auth") pour en
apprendre davantage.
Le programme essaie de lancer le fichier calife.out (par dfaut dans /etc)
la sortie de "calife". Ceci permet par exemple d'envoyer un mail chaque
utilisation de calife. Cette possibilit est optionnelle et dpend de l'option
--enable-global-rc .
_____________
Compatibilit
Calife a t test et dvelopp sur les systmes UNIX suivants (les versions
testes peuvent tre anciennes et devraient tre retestes mais je n'ai plus
accs pas mal de ces machines...) :
- FreeBSD 1 - 6.x (mach. de dveloppement de l'auteur)
- MacOS X 10.*/Jaguar (nouveau)
- Linux 0.99+ et 1.* (1.2.* et 1.3.*), 2.*
- Solaris 2.x (et la plupart des SVR4)
- HP-UX 8.*, 9.*, 10.* et 11.*
**NOTE: la version 3.0 sera une version exclusivement PAM de manire
simplifier le code, sa maintenance et la compatibilit avec les UNIX le
supportant.
Systmes pour lesquels la compatibilit n'est pas teste directement par
l'auteur.
- SunOS 4.1.*
- SunOS 3.2
- NeXTStep 3
- SCO 3.2
- HP-UX 8.* et 9.*
- SVR4 NeWSOS 5.02
- Encore Gould NP1
- AIX 3.x & 4.x
- IRIX 5.x (probablement 6.x aussi)
- GNU Hurd (nouveau)
MacOS 10.3 (Panther) n'est pour l'instant pas support, la gestion des mots de
passe ayant chang par rapport Jaguar. Tiger (10.4) sera support comme
Panther via le support PAM (nouveaut en 3.0).
Pour calife 3.0/PAM, le fichier calife.pam contient ce qui est ncessaire
pour faire fonctionner PAM avec calife. Placer ce fichier dans /etc/pam.d (ou
l'endroit demand par votre implmentation de PAM). Cet exemple fonctionne
avec MacOS X Panther.
Le support de NIS a disparu dans les versions 2.6.5 et suivantes mais sera
rintgr sous peu. Il va redisparaitre en 3.0 mais sera utilisable via PAM.
La fonctionnalit syslog(3) est maintenant obligatoire pour compiler calife.
Ca simplifie le code manire significative.
Des packages FreeBSD et Debian existent dornavant grce Thomas Quinot.
Alain Thivillon a gnr des packages Red-hat (RPM) pour 2.8.4b.
_______________
Pages de manuel
Les pages de manuel sont trs succinctes et utilisent le systme de macros mis
au point Berkeley appel "mandoc" donc si vous n'avez pas ces macros, le
rsultat n'est pas trs lisible. Je conseille vivement d'utiliser ce systme
qui est plus complet que le ``man'' habituel.
Si vous disposez de GNU groff, alors la commande pour les pages de manuel est
"nroff -mandoc" ou "gnroff -mandoc".
__________
Historique
Ce programme est n en 1991 d'une ide commune Franois Berjon et moi, qui
utilisions un systme trs simple, appel ``...'', capable de lancer un shell
root aprs vrification de l'uid du requrant, sans demander de mot de passe.
Il a volu lors de mon travail Antenne 2 et surtout lors de mon stage
l'Universit de Marne-la-Valle, o il a gagn la majorit de ses possibilits
actuelles.
Il est utilis quotidiennement par plusieurs sites et donne des rsultats
satisfaisants.
Tout commentaire, critique [constructive] et patches bienvenus l'une des
adresses suivantes :
roberto@keltia.freenix.fr (maison)
_____________
Remerciements
Ren Cougnenc
Franois Berjon <fcb@gwynedd.frmug.org>
Laurent Chemla <laurent@brainstorm.fr>
Pierre Beyssac <pb@fasterix.frmug.org>
Nathanal Makarvitch <nat@nataa.frmug.org>
Thomas Quinot <thomas@cuivre.fr.eu.org>
Christian Perrier <bubulle@kheops.frmug.org>
Philippe Regnault <regnauld@starbsd.org>
Thierry Besancon <Thierry.Besancon@csi.uvsq.fr>
Laurent Wacrenier <lwa@teaser.fr>
Erwan David <erwan@rail.eu.org>
Bertrand Petit <elrond@phoe.frmug.org>
Denis Ducamp <Denis.Ducamp@hsc.fr>
et tous ceux qui ont particip pour la mise au point et les tests.
# arch-tag: bc3bc25d-41bf-11d8-a7f4-000a95a0cf8a
|