Ce
tutoriel développe la mise en place d'un contrôleur de
Domaine Principal (PDC) avec authentification POSIX uniquement.
Le
homedirectory des clients (/home/utilisateur) sera monté
depuis un serveur NFS (ou Samba voir Authentification
OpenLDAP/Samba).
La
racine principale de l'annuaire sera nommée : dc=alex,dc=fr
dc
pour domain controler, alex comme nom du domaine et fr
pour France.
Pour que les clients
puissent être identifiés par
le contrôleur de domaine, il faudra
configurer l'annuaire LDAP comme base de données centralisée
d'utilisateurs puis la mettre en relation avec les modules
d'authentification Unix, a savoir PAM et NSS.
Installation
des packages OpenLDAP
|
|
Pour
le Serveur
: |
Pour
le Serveur
: |
|
|
Configuration
d'OpenLDAP
|
|
Le fichier /etc/openldap2.2/slapd.conf |
Le fichier /etc/ldap/slapd.conf |
comporte
diverses informations telles que la racine supérieure de
l'annuaire, l'administrateur principal de l'annuaire LDAP et son mot
de passe, les droits d'accès par défaut, les fichiers
d'objets et de syntaxe à utiliser ainsi que les règles
d'accès (ACL) pour les entrées et les attributs de
l'annuaire LDAP.
Compte tenu que ce fichier contient le mot de
passe de l'administrateur de l'annuaire, il est impératif de
positionner les droits « rw------- » sur le fichier
slapd.conf :
[root@pc
root]# chmod 600 /etc/openldap2.2/slapd.conf
|
Modifiez
le fichier
/etc/openldap2.2/slapd.conf
#
To allow TLS-enabled connections. |
|
Modifiez
le fichier
/etc/ldap/slapd.conf ###################################### ###################################### |
Le
mot de passe de l'administrateur est «mypassword» en
clair, pour le crypter au format {CRYPT}, il faudra taper (exemple
avec mypassword) :
[root@pc
user]# slappasswd -v -s mypassword -h {CRYPT}
{CRYPT}G.H5krNMMw0cc
|
|
Modifiez
le fichier |
Créez
le fichier |
#
ACLs authentification POSIX
# Respectez les
tabulations, elles font parties de la syntaxe !
# La racine DIT doit être accessible pour tout les
clients.
access to dn.exact="" by * read
# Protection de l'attribut userPassword dans tout
l'annuaire.
access to attribute=userPassword
by self write
by dn="cn=admin,dc=alex,dc=fr" write
by anonymous auth
by * none
# ACL permettant à l'admin de l'annuaire
d'ajouter des utilisateurs
# dans la branche ou=People.
access to dn.children="ou=People,dc=alex,dc=fr"
attrs=entry,children,posixAccount
by dn="cn=admin,dc=alex,dc=fr"
write
by users read
by anonymous read
# ACL permettant à l'admin de l'annuaire d'ajouter
des groupes
# dans la branche ou=Group.
access to dn.children="ou=Group,dc=alex,dc=fr"
attrs=entry,children,posixGroup
by dn="cn=admin,dc=alex,dc=fr"
write
by users read
by anonymous read
# ACL permettant aux utilisateurs de modifier leurs attributs
mail et
# telephoneNumber.
access to dn.children="ou=People,dc=alex,dc=fr"
attrs=mail,telephoneNumber
by self
write
by dn="cn=admin,dc=alex,dc=fr"
write
by users read
by anonymous read
# ACL permettant à l'admin de l'annuaire d'ajouter
des hôtes
# dans la branche ou=Hosts.
access to dn.children="ou=Hosts,dc=alex,dc=fr"
attrs=entry,children,ipHost,device
by dn="cn=admin,dc=alex,dc=fr" write
by users read
by anonymous read
Basic
ACL : il est possible de donner des droits particuliers en utilisant
la directive access dont la syntaxe est : access to <une partie de
l'arbre>
[by <une personne> <droits
none|search|read|write>]
De plus, l'ordre d'écriture
des règles a une grande importance.
Par
exemple :
access to dn= « .*, dc=alex,dc=fr » by *
search
access to dn= « .*, dc=fr » by *
read
Signifie
que tout le monde a le droit en lecture sur toute l'arborescence
dc=fr excepté sur la partie dc=alex où les utilisateurs
ont un droit en recherche seulement. Le fait d'inverser l'ordre de
ces deux lignes, impliquera que la directive concernant dc=fr en
lecture sera la seule à être prise en compte et, on ne
protégera plus ainsi la partie de l'arbre dc=alex en recherche
seulement.
L'authentification
des utilisateurs
L'authentification des
utilisateurs sur le système se fait par défaut au moyen
des fichiers /etc/passwd (définition
des utilisateurs), /etc/group (identification des groupes
d'utilisateurs) et éventuellement /etc/shadow si vous
utilisez les "shadow password".
C'est
satisfaisant quand l'on dispose d'une machine isolée, par
contre avec un parc d'une centaine de machines, il est peut
concevable d'avoir à modifier ces fichiers sur tous les postes
pour rajouter un utilisateur. L'idée est de centraliser
l'authentification sur un serveur LDAP avec utilisation des "shadow
passwords".
Migration
des données POSIX vers LDAP
|
|
Modifiez le fichier migrate_common.ph dans le répertoire /usr/share/openldap/migration |
Modifiez le fichier migrate_common.ph dans le répertoire /etc/migrationtools |
On
doit indiquer son nom de domaine, comme ceci :
#
Default DNS domain
$DEFAULT_MAIL_DOMAIN = "alex.fr";
#
Default base
$DEFAULT_BASE = "dc=alex,dc=fr";
$DEFAULT_MAIL_HOST
= "mail.alex.fr";
$EXTENDED_SCHEMA
= 1;
Pour
Migrer Automatiquement
|
|
Si
vous voulez migrer tous les modules de votre serveur, utiliser le
fichier |
Si
vous voulez migrer tous les modules de votre serveur, utiliser le
fichier |
Commenter
ces lignes:
...
#echo
"Migrating protocols..."
#$PERL migrate_protocols.pl
$ETC_PROTOCOLS >> $DB
#echo "Migrating rpcs..."
#$PERL
migrate_rpc.pl $ETC_RPC >> $DB
#echo "Migrating
services..."
#$PERL
migrate_services.pl $ETC_SERVICES >> $DB
...
Exécuter
le script.
Répondez aux questions
(généralement accepter les
paramètres par
défauts)
[root@ldap]#
./migrate_all_online.sh
Enter the X.500 naming context you wish to
import into: [dc=alex,dc=fr]
Enter the name of your LDAP server
[ldap]: localhost
Enter the manager DN:
[cn=manager,dc=alex,dc=fr]: cn=root,dc=alex,dc=fr
Enter the
credentials to bind with: mypassword
Do you wish to generate a
DUAConfigProfile [yes|no]? no
le
X.500 naming context est le domain de base a utiliser. le LDAP server
name doit etre localhost sinon vous allez configurer un serveur LDAP
secondaire.
le manager DN doit etre identique au rootdn dans
slapd.conf.
le credentials to bind with est le password contenu
dans slapd.conf au rootpw.
le DUAConfigProfile doit etre laissé
sur no. Sinon tous sera importé dans votre LDAP database ce
qui peut prendre du temps.
Pour Migrer
manuellement
Création de la base de l'annuaire :
|
|
cd /usr/share/openldap/migration/ |
cd /usr/share/migrationtools/ |
[root@migration]#
./migrate_base.pl >base.ldif
[root@migration]# ldapadd -x -D
"cn=Manager,dc=alex,dc=fr" -w mypassword -f
base.ldif
Migration
du fichier /etc/hosts :
[root@migration]#
./migrate_hosts.pl /etc/hosts hosts.ldif
[root@migration]# ldapadd
-x -D "cn=Manager,dc=alex,dc=fr" -w mypassword -f
hosts.ldif
Vous
pouvez vérifier si la migration a bien fonctionné
(si vous aviez des WS inscrites dans /etc/hosts) :
[root@ldap]#
ldapsearch -LL -H ldap://localhost -b "dc=alex,dc=fr" -x
"(cn=workstation1)"
version: 1
dn:
cn=workstation1.alex.fr,ou=Hosts,dc=alex,dc=fr
objectClass:
top
objectClass: ipHost
objectClass: device
ipHostNumber:
192.168.0.123
cn: workstation1.alex.fr
cn: workstation1
A
présent il faut rentrer les utilisateurs et groupes du système
dans l'annuaire LDAP.
[root@migration]#
./migrate_group.pl /etc/group group.ldif
[root@migration]# ldapadd
-x -D "cn=Manager,dc=alex,dc=fr" -w mypassword -f
group.ldif
[root@migration]# ETC_SHADOW=/etc/shadow
./migrate_passwd.pl /etc/passwd
passwd.ldif
[root@migration]# ldapadd -x -D
"cn=Manager,dc=alex,dc=fr" -w mypassword -f
passwd.ldif
Voici
les informations me concernant, contenues dans mon group.ldif
dn:
cn=arnofear,ou=Group,dc=alex,dc=fr
objectClass:
posixGroup
objectClass: top
cn: arnofear
userPassword:
{crypt}x
gidNumber: 501
Voici
les informations me concernant, contenues dans mon passwd.ldif
dn:
uid=arnofear,ou=People,dc=alex,dc=fr
uid: arnofear
cn:
arnofear
mail: arnofear@alex.fr
objectClass:
mailRecipient
objectClass: person
objectClass:
organizationalPerson
objectClass: inetOrgPerson
objectClass:
account
objectClass: posixAccount
objectClass: top
objectClass:
shadowAccount
userPassword:
{crypt}$1$Dbwezia0$xZQeQBeQJFliDthz90Inl.
shadowLastChange:
12377
shadowMax: 99999
shadowWarning: 7
loginShell:
/bin/bash
uidNumber: 501
gidNumber: 501
homeDirectory:
/home/arnofear
gecos: arnofear
On
visualise tout ça en tapant
ldapsearch
-x -D "cn=Manager,dc=alex,dc=fr" -w mypassword -b
"dc=alex,dc=fr"
Vous
disposez aussi d'outils avec le package smbldap-tools
(voir Smbldap-tools)
pour créer les informations initiales dans votre
annuaire LDAP et administrer facilement la création,
modification et l'effacement de comptes.
Sinon pour des consoles
graphiques, utilisez une interface de gestion
comme GQ, web avec LAM
et phpLDAPadmin
ou java comme Xjplorer.
shadowLastChange:
Date de dernière modification (en
jour depuis 01.01.1970)
shadowMax: Nombre de jours
d'utilisation max du mot de passe (changement requis à
l'issue), pas de période de validité si égal à
99999
shadowWarning:
Nombre de jours avant l'expiration pour avertir
l'utilisateur.
shadowInactive: Nombre de jours après
la date de l'expiration où on rend le compte
inactif,fonctionnalité désactivé si égal
à -1
shadowExpire: Nombre de jours après le
01.01.1970 où le compte sera désactivé,
fonctionnalité désactivée si égal à
-1
memberUid:
Indique le groupe d'appartenance de l'utilisateur.
Mappage
de l'annuaire LDAP avec les modules d'authentification Posix
|
|
Editez
le fichier /etc/ldap.conf
|
Editez le fichier /etc/libnss-ldap.conf et faites un lien symbolique vers /etc/pam_ldap.conf puisque la configuration est identique. |
#
@(#)$Id: ldap.conf,v 2.28 2001/08/28 12:17:29 lukeh Exp $
#
#
This is the configuration file for the LDAP nameservice
# switch
library and the LDAP PAM module.
# Your LDAP server. Must be
resolvable without using LDAP.
# Sur le
serveur il faut mettre l'adresse de la boucle locale
# si vous
utilisez ldap://
# Si vous utilisez ldaps:// indiquez
plutôt votre FQDN
(srv2.alex.fr)
Host
localhost
# The distinguished name of the search
base.
# le nom de la base.
base
dc=alex,dc=fr
# The LDAP version to use (defaults to
3
# if supported by client library)
ldap_version 3
#
The distinguished name to bind to the server with
# if the
effective user ID is root. Password is
# stored in
/etc/ldap.secret (mode 600)
#
Ne pas activer cette option
car le mot de
passe Manager passera en
# clair
!!! Préférez une connexion anonymous.
#rootbinddn
cn=Manager,dc=example,dc=com
#
The port.
# Optional: default is 389.
#
Laissez le port commenté. Si vous utilisez ldaps,
# le port
636 sera utilisez automatiquement.
# port 389
# The
search scope.
# scope sub
scope one
#
scope base
# Search timelimit
# timelimit 30
# Bind
timelimit
# bind_timelimit 30
# client will close
connections (nss_ldap only) if the
server has not
# been contacted for
the number of seconds specified below.
# idle_timelimit
3600
# Filter to AND with uid=%s
pam_filter
objectclass=posixaccount
# The user ID attribute
(defaults to uid)
pam_login_attribute uid
#
Group member attribute
pam_member_attribute gid
pam_password
crypt
# You can omit the suffix eg:
#
nss_base_passwd ou=People,
# to append the default base DN but
this
# may incur a small performance impact.
#
Indiquez le chemin de recherche dans la base de l'annuaire
# les
utilisateurs seront inscrits dans People, les groupes dans Group
#
Attention la ligne suivante est dédiée au serveur
LDAP.
nss_base_passwd ou=People,dc=alex,dc=fr?sub
nss_base_shadow ou=People,dc=alex,dc=fr?one
nss_base_group ou=Group,dc=alex,dc=fr?one
nss_base_hosts ou=Hosts,dc=alex,dc=fr?one
#
OpenLDAP SSL mechanism
# start_tls mechanism uses the normal LDAP
port, LDAPS typically 636
# ssl start_tls
# ssl on
#
Les transactions se feront en claires si vous n'utilisez pas ldaps.
#
Reportez vous au chapitre "SSL/TLS"
pour mettre en place ldaps.
ssl
off
|
|
Modifiez /etc/openldap/ldap.conf |
Modifiez /etc/ldap/ldap.conf |
#
Reportez vous au chapitre "SSL/TLS"
pour mettre en place ldaps.
#TLS_CACERT
/etc/ssl/openldap/ldap_cert.pem
#TLS_CACERTDIR /etc/ssl/openldap
#TLS_REQCERT
allow
# La racine de votre
annuaire.
BASE dc=alex,dc=fr
#
L'adresse FQDN de vos (ou votre) serveurs OpenLDAP.
URI
ldap://srv2.alex.fr ldap://srv6.alex.fr
Configurer
NSS pour utiliser LDAP
Dans
le fichier /etc/nsswitch.conf modifiez les lignes suivantes :
|
|
passwd:
files ldap |
passwd:
compat ldap |
#
si vous avez des hosts ajoutez ldap, sinon laissez files dns
#
(possibilité de bug au démarrage du PC)
Vous
pouvez étendre files ldap
aux autres modules selon se que vous avez importé dans votre
Migration.
Pour
vérifier utilisez getent de cette façon :
[root@ldap]#
getent hosts
[root@ldap]# getent group
[root@ldap]# getent
passwd
[root@ldap]#
getent shadow
Configurer
PAM pour utiliser LDAP
|
Modifiez
le fichier /etc/pam.d/system-auth |
|
Modifiez
le fichier /etc/pam.d/common-account |
Authentification
Host-based
Si vous utilisez OpenLDAP pour identifier
les users dans un LAN, vous pouvez refuser la connexion à
certaines machines. Utiliser le pam_mkhomedir module :
Dans le
fichier /etc/ldap.conf, vous devez ajouter cet attribut :
#
check for login rights on the host
pam_check_host_attr yes
Ce
qui demandera au module pam_ldap de rechercher l'attribut "host"
dans la base de l'user pour déterminer s'il a accès
au système.
Vous devez
ajouter cet attribut dans l'enregistrement des users.
Créer
un fichier host-auth.ldif :
dn:
uid=joe,ou=People,dc=alex,dc=fr
changetype:
modify
add: host
host: workA
host: workB
dn:
uid=bob,ou=People,dc=alex,dc=fr
changetype:
modify
add: host
host: workB
exécutez
la commande ldapmodify :
[root@ldap]#
ldapmodify -H ldap://localhost -D "cn=Manager,dc=alex,dc=fr"
\
-x -W -f host-auth.ldif
dans
cet exemple joe pourra se connecter sur l'host workA et
workB alors que bob ne pourra
que se connecter sur l'host workB
Configuration
des Clients OpenLDAP
|
|
Editez
le fichier /etc/ldap.conf de chaque clients. |
Editez le fichier /etc/libnss-ldap.conf qui sera dupliqué vers /etc/pam_ldap.conf étant identique pour chaque clients. |
#
@(#)$Id: ldap.conf,v 2.28 2001/08/28 12:17:29 lukeh Exp $
#
#
This is the configuration file for the LDAP nameservice
# switch
library and the LDAP PAM module.
# Your LDAP server. Must be
resolvable without using LDAP.
# Indiquez
l'adresse FQDN (de préférence) de votre serveur LDAP.
#
si vous en avez plusieurs écrivez :
# Host srv2.alex.fr,
srv6.alex.fr
Host srv2.alex.fr
#
The distinguished name of the search base.
#
le nom de la base.
base
dc=alex,dc=fr
# The LDAP version to use (defaults to
3
# if supported by client library)
ldap_version 3
#
The distinguished name to bind to the server with
# if the
effective user ID is root. Password is
# stored in
/etc/ldap.secret (mode 600)
# Ne
pas activer cette option car le mot de
passe Manager passera en
# clair !!! Préférez
une connexion anonymous.
#rootbinddn
cn=Manager,dc=example,dc=com
# The port.
# Optional:
default is 389.
# Laissez le port
commenté. Si vous utilisez ldaps,
# le port 636 sera
utilisez automatiquement.
# port
389
# The search scope.
# scope sub
scope
one
# scope base
# Search timelimit
# timelimit
30
# Bind timelimit
# bind_timelimit 30
# client
will close connections (nss_ldap only) if the server has not
#
been contacted for the number of seconds specified below.
#
idle_timelimit 3600
# Filter to AND with uid=%s
pam_filter
objectclass=posixaccount
# The user ID attribute
(defaults to uid)
pam_login_attribute uid
#
Group member attribute
pam_member_attribute gid
pam_password
crypt
#
You can omit the suffix eg:
# nss_base_passwd ou=People,
# to
append the default base DN but this
# may incur a small
performance impact.
# Indiquez le chemin de
recherche dans la base de l'annuaire
# les utilisateurs seront
inscrits dans People, les groupes dans
Group.
nss_base_passwd ou=People,dc=alex,dc=fr?one
nss_base_shadow ou=People,dc=alex,dc=fr?one
nss_base_group ou=Group,dc=alex,dc=fr?one
nss_base_hosts ou=Hosts,dc=alex,dc=fr?one
#
OpenLDAP SSL mechanism
# start_tls mechanism uses the normal LDAP
port, LDAPS typically 636
# ssl start_tls
# ssl on
#
Les transactions se feront en claires si vous n'utilisez pas ldaps.
#
Repportez vous au chapitre "SSL/TLS"
pour mettre en place ldaps.
ssl off
|
|
Modifiez /etc/openldap/ldap.conf |
Modifiez /etc/ldap/ldap.conf |
#
Reportez vous au chapitre "SSL/TLS"
pour mettre en place ldaps.
#TLS_CACERT
/etc/ssl/openldap/ldap_cert.pem
#TLS_CACERTDIR /etc/ssl/openldap
#TLS_REQCERT
allow
# La racine de votre
annuaire.
BASE dc=alex,dc=fr
#
L'adresse FQDN de vos (ou votre) serveurs OpenLDAP.
URI
ldap://srv2.alex.fr ldap://srv6.alex.fr
Copiez
ces fichiers sur les clients qui s’adresseront au Serveur LDAP
|
|
/etc/nsswitch.conf
|
/etc/nsswitch.conf |
Test
de fonctionnement
Sur le serveur ou les clients,
supprimez les lignes qui correspondent à vos
utilisateurs dans /etc/passwd , et /etc/shadow et
faites de même pour vos groupes
utilisateurs dans /etc/group
N'oubliez pas de faire
une sauvegarde de ces fichiers au cas où !
Maintenant
essayez de vous loguer en tant que simple utilisateur.
Montage
du homedirectory des Clients depuis un
serveur NFS
Sur
la machine qui sera utilisée comme serveur NFS installez ces packages
:
|
|
nfs-utils-1.0.xxmdk.rpm |
nfs-common_1.0.6-3.1_i386.deb |
Nous
voulons que les HomeDirectories des utilisateurs soient créés
à la volée dés leur première connexion.
Pour cela il faut que le système (root) des clients puissent écrire
sur notre montage NFS (/home).
Par défaut NFS rétrograde les droits root clients (uid/gid=0)
en nobody.
Il faut préciser l'option NFS "no_root_squash" pour que les
root clients puissent écrire.
Editez le fichier /etc/exports :
# /répertoire_serveur_NFS
# noms_des_clients => dans cet exemple tous mes clients
# commencent par ws123.alex.fr
# (lecture/écriture,synchronisation,root_clients_en_écriture)
/home/nfs ws*.alex.fr(rw,sync,no_root_squash)
Pour plus de sécurité vous pouvez lister toutes les machines
clientes autorisées à se connecter au serveur NFS :
Editez le fichier /etc/hosts.deny :
slapd: ALL
portmap: ALL
lockd: ALL
mountd: ALL
rquotad: ALL
statd: ALL
et aussi le fichier /etc/hosts.allow :
# Autorisez des
adresses spécifiques :
# portmap: 192.168.0.20, 192.168.0.25, 192.168.0.30
# Ou autorisez le réseau entier :
portmap: 192.168.0.0/255.255.255.0 127.0.0.1
lockd: 192.168.0.0/255.255.255.0 127.0.0.1
mountd: 192.168.0.0/255.255.255.0 127.0.0.1
rquotad: 192.168.0.0/255.255.255.0 127.0.0.1
statd: 192.168.0.0/255.255.255.0 127.0.0.1
slapd: 192.168.0.0/255.255.255.0 127.0.0.1
Relancez les services :
[root@srv12 user]# exportfs -a
[root@srv12
user]# /etc/init.d/portmap restart
|
|
[root@srv12 user]# /etc/init.d/nfs restart |
srv12:~# /etc/init.d/nfs-kernel-server restart |
Pour
vérifier :
[root@srv12
user]# rpcinfo -p
program vers proto
port
100000 2 tcp 111
portmapper
100000 2 udp 111
portmapper
100003 2 udp 2049
nfs
100003 3 udp 2049
nfs
100003 2 tcp 2049
nfs
100003 3 tcp 2049
nfs
100021 1 udp 32772
nlockmgr
100021 3 udp 32772
nlockmgr
100021 4 udp 32772
nlockmgr
100021 1 tcp 32875
nlockmgr
100021 3 tcp 32875
nlockmgr
100021 4 tcp 32875
nlockmgr
100005 1 udp 32773
mountd
100005 1 tcp 32876
mountd
100005 2 udp 32773
mountd
100005 2 tcp 32876
mountd
100005 3 udp 32773
mountd
100005 3 tcp 32876
mountd
Sur
les machines Clientes LDAP/NFS installez ce package :
|
|
nfs-utils-clients-1.0.xx.rpm |
nfs-common_1.0.6-3.1_i386.deb |
Editez
le fichier /etc/fstab pour ajouter :
srv12.alex.fr:/home/nfs
/home nfs rw,sync,rsize=8192,wsize=8192,
nosuid,nodev,noexec,soft
0 0
Montage manuel pour
vérifier :
[root@ws20
root]# mount /home
Au
prochain démarrage des PC clients et si votre serveur NFS est
opérationnel, le /home de vos clients sera monté depuis
votre serveur.
Sécurisation
des Workstations
Pour
éviter tout débordement ou attaque de votre réseau
depuis l'intérieur, vous pouvez verrouiller dans un premier
temps l'accès au BIOS par un password, ainsi que les
périphériques au boot du PC (1er boot sur IDE-0) voir
même la détection d'intrusion chassis.
Mais
surtout verrouillez les commandes passées avec lilo
par un password !
Sur chaque Workstations éditez
/etc/lilo.conf pour modifier en rouge
dans chaque labels
:
boot=/dev/hda
map=/boot/map
default="linux"
keytable=/boot/fr-latin1.klt
prompt
nowarn
timeout=20
message=/boot/message
menu-scheme=wb:bw:wb:bw
image=/boot/vmlinuz
label="linux"
#
Ne demandera pas de password, mais ne pourra pas
#
être modifié sans lui.
password="mypassword"
restricted
root=/dev/hda1
initrd=/boot/initrd.img
append="devfs=mount
hdd=ide-scsi hdb=ide-scsi acpi=off
quiet"
vga=788
read-only
image=/boot/vmlinuz
label="linux-nonfb"
password="mypassword"
restricted
root=/dev/hda1
initrd=/boot/initrd.img
append="devfs=mount
hdd=ide-scsi hdb=ide-scsi
acpi=off"
read-only
image=/boot/vmlinuz
label="failsafe"
password="mypassword"
restricted
root=/dev/hda1
initrd=/boot/initrd.img
append="devfs=nomount
hdd=ide-scsi hdb=ide-scsi acpi=off
failsafe"
read-only
other=/dev/fd0
label="floppy"
#
Demandera le password pour booter sur
disquette
password="mypassword"
unsafe
Puis
validez les modifications :
[root@ws
user]# lilo
Warning: /etc/lilo.conf should be readable only for root if using PASSWORD
Added linux *
Added linux-nonfb
Added failsafe
Added floppy
Ensuite pour que personne ne lise simplement le fichier lilo.conf vérifiez
qu'il appartient à root (uid/gid) et appliquez les droits suivants :
[root@ws
user]# chmod 600 /etc/lilo.conf
Copyright © 04/02/2004, Arnofear
![]() |
Ce document est publié sous licence Creative Commons Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique : http://creativecommons.org/licenses/by-nc-sa/3.0/deed.fr |