rôle standalone, security USER

Je vais vous montrer une des configurations de samba le rôle standalone quand on veut faire un serveur de partage de fichiers.
Pour l'installation, regardé Installation d'un serveur SAMBA 4, car l'article est basé sur cet article.

J'ai réalisé c'est article sur une machine Debian 8 Jessie

Tout d'abord, il faut vérifier le fichier /etc/hosts, Si cela n'est pas déjà fait.

127.0.0.1 localhost
XXX.XXX.XXX.XXX nom.domaine.loc nom

Ou

nom.domaine.loc représente le nom de votre serveur sur le réseau.

xxx.xxx.xxx.xxx représente son IP

Vérifier les DNS que vous avez saisis dans le fichier /etc/resolv.conf, Si cela n'est pas déjà fait.

search domain.loc
domain domain.loc
nameserver XXX.XXX.XXX.XXX
nameserver XXX.XXX.XXX.XXX

Modifier le fichier /etc/network/interfaces pour lui donner une configuration IP static, Si cela n'est pas déjà fait.

auto ethX
iface ethX inet static
address XXX.XXX.XXX.XXX
netmask XXX.XXX.XXX.XXX
gateway XXX.XXX.XXX.XXX

Relancer le service networking pour que la modification soit prise en compte.

/etc/init.d/networking restart

Édité ou créé le fichier smb.conf (/usr/local/samba/etc/smb.conf)

vim /usr/local/samba/etc/smb.conf

Voici, la configuration :

[global]
workgroup = WORKGROUP
security = USER
server role = standalone
server string = samba %v
netbios name = <NOM-SERVEUR>
passdb backend = tdbsam
encrypt passwords = yes
null passwords = No
machine password timeout = 604800
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
load printers = no
printcap name = /dev/null
disable spoolss = yes
log file = /var/log/samba/log.%m
log level = 3
max log size = 100
[homes]
comment = Home Directories
read only = no
create mask = 0770
directory mask = 0770
invalid users =
valid users = %S
write list = %S
read list =
[rep_partage]
comment = "rep_partage"
path = /share/rep_partage
readonly = no
create mask = 0770
directory mask = 0770
force group =
force user =
invalid users=user4
valid users=user1,@groupe1,user2
write list=user1, user2, @group1
read list=user3

Penser a modifier <NOM-SERVEUR> dans l'option netbios name @sambausers : vous n'êtes pas obligé d'ajouté le groupe, le login suffit, mais c'est pour montrer la syntaxe
script de Lancement Je me suis fabriqué un petit script de lancement samba.tar.gz, il vous suffit de le récupérer, de le décompresser : tar -xvzf samba.tar.gz De le mettre dans le répertoire de lancement init.d: mv samba /etc/init.d/ Lui mettre les bon droits et le bon propriétaire, si ce n'est pas déjà fait. chown root:root /etc/init.d/samba chmod 755 /etc/init.d/samba Et pour terminer d'activer le service, afin que le script soit exécuté au démarrage. update-rc.d samba defaults

Pour prendre en compte les modifications, redémarrer le service samba

/etc/init.d/samba restart

Dans la partie [rep_partage], le nom doit être le même que celui du répertoire que vous voulez partager le symbole _ underscore n'est pas là par hasard, les espaces sur les noms des répertoires ne sont pas pris en compte

Création du répertoire de log:

mkdir /var/log/samba

Une fois terminé la configuration, pour vérifier que la configuration est sans faute de syntaxe, utiliser la commande suivante :

testparm -s

Il nous reste à démarrer le service :

/etc/init.d/samba

Logins :

Ajouter un login Linux :

addgroup sambausers
useradd -m -g sambausers toto

Ajouter un login dans la base local de Samba :

smbpasswd -a toto

Penser à ajouter toto ou son groupe sur un répertoire partagé dans le fichier smb.conf. [rep_partage] comment = "rep_partage" path = /share/rep_partage readonly = no create mask = 0770 directory mask = 0770 force group = force user = invalid users= valid users=toto,@sambausers write list=toto, read list=@sambausers @sambausers : vous n'êtes pas obligé d'ajouter le groupe, le login suffit, mais c'est pour vous montrer la syntaxe

Ensuite, vous n'avez plus qu'à ajouter les droits associés au répertoire de partage, sinon Samba autorisera l'accès, mais pas le système Linux.
exemple:

chown toto:sambausers /share/rep_partage

Pour changer le mot de passe :

smbpasswd toto

Pour supprimer un login de la base Samba :

smbpasswd -x toto

Quand vous supprimez un login de la base de samba, il n'est supprimer de Linux

Autres

Affiche les connexions actives via Samba :

smbstatus -v

Pour effacer toutes la configuration de samba (fichier de configuration et base local)

rm -f /usr/local/samba/etc/smb.conf
rm -rf /usr/local/samba/private/*