Skip to content

Commit

Permalink
tag of [email protected]/calife--pam--3.0--patch-1
Browse files Browse the repository at this point in the history
(automatically generated log message)
  • Loading branch information
keltia committed May 4, 2005
0 parents commit 04fdc11
Show file tree
Hide file tree
Showing 18 changed files with 13,290 additions and 0 deletions.
339 changes: 339 additions & 0 deletions COPYING

Large diffs are not rendered by default.

588 changes: 588 additions & 0 deletions ChangeLog

Large diffs are not rendered by default.

90 changes: 90 additions & 0 deletions Makefile.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Makefile pour calife(8)
#
# $Id: //depot/security/calife/main/Makefile.in#7 $
#

srcdir = @srcdir@

VPATH = $(srcdir)

install_prefix =
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = $(exec_prefix)/bin
sbindir = $(exec_prefix)/sbin
mandir = $(prefix)/man
man1dir = $(mandir)/man1
man5dir = $(mandir)/man5
etcdir = @ETCDIR@

CC = @CC@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
DEFS = @DEFS@
LIBS = @LIBS@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
GROFF = @GROFF@
MV = @MV@
RM = @RM@
BINGRP = @BINGRP@

SHELL = /bin/sh

MAN1PAGES = calife.1
MAN1SOURCES = calife.1.in
MAN5PAGES = calife.auth.5
MAN5SOURCES = calife.auth.5.in

# XXX change it if you want calife.auth and calife.out somewhere else
AUTH_CONFIG_FILE = $(etcdir)/calife.auth
CALIFE_OUT_FILE = $(etcdir)/calife.out

SRCS = calife.c db.c util.c
OBJS = calife.o db.o util.o

# XXX change it if you'd rather have the more "standard" name calife.
PROGRAM = calife
IPROGRAM = @IPROGRAM@

all: $(PROGRAM)

.c.o:
$(CC) -c -I. $(DEFS) -DAUTH_CONFIG_FILE=\"$(AUTH_CONFIG_FILE)\" -DCALIFE_OUT_FILE=\"$(CALIFE_OUT_FILE)\" $(CFLAGS) $<

calife.o: calife.c conf.h config.h
db.o: db.c conf.h config.h
util.o: util.c conf.h config.h

config.h: config.h.in config.status

Makefile: Makefile.in

$(PROGRAM): $(OBJS) conf.h
@echo Compiling calife.
$(CC) $(LDFLAGS) $(OBJS) -o $(PROGRAM) $(LIBS)

clean:
$(RM) -f $(PROGRAM) $(OBJS)

distclean: clean
$(RM) -f Makefile config.h $(MAN1PAGES) $(MAN5PAGES)
$(RM) -f config.cache config.log config.status

install: $(PROGRAM)
@echo Saving old $(IPROGRAM)
@-(cd $(bindir) ; $(MV) $(IPROGRAM) $(IPROGRAM).old)
@echo Copying new $(PROGRAM) as $(IPROGRAM)
$(INSTALL) -o root -g $(BINGRP) -m 4755 $(PROGRAM) $(bindir)/$(IPROGRAM)
@/bin/ls -lF $(bindir)/$(IPROGRAM)
@echo Warning, man pages requires the BSD mandoc macro package
@$(INSTALL) -m 644 -o root -g $(BINGRP) calife.1 $(man1dir)
@$(INSTALL) -m 644 -o root -g $(BINGRP) calife.auth.5 $(man5dir)
if [ ! -f $(etcdir)/calife.auth ]; then \
echo Installing sample version of calife.auth in $(etcdir); \
$(INSTALL) -m 600 -o root -g $(BINGRP) calife.auth-dist $(etcdir); \
fi

depend:
$(MAKEDEP) -I$(srcdir) -I. $(DEFS) $(SRCS)
248 changes: 248 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,248 @@
-*-Text-*-
____________
Introduction

Calife est un programme permettant � certains utilisateurs, dont les noms
sont pr�sents dans une liste, de passer sous un quelconque ID utilisateur
(par exemple, mais pas uniquement, "root") en rentrant leur propre mot de
passe.

Ce syst�me permet de ne pas divulguer le mot de passe de root (par exemple
pour le mode "single-user" de certains Unix) tout en conf�rant les droits
de root � certains utilisateurs bien identifi�s.

L'introduction obligatoire du mot de passe lors du changement d'ID permet
de ne pas compromettre l'acc�s root si l'utilisateur reste log� sur une
machine puis s'en �loigne.

La barri�re de s�curit� finale r�side dans le mot de passe de ces
utilisateurs, qui, nous l'esp�rons, connaissent les r�gles �l�mentaires.

Des listes d'utilisateurs vers lesquels quelqu'un a le droit d'utiliser
calife permettent d'affiner la gestion des personnes autoris�es.

____________
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 effectu�es. Cela me
permet de l'am�liorer 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 derni�re 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.

[email protected]
http://archives.keltia.net/{archives}/[email protected]

calife--main--2.8 est la branche principale de d�veloppemet.

Arch/TLA: <http://gnuarch.org/>

Je conseille vivement la vesion de d�veloppement (post�rieure � la 1.1pre5
actuellement disponible). Voir <http://regexps.srparish.net/www/> pour plus
de d�tails.

____________
Installation

Calife utilise dor�navant le programme GNU "autoconf" pour la
configuration.

Tapez la commande :

./configure

Le script va analyser votre syst�me et cr�er les fichiers suivants :

- Makefile
- config.h
- calife.1
- calife.auth.5

Le binaire et les pages de manuels seront par d�faut install�s, lors du
"make install", sous "/usr/local".

Utiliser l'argument de configure "--prefix=/le/prefixe" pour indiquer le
nom du r�pertoire ad�quat.

Quelques options sp�ciales sont disponibles :

--with-etcdir=PATH Directory containing calife.auth (default /etc)
--with-password=yes|no Ask for password (default is yes)
--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.

--with-password
Permet d'inhiber la demande de mot de passe (NON RECOMMANDE !)

--enable-debug
Exige l'affichage des messages de "debugging".
Inutile en usage normal.

--enable-shellhack
Si vous avez le message "Permission denied" apr�s avoir tap� votre
mot de passe, essayez de relancer "configure" avec cette option.

--enable-dynamic
Si vous d�sirez avoir le binaire li� dynamiquement et non pas
statiquement. L'utilisation du binaire statique permet non
seulement d'am�liorer le partage des pages entre de multiples
instances de calife mais aussi de ne pas �tre d�pendant de la
version de la biblioth�que standard.

Parmi les syst�mes devant utiliser --enable-dynamic, on compte
Solaris 2.x, HP-UX, Linux et MacOS X/Darwin.

Cas de Linux :

Ce syst�me utilise plusieurs syst�mes de "shadow passwords". Il est
possible que "configure" ne parvienne pas � d�terminer 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"
appr�ci�es.

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 utilis�s.

--disable-shadow
Le d�faut est d'utiliser getspnam(3) si elle est d�finie.

Si vous devez cr�er une nouvelle section dans conf.h ou une nouvelle entr�e
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 d�faut 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 d�faut dans /etc)
� la sortie de "calife". Ceci permet par exemple d'envoyer un mail � chaque
utilisation de calife. Cette possibilit� est optionnelle et d�pend de
l'option � --enable-global-rc �.

_____________
Compatibilit�

Calife a �t� test� et d�velopp� sur les syst�mes UNIX suivants (les
versions test�es peuvent �tre anciennes et devraient �tre retest�es mais je
n'ai plus acc�s � pas mal de ces machines...) :

- FreeBSD 1 - 6.x (mach. de d�veloppement 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.*

Syst�mes pour lesquels la compatibilit� n'est pas test�e 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.

Le support de NIS a disparu dans les versions 2.6.5 et suivantes mais sera
r�int�gr� sous peu.

La fonctionnalit� syslog(3) est maintenant obligatoire pour compiler calife. Ca simplifie
le code mani�re significative.

Des packages FreeBSD et Debian existent dor�navant gr�ce � Thomas Quinot.
Alain Thivillon a g�n�r� des packages Red-hat (RPM) pour 2.8.4b.

_______________
Pages de manuel

Les pages de manuel sont tr�s succinctes et utilisent le syst�me de macros mis
au point � Berkeley appel� "mandoc" donc si vous n'avez pas ces macros, le
r�sultat n'est pas tr�s lisible. Je conseille vivement d'utiliser ce syst�me
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 id�e commune � Fran�ois Berjon et moi,
qui utilisions un syst�me tr�s simple, appel� ``...'', capable de lancer un
shell root apr�s v�rification de l'uid du requ�rant, 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-Vall�e, o� il a gagn� la majorit� de ses
possibilit�s actuelles.

Il est utilis� quotidiennement par plusieurs sites et donne des r�sultats
satisfaisants.

Tout commentaire, critique [constructive] et patches bienvenus � l'une des
adresses suivantes :

[email protected] (maison)

_____________
Remerciements

Ren� Cougnenc
Fran�ois Berjon <[email protected]>
Laurent Chemla <[email protected]>
Pierre Beyssac <[email protected]>
Nathana�l Makar�vitch <[email protected]>
Thomas Quinot <[email protected]>
Christian Perrier <[email protected]>
Philippe Regnault <[email protected]>
Thierry Besancon <[email protected]>
Laurent Wacrenier <[email protected]>
Erwan David <[email protected]>

et � tous ceux qui ont particip� pour la mise au point et les tests.

# arch-tag: bc3bc25d-41bf-11d8-a7f4-000a95a0cf8a
Loading

0 comments on commit 04fdc11

Please sign in to comment.