Lors du déploiement de Fedora 16 via kickstart, si vous rencontrez l’erreur:
you have not created a bootloader stage1 target device
Ajoutez la ligne suivante dans votre fichier kickstart:
part biosboot --fstype=biosboot --size=1
9 November , 2011
by seynhaeve
0 comments
Lors du déploiement de Fedora 16 via kickstart, si vous rencontrez l’erreur:
you have not created a bootloader stage1 target device
Ajoutez la ligne suivante dans votre fichier kickstart:
part biosboot --fstype=biosboot --size=1
8 June , 2011
by seynhaeve
0 comments
Installer les paquets suivants:
apt-get install apache2 php5 postgresql php5-pgsql php5-gd -y
Créer l’utilisateur et la base de données qui seront utilisés par Drupal:
su - postgres
createuser --pwprompt --encrypted --no-createrole --no-createdb drupal7
Saisir le mot de passe pour le nouveau rôle :
Le saisir de nouveau :
Le nouveau rôle est-il super-utilisateur ? (o/n) n
createdb --encoding=UTF8 --owner=drupal7 drupal7
Récupérer l’archive de la dernière version de Drupal sur http://drupal.org/download et la décompresser sous /var/www/:
cd /var/www
wget http://ftp.drupal.org/files/projects/drupal-7.2.tar.gz
tar -xvzf drupal-7.2.tar.gz
mv drupal-7.2 drupal
chown -R root:www-data drupal
Créer et donner les bons droits sur les fichiers pour terminer l’installation via l’interface web:
chmod g+w /var/www/drupal/sites/default
cp -p /var/www/drupal/sites/default/default.settings.php /var/www/drupal/sites/default/settings.php
chmod g+w /var/www/drupal/sites/default/settings.php
Pour terminer l’installation rendez-vous sur http://votre_adresse_ip/drupal et remplissez les champs avec ce que vous avez renseigné lors de la création de l’utilisateur et de la base de données.
Une fois l’installation terminée vous pouvez retirer les droits d’écriture sur le settings.php et /var/www/drupal/sites/default
chmod g-w /var/www/drupal/sites/default/settings.php
chmod g-w /var/www/drupal/sites/default
20 April , 2011
by seynhaeve
0 comments
Dans l’article précédent, nous avons vu comment créer un autorité de certification(CA). Le but de cette autorité de certification est de pouvoir signer des certificats. Dans cet article nous allons voir comment générer une demande de signature(CSR: Common Signing Request) et comment la signer avec notre autorité de certification.
Générer une demande de signature(CSR)
On commence par générer la clef privée pour notre certificat, c’est elle qui va nous permettre de déchiffrer la clef de session que le client aura chiffrée avec notre clef publique(voir étape 3 de l’article Openssl – création d’une autorité de certification). Dans ce cas-ci, la clef privée ne sera pas protégée par un mot de passe. Nous allons tester notre certificat avec le serveur web Apache, si nous mettons un mot de passe sur cette clef, il faudra le taper à chaque fois que le serveur Apache sera démarré.
Générer le clef privée:
openssl genrsa 1024 > www.test.net.key
Cette clef ne doit être lisible que par l’utilisateur root:
chmod 600 www.test.net.key
On génère la demande de signature(CSR):
openssl req -new -key www.test.net.key -out www.test.net.csr
Signature du CSR avec notre CA
openssl ca -in www.test.net.csr -out www.test.net.crt
On peut copier le certificat www.test.net.crt dans /etc/ssl/certs et la clef privée www.test.net.key dans /etc/ssl/private sur le serveur web.
Tester le nouveau certificat avec Apache
Installer Apache:
apt-get install apache2
Activer le module ssl:
a2enmod ssl
Activer le virtual host default-ssl:
a2ensite default-ssl
Il faut maintenant indiquer le chemin vers la clef et le certifcat que nous avons créés auparavant.
Dans /etc/apache2/sites-available/default-ssl, on remplace:
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
Par:
SSLCertificateFile /etc/ssl/certs/www.test.net.crt
SSLCertificateKeyFile /etc/ssl/private/www.test.net.key
On redémarre apache:
/etc/init.d/apache2 restart
Si on se connecte en https sur notre serveur web on reçoit un avertissement. Si l’on veut éviter ce problème, il suffit d’importer le CA que nous avons créé dans l’article précédent sur notre navigateur.
Sur Firefox on peut l’installer via:
Edit -> Préférences -> Advanced -> View Certificates -> Import
Commandes openssl utiles
Afficher tout ce qui se trouve dans le certificat:
openssl x509 -in www.test.net.crt -text
Afficher le sujet du certificat:
openssl x509 -in www.test.net.crt -noout -subject
Afficher l’issuer du certificat:
openssl x509 -in www.test.net.crt -noout -issuer
20 April , 2011
by seynhaeve
0 comments
Explication d’un échange entre un serveur web et en client chiffré avec SSL.
Création d’une autorité de certification (CA) avec openssl
Dans la section [CA_default]:
# L'endroit où l'on va stocker les différents fichiers
dir = /etc/ssl/CA
certificate = $dir/my-ca.crt # Le certificat de mon CA
crl = $dir/my-ca.crl # Liste de révocation de certificat
private_key = $dir/private/my-ca.key # La clef privée de mon CA
Les autres paramètres de la section [CA_default] ne changent pas.
Il faut maintenant créer l’arboresence avec les différents dossiers pour notre CA.
mkdir -p /etc/ssl/CA/{certs,crl,private,newcerts}
chmod -R 700 /etc/ssl/CA
Il faut également créer le fichier serial qui contiendra le numéro de série du prochain certificat signé par notre CA et index.txt qui contiendra certaines informations concernant les certificats signés par notre CA.
touch /etc/ssl/CA/index.txt
echo 01 > /etc/ssl/CA/serial
Une fois que l’on a modifié le fichier de configuration et créé l’arboresence, il faut créer la clef privée de notre CA qui sera protégée par un mot de passe. C’est ce mot de passe qui sera demandé à chaque fois que l’on signera un nouveau certificat.
openssl genrsa -out /etc/ssl/CA/private/my-ca.key -des3 2048
Une règle de bonne pratique est de mettre des droits assez restrictifs sur cette clef privée qui ne devrait être lisible que par l’utilisateur root.
chmod 600 /etc/ssl/CA/private/my-ca.key
On peut maintenant créer notre certificat auto-signé, ce certificat pourra être installé sur les clients (navigateur web, client mail…) pour éviter que nos utilisateurs ne recoivent une alerte lorsqu’il se connecteront sur un service qui présente un certificat signé par notre autorité de certification.
Création du self signed:
openssl -req -new -x509 -key /etc/ssl/CA/private/my-ca.key -days 3650 > my-ca.crt
Enter pass phrase for private/my-ca.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [BE]:
State or Province Name (full name) [Hainaut]:
Locality Name (eg, city) [Kain]:
Organization Name (eg, company) [Test, Inc.]:
Organizational Unit Name (eg, section) []:Test CA
Common Name (eg, YOUR name) []:Test Certificate Authority
Email Address []:test@test.net
Toutes les paramètres qui se trouvent entre crochets sont les valeurs par défaut que l’on peut définir dans la section req_distinguished_name du fichier /etc/ssl/openssl.conf.
Tout est en place pour signer les demandes de signatures de certificats (CSR) pour nos différentes services.
11 April , 2011
by seynhaeve
0 comments
Formater le partition avec cryptsetup:
cryptsetup luksFormat /dev/sdb1
Ouvrir la partition chiffrée afin de pouvoir la formater:
cryptsetup luksOpen /dev/sdb1 usb_crypted
Créer le filesystem sur la partition que l’on va retrouver déchiffrée sous /dev/mapper/usb_crypted:
mkfs.ext4 /dev/mapper/usb_crypted
La partition est maintenant accessible comme n’importe quelle autre partition.
Lorsque vous montrez la partition, vous devrez taper le mot de passe que vous aviez fourni lors de la première étape.
Autre commande utile:
Fermer la partition pour qu’elle ne soit plus accessible:
cryptsetup luksClose /dev/mapper/usb_crypted
6 May , 2010
by seynhaeve
0 comments
Installation des paquets:
[root@webdav:~]$apt-get install apache2
Apache
On active les modules nécessaires pour le webdav, le ssl et l’authentification ldap:
[root@webdav:~]$a2enmod authnz_ldap ssl dav dav_fs dav_lock
Considering dependency ldap for authnz_ldap:
Enabling module ldap.
Enabling module authnz_ldap.
Enabling module ssl.
See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
Enabling module dav.
Run '/etc/init.d/apache2 restart' to activate new configuration!
On créé un répertoire qui sera accessible pour l’utilisateur test:
[root@webdav:~]$mkdir -p /var/www/webdav/test
[root@webdav:~]$chmod 770 /var/www/webdav/test
[root@webdav:~]$chown .www-data /var/www/webdav/test
On créé le fichier lock pour webdav:
[root@webdav:~]$mkdir /var/lock/DAVLock
[root@webdav:~]$touch /var/lock/DAVLock/DAVLock
[root@webdav:~]$chown -R www-data:www-data /var/lock/DAVLock
On créé le fichier virtual host:
<VirtualHost *:443>
ServerAdmin webmaster@frites.be
ServerAlias webdav.frites.be
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/webdav.frites.be.pem
SSLCertificateKeyFile /etc/apache2/ssl/webdav.frites.be.key
DocumentRoot /var/www/webdav
ErrorLog /var/log/webdav_ssl_error.log
CustomLog /var/log/webdav_ssl_access.log combined
LogLevel warn
#WEBDAV
DavLockDB /var/lock/DAVLock/DAVLock
DAVMinTimeout 600
<Directory /var/www/webdav/test>
Dav On
AuthType Basic
AuthName "Accès RÉSERVÉ"
AuthName DAV
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPRemoteUserIsDN off
AuthLDAPGroupAttributeIsDN off
AuthLDAPURL ldaps://ldap.frites.be/ou=Webdav,dc=frites,dc=be?uid?sub?(objectClass=*)
require ldap-filter &(uid=test)
</Directory>
</VirtualHost>
On active le virtual host:
a2ensite webdav
Ne pas oublier de créer le dossier /etc/apache2/ssl et d’y placer le certificat et la clef du serveur webdav.frites.be
On redémarre apache:
[root@webdav:~]$/etc/init.d/apache2 restart
Authentification:
On modifie le fichier /etc/ldap/ldap.conf où l’on indique le seveur ldap et l’endroit où se trouve le ca:
#
# LDAP Defaults
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
BASE dc=frites,dc=be
URI ldaps://ldap.frites.be
TLS_CACERT /etc/ssl/certs/cacert.pem
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
Il ne faut pas oublier de placer le ca dans le répertoire /etc/ssl/certs
Accès au répertoire
On peut accéder au répertoire en lecture via un navigateur web à l’adresse suivante https://webdav.frites.be/test avec comme login test et le mot de passe qui se trouve dans le ldap.
Si l’on veut faire des modifications il faut utiliser un autre client, sous Linux on peut y accéder en ligne de commande via cadaver, en graphique via nautilus par exemple.
Sous Windows on peut rajouter un favori réseau afin d’éditer, créer et lire ce qui se trouve dans le répertoire test.
Attention le bloc-notes de Windows n’est pas compatible avec webdav, si l’on veut modifier/lire un fichier texte avec le bloc-notes il faudra le rapatrier en local et ensuite le copier avec les modifications sur le serveur.
13 July , 2009
by seynhaeve
0 comments
apt-get install samba
Pour que samba joue le rôle de pdc il faut remplir les 5 conditions suivantes:
1 activer security=user
2 activer le support des mots de passe cryptés encrypt password = yes
3 avoir un partage netlogon
4 le pdc doit être l’explorateur maître de son domaine domain master = yes
5 le pdc doit être serveur de connexion de son domaine domain logons = yes
Voici le /etc/samba/smb.conf pour remplir les 5 conditions ci-dessus:
[global]
netbios name = samba-server
workgroup = samba
security = user
encrypt passwords = yes
enable privileges = yes
domain master = yes
domain logons = yes
add machine script = /usr/sbin/useradd -g machines -s /bin/false %u
logon script = %U.bat
[netlogon]
path = /home/netlogon
read only = yes
write list = +ntadmin
Ajout de l’utilisateur root:
samba:~# smbpasswd -a root
Il faut ensuite associer les groupes unix aux groupes windows pour permettre la gestion du domaine (ajout d’une machine, création d’un partage,…).
On commence par ajouter le groupe ntadmin qui sera associé au groupe Administrators
samba:~# addgroup ntadmin
Pour pouvoir associer le groupe ntadmin au Builtin group Administrators il faut récupérer le sid du domaine que l’on vient de créer:
samba:~# net getlocalsid samba
Association du groupe ntadmin au Builtin group Administrators, il faut toujours l’associer avec le RID 512:
samba:~# net groupmap add sid=S-1-5-21-1167086687-1543078166-3842405581-512 \ ntgroup="Administrators" unixgroup=ntadmin
Toutes les personnes qui se trouveront dans le groupe ntadmin seront considérées comme appartenant au groupe Administrators sur les clients Windows. Ces personnes auront les droits d’administration sur les machines Windows et bénéficieront de tous les droits disponibles sur le domaine.
On peut lister ces droits via la commande suivante:
samba:~# net -S localhost -U% rpc rights list accounts 'Builtin\Administrators'
Si l’on affiche les membres du groupe Administrators sur une machine Windows qui se trouve dans le domaine, on peut voir que le groupe SAMBA/Administrators se retrouve automatiquement dans le groupe Administrators!
On peut également créer un autre groupe dans lequel on ajoutera les personnes qui peuvent joindre de nouvelles machines au domaine.
addgroup serveuradmin
net groupmap add ntgroup="Server Admins" unixgroup=serveuradmin
Ajout des droits pour le groupe Server Admins:
net rpc rights grant 'SAMBA\Server Admins' SeMachineAccountPrivilege -U root
Les personnes du groupe Server Admins auront donc le droit de joindre de nouvelles machines au domaine, par contre elles n’auront aucun droit d’administration sur ces machines.
Pour leur donner ces droits, il faudra les rajouter manuellement dans le groupe Power Users localement sur chaque machine, il n’existe pas d’autres moyens.
Dernière étape avant de pouvoir ajouter une machine dans le domaine, il faut créer le groupe qui contiendra les machines du domaine(cfr: commande add machine dans smb.conf):
addgroup machines
Ajout des répertoires personnels connectés automatiquement au login de l’utilisateur.
Il faut ajouter les lignes suivantes dans /etc/samba/smb.conf:
[global]
logon drive = H:
[homes]
comment = Home directories
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
Ajout des profiles itinérants.
Pour que les profils itinérants fonctionnent il faut effectuer la modification suivante sur les postes de travail Windows.
gpedit.msc -> Local Computer Policy -> Computer Configuration -> System -> User Profiles
Activer l’option Do not check ownership of roaming profile forlders.
Si vous conservez le smb.conf actuel, le profil itinérant des utilisateurs sera sauvegardé dans leurs répertoires personnels.
Il est préférable les mettre à un autre endroit pour éviter les mauvaises manipulations de la part des utilisateurs!
[global]
logon path = \\samba\profiles$\%U\%a
[profiles$]
comment = profile directory
path = /home/profiles
read only = no
inherit permissions = yes
Le %U correpond au nom de l’utilisateur, %a correspond à la version version de l’os(Xp, Vista,…)
Il faut également créer le dossier /home/profiles et celui de chaque utilisateur:
samba:~# mkdir /home/profiles
samba:~#mkdir /home/profiles/user1
samba:~#chmod 700 /home/profiles/user1
samba:~#chown user1. /home/profiles/user1
Ajout d’un lecteur réseau
smb.conf:
[test]
comment = répertoire de test
path = /home/test
read only = no
valid users = user1
/home/profile/user1.bat:
NET USE X: \\samba\test
samba:~# mkdir /home/test
samba:~# chown user1. /home/test/
Le lecteur réseau X: sera connecté automatiquement lors de l’ouverture de session de user1.
19 June , 2009
by seynhaeve
0 comments
Il faut tout d’abord installer libnss-ldap qui va nous fournir tous les paquets nécessaires:
debian:~# apt-get install libnss-ldap
/etc/libnss-ldap.conf:
base dc=frite,dc=be
uri ldaps://ldap.frite.be
ldap_version 3
port 636
tls_cacertfile /etc/ssl/cacert.pem
Modifier le fichier /etc/nsswitch.conf pour que la recherche d’utilisateurs et de groupes se fasse également sur le ldap:
/etc/nsswitch.conf:
passwd: compat ldap
group: compat ldap
shadow: compat ldap
Modifier le fichier /etc/ldap/ldap.conf en lui indiquant l’emplacement du certificat nécessaire pour le ldaps:
/etc/ldap/ldap.conf
BASE dc=frite,dc=be
URI ldaps://ldap.frite.be
TLS_CACERT /etc/ssl/cacert.pem
Pour l’authentification il faut indiquer à pam de tenir compte des utilisateurs présents sur le ldap.
/etc/pam.d/common-auth:
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so try_first_pass
/etc/pam_ldap.conf:
base dc=frite,dc=be
uri ldaps://ldap.frite.be
ldap_version 3
port 636
Si on teste cette configuration l’utilisateur ldap qui va se connecter n’aura pas de répertoire personnel, il faut donc ajouter la ligne suivante au fichier /etc/pam.d/common_session pour que son répertoire personnel soit créé automatiquement lors de sa première connexion:
/etc/pam.d/common_session
session required pam_mkhomedir.so skel=/etc/skel umask=0077
session required pam_unix.so
En cas de problème désactiver nscd:
/etc/init.d/nscd stop
29 April , 2009
by seynhaeve
0 comments
On commence par installer les différents paquets nécessaires à la mise en place du server mail:
apt-get install postfix postfix-ldap dovecot-imapd mailx
Postfix demande le type de serveur de messagerie => Site Internet
Nom du courriel => nom de domaine
Pour la configuration de Postfix il y a 4 fichiers à éditer, ils se situent dans /etc/postfix:
Tout d’abord main.cf:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA’s job.
append_dot_mydomain = no
# Uncomment the next line to generate “delayed mail” warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/frites.pem
smtpd_tls_key_file=/etc/ssl/private/frites.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = mail
myorigin = /etc/mailname
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128,192.168.0.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
luser_relay =
alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf
home_mailbox=Maildir/
virtual_mailbox_domains = frites.be
# Le fichier de config qui indique comment trouver les comptes virtuels
virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf
# Le fichier de config qui indique comment trouver les alias virtuels
virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf
virtual_mailbox_base = /var/mail
dovecot_destination_recipient_limit = 1
virtual_transport = dovecot
virtual_uid_maps = static:vmail
virtual_gid_maps = static:mail
Dans le fichier master.cf il suffit de rajouter la ligne suivante à la fin du fichier:
# Dovecot LDA
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -d $recipient
On crée maintenant les 2 fichiers dans lesquels postfix va aller vérifier les noms d’utilisateurs et les différents alias présents sur le ldap.
ldap-accounts.cf:
server_host = ldap.frites.be
port = 636
version = 3
search_base = ou=People,dc=frites,dc=be
query_filter = (mailRoutingAddress=%s)
result_attribute = sn
ldap-aliases.cf:
server_host = ldap.frites.be
port = 636
version = 3
search_base = ou=People,dc=frites,dc=be
query_filter = (mailRoutingAddress=%s)
result_attribute = mailRoutingAddress
On peut vérifier que la communication avec le serveur se passe bien via la commande suivante:
postmap -q nom_utilisateur ldap:/etc/postfix/ldap-accounts.cf
Configuration de dovecot:
Il n’y a que 2 fichiers à éditer dans /etc/dovecot.
dovecot.conf:
protocols = imap imaps
login_greeting = frites Dovecot ready!!
mail_location = maildir:/var/mail/%n
protocol imap {
imap_client_workarounds = outlook-idle
}
protocol lda {
postmaster_address = postmaster@frites.be
auth_socket_path = /var/run/dovecot/auth-master
}
auth default {
mechanisms = plain login
passdb ldap {
# Path for LDAP configuration file
args = /etc/dovecot/dovecot-ldap.conf
}
userdb ldap {
# Path for LDAP configuration file
args = /etc/dovecot/dovecot-ldap.conf
}
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail # User running Dovecot LDA
group = mail # Or alternatively mode 0660 + LDA user in this group
}
}
}
dovecot-ldap.conf:
hosts = ldap.frites.be
tls = yes
auth_bind = yes
ldap_version = 3
base = ou=People,dc=frites, dc=be
#On reprend l'uid de l'utilisateur vmail et le gid du group mail
user_attrs = uidNumber=500,gidNumber=8
user_filter = (&(objectClass=posixAccount)(uid=%n))
pass_filter = (&(objectClass=posixAccount)(uid=%n))
default_pass_scheme = SSHA
user_global_uid = 500
user_global_gid = 8
Il faut ensuite modifier le fichier /etc/ldap/ldap.conf pour pouvoir communiquer en ldaps avec notre serveur ldap:
BASE dc=frites,dc=be
URI ldaps://ldap.frites.be:636
TLS_CACERT /etc/ssl/certs/frites-ca.crt
Il ne reste plus qu’à ajouter l’utilisateur vmail, qui est l’utilisateur chargé de lancer deliver pour mettre les mails dans les boites mail de chaque utilisateur:
adduser --ingroup mail --uid 500 vmail
Premier mail de test:
echo test mail | mail vlamsdoem -s "Test mail"
Si l’utilisateur vlamsdoem existe sur ldap vous devriez retrouver le mail dans le répertoire /var/lib/mail/vlamsdoem/new
29 September , 2008
by seynhaeve
0 comments
Samba + krb + winbind
Installer les paquets suivants samba-common, krb5-clients, winbind:
apt-get install samba-common krb5-clients winbind
Modifier le fichier /etc/krb5.conf:
[libdefaults]
ticket_lifetime = 24000
default_realm = MOULES.FRITES.BE
dns_lookup_realm = false
dns_lookup_kdc = false
forwardable = yes
[realms]
MOULES.FRITES.BE = {
kdc = DC01.MOULES.FRITES.BE
admin_server = DC01.MOULES.FRITES.BE
default_domain = MOULES.FRITES.BE
}
[domain_realm]
.moules.frites.be = MOULES.FRITES.BE
moules.frites.be = MOULES.FRITES.BE
Modifier le fichier /etc/hosts:
127.0.0.1 localhost.moules.frites.be localhost pure-ftp
Modifier le fichier /etc/samba/smb.conf:
[global]
security = ADS
realm = MOULES.FRITES.BE
password server = 192.168.1.1
workgroup = MOULES
netbios name = pure-ftp
winbind cache time
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template shell = /bin/bash
Il suffit maintenant de (re)démarrer winbind et de modifier /etc/nsswitch.conf:
/etc/init.d/winbind restart
passwd: compat winbind
group: compat winbind
On peut maintenant joindre la machine au domaine:
net join -U Administrateur -S dc01.moules.frites.be
Remarque: Il faut que les 2 machines aient un décalage inférieur à 5 minutes, dans le cas d’une machine
virtuelle (domU) c’est le dom0 qui doit être synchro avec le contrôleur de domaine. Installer ntpdate et synchroniser le dom0 avec le contrôleur:
ntpdate 192.168.1.1
Pure-ftp + pam_mkhomedir
Installer pure-ftpd:
apt-get install pure-ftpd
Il faut modifier le fichier /etc/pam.d/pureftpd pour que les “home dirs” soient créés lorsque l’utilisateur se connecte pour le première fois:
# allow anonymous users
auth sufficient pam_ftp.so
auth sufficient pam_winbind.so
auth required pam_unix_auth.so shadow use_first_pass
# /etc/ftpusers contain user list with DENIED access
auth required pam_listfile.so item=user sense=deny
file=/etc/ftpusers onerr=succeed
# Uncomment next line to allow non-anonymous ftp access ONLY for
users,
# listed in /etc/ftpallow
#auth required pam_listfile.so item=user sense=allow
file=/etc/ftpallow onerr=fail
# standard
auth required pam_shells.so
account sufficient pam_winbind.so
account required pam_unix.so
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
Erreur rencontrée après une coupure de courant:
Sep 23 13:24:44 pure-ftp winbindd[25663]: [2008/09/23 13:24:44, 0] tdb/tdbutil.c:tdb_log(783)
Sep 23 13:24:44 pure-ftp winbindd[25663]: tdb(/var/lib/samba/winbindd_idmap.tdb): rec_free_read bad magic 0x42424242 at offset=112268
Le fichier winbindd_idmap.tdb était corrompu, il suffit de le supprimer pour qu'il soit regénéré convenablement.