Ce qui suit a été effectué sous FreeBSD 8.2 AMD64
Comme décrit dans le HandBook, on crée un pool avec 3 disques durs dans lequel on va monter /home.
on ajoute dans /etc/rc.conf :
zfs_enable="YES"
on peut donc désormais lancer le script rc pour ZFS :
/etc/rc.d/zfs start
les disques dédiés au Raid Z sont ad5, ad6 et ad7, on défini donc le nouveau “pool” :
zpool create storage raidz ad5 ad6 ad7
Maintenant on crée un système de fichiers (/home) dans ce pool :
zfs create storage/home
et on déplace le contenu actuel de /home dans /storage/home :
mv /home/* /storage/home
Et pour finir on défini comme “permanent” le montage de storage/home :
zfs set mountpoint=/home storage/home
On a désormais un Raid Z opérationnel avec des répertoires utilisateurs bien protégés.
Pour avoir un status détaillé :
zpool status
Pour avoir un status sans détails :
zpool status -x
Si un disque est défaillant (ex : ad6) :
zpool offline storage ad6
Le disque est déconnecté, on peut éteindre la machine et le remplacer.
Une fois la machine rédémarrée :
zpool replace storage ad6
Pour avoir le status de votre pool dans le mail envoyé tous les jours par l'utilitaire “periodic”, il faut mettre à “YES” la ligne suivante dans /etc/defaults/periodic.conf :
daily_status_zfs_enable="YES" # Check ZFS
On installe donc samba depuis les ports :
portupgrade -N samba35
Une fois fait, on edite /usr/local/etc/smb.conf, mon exemple :
[global] workgroup = mongroupe de travail server string = nom du serveur security = user log file = /var/log/samba/log.%m max log size = 50 local master = no dns proxy = no unix charset = UTF-8 dos charset = cp850 #Partages : [repertoire1] comment = Partage de tintin path = /home/repertoire1/ writeable = yes veto files = /fichier1/fichier2/.unfichiercache/ hide dot files = yes guest ok = no valid users = %S [repertoire2] comment = Partage de utilisateur2 path = /misc/ writeable = yes veto files = /fichier1/fichier2/.unfichiercache/ hide dot files = yes guest ok = no valid users = %S
Samba converti les caractère à condition qu'on lui spécifie les locales utilisées des deux cotés
unix charset = UTF-8 : spécifie la locale utilisé coté serveur
dos charset = cp850 : idem coté client
0ptions qui me semblent intéressantes :
veto files : permet d'exclure des fichiers du partage
hide dot files : permet de cacher les fichiers commençant par un point, sinon les clients windows les verront.
valid users = %S : Autorise QUE le propriètaire, sinon un utilisateur, une fois authentifié, peut accèder au autres partages.
Pour le reste je pense que le fichier parle de lui même.
Pour pouvoir executer samba et qu'il se lance au démarrage on édite /etc/rc.conf et on ajoute :
samba_enable="YES"
Pour le lancer sans redémarrer :
/usr/local/etc/rc.d/samba start
On crée ensuite les utilisateurs avec la commande smbpasswd :
smbpasswd -a nom_d_utilisateur
Les utilisateurs samba créé doivent correspondrent au utilisateurs unix.
Pour voir tous les partages :
smbclient -I XXX.XXX.XXX.XXX -L \\\\groupedetravail
Pour accèder à un partage samba depuis une machine linux/FreeBSD… :
smbclient -I XXX.XXX.XXX.XXX \\\\groupedetravail\\nomdupartage -U nom_d_utilisateur
Montage d'un partage :
mount -t cifs -o ip=XXX.XXX.XXX.XXX,user=nom_d_utilisateur \\\\groupedetravail\\nomdupartage /mnt/rep
il suffit d'ajouter ceci dans /etc/rc.conf :
nfs_server_enable="YES" nfs_server_flags="-a -t -n 4" rpcbind_enable="YES" mountd_enable="YES"
il faut ensuite définir les dossier à exporter dans /etc/exports :
/usr/home/utilisateur XXX.XXX.XXX.XXX
Démarrer NFS :
/etc/rc.d/nfsd start
Après avoir ajouté un export il faut que mountd relise le fichier de conf :
etc/rc.d/mountd onereload
Voir sous quel version sont exportés les différents dossier :
rpcinfo -p
Monter un partage nfs depuis un client :
mount -t nfs server:/dossier/exporté /point/de/montage
dans un fstab :
server:/dossier/exporté /point/de/montage nfs noatime,rw 0 0
On installe le port scponly qui contient également scponlyc, un pseudo shell qui n'autorise que les commandes scp :
portupgrade -N scponly
On évite la prise en charge de gftp qui installe plus de 70 dépendances gnome
On ajoute ça dans /etc/rc.conf :
scponlyc_enable="YES"
Ensuite on crée un utilisateur pour le sftp, un script existe qui fait tout à notre place :
cd /usr/local/share/examples/scponly/ && /bin/sh setup_chroot.sh
Et on ne tente pas de lancer le script depuis un autre emplacement, il ne fonctionnera pas
On peut créer un utilisateur nommé “guest” avec un “vrai” mot de passe quand même, qui pourra ensuite utiliser un logiciel tel que filezilla pour se connecter à la machine et y déposer des fichiers. pensez également à rediriger le port SSH vers la machine pour un accès depuis l'extérieur en IPV4.
Plusieurs utilisateur possédant le mot de passe du compte pourront donc s'échanger des fichiers en sécurité, et n'auront pas la possibilité de remonter dans les autres répertoires utilisateurs, et donc pas d'accès à des données personnelles.