Serveur Samba sur Rocky Linux 9
Configuration d'un serveur de fichiers Samba (SMB/CIFS).
| Composant | Version |
|---|---|
| Rocky Linux | 9.x |
| Samba | 4.x |
Durée estimée : 30 minutes
1. Installation
2. Configuration du Firewall
3. Configuration de base
Sauvegarder et créer smb.conf
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
cat > /etc/samba/smb.conf << 'EOF'
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = srv-files
security = user
map to guest = Bad User
dns proxy = no
# Logging
log file = /var/log/samba/log.%m
max log size = 50
# Performance
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072
# Sécurité minimum SMB2
server min protocol = SMB2
client min protocol = SMB2
[share]
comment = Partage commun
path = /srv/samba/share
browsable = yes
writable = yes
guest ok = no
valid users = @smbgroup
create mask = 0664
directory mask = 0775
[public]
comment = Partage public
path = /srv/samba/public
browsable = yes
writable = yes
guest ok = yes
create mask = 0666
directory mask = 0777
EOF
4. Créer les répertoires
5. Créer les utilisateurs Samba
# Créer un groupe
groupadd smbgroup
# Créer un utilisateur système
useradd -M -s /sbin/nologin smbuser
usermod -aG smbgroup smbuser
# Définir le mot de passe Samba
smbpasswd -a smbuser
# Activer l'utilisateur
smbpasswd -e smbuser
# Permissions
chown -R :smbgroup /srv/samba/share
6. SELinux
# Autoriser Samba
setsebool -P samba_enable_home_dirs on
setsebool -P samba_export_all_rw on
# Contexte des répertoires
semanage fcontext -a -t samba_share_t "/srv/samba(/.*)?"
restorecon -Rv /srv/samba
7. Démarrer les services
8. Accès client
Linux
# Lister les partages
smbclient -L //192.168.1.10 -U smbuser
# Monter un partage
mount -t cifs //192.168.1.10/share /mnt/samba -o username=smbuser,password=xxx
# fstab
echo "//192.168.1.10/share /mnt/samba cifs credentials=/root/.smbcreds,_netdev 0 0" >> /etc/fstab
# Fichier credentials
cat > /root/.smbcreds << EOF
username=smbuser
password=xxx
EOF
chmod 600 /root/.smbcreds
Windows
9. Intégration Active Directory
# Installer les paquets
dnf install -y realmd sssd oddjob oddjob-mkhomedir adcli samba-common-tools
# Joindre le domaine
realm join -U Administrator example.lan
# Modifier smb.conf
# security = ads
# realm = EXAMPLE.LAN
# workgroup = EXAMPLE
Dépannage
# Logs
tail -f /var/log/samba/log.smbd
# Tester connexion
smbclient //localhost/share -U smbuser
# Lister les utilisateurs Samba
pdbedit -L
# Vérifier SELinux
ausearch -m avc -ts recent | grep smb
Changelog
| Date | Modification |
|---|---|
| 2024-12 | Création initiale |