REMARQUE: J'ai lu probablement jusqu'à 50 pages différentes décrivant comment configurer le partage Samba public sur une période de 2 ANS et rien n'a jamais fonctionné pour moi. Je ne sais pas combien RTFM j'ai besoin de régler ce genre de choses.
J'ai besoin/souhaite configurer un partage de fichiers public complètement ouvert sur mon serveur domestique pour deux postes de travail.
La configuration est la suivante:
Serveur :
Sudo smbd --version
Donne moi Version 3.6.6
.Client :
Mon smb.conf après la distillation ressemble à ceci ( textuellement , rien d'autre n'est là):
[global]
workgroup = WORKGROUP
security = user
map to guest = Bad User
[disk1]
comment = Disk 1 on 400GB HDD
path = /media/disk1
browsable = yes
guest ok = yes
read only = no
create mask = 0755
[disk2]
comment = Disk 2 on 400GB HDD
path = /media/disk2
browsable = yes
guest ok = yes
read only = no
create mask = 0755
Sur les deux machines clientes, dans Debian et Windows, j'obtiens le même résultat: dialogue de connexion/mot de passe. AUCUNE COMBINAISON de security = user
, map to guest = Bad user
, security = share
, guest ok = yes
et tel a aidé.
Windows 7 affiche la boîte de dialogue de connexion/mot de passe juste après avoir cliqué sur la machine partagée dans le voisinage réseau. smb://homeserv/
le chemin du fichier dans Debian (dans n'importe quel navigateur de fichiers) me montre deux dossiers: disk1
et disk2
, comme prévu, en essayant de les ouvrir, ouvrez la boîte de dialogue de connexion/mot de passe.
Alors, ce qui me manque dans le schéma pour NE PAS avoir à saisir de login/mot de passe? Ceci est une question d'utilisabilité, je ne créerai pas d'authentification basée sur l'utilisateur pour le fichier Junkyard.
OK, j'ai moi-même trouvé une réponse.
Comme c'est absolument pas évident à partir des documents et des HOWTO et autres, la raison pour laquelle cette chose demande un mot de passe est qu'elle ne peut pas mapper l'utilisateur invité au propriétaire de le répertoire partagé .
J'ai des partitions NTFS dont j'ai besoin pour monter RW donc j'ai utilisé la configuration suivante dans mon /etc/fstab
:
/dev/sdb1 /media/disk1 ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0 2
/dev/sdb2 /media/disk2 ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0 2
Les éléments de configuration les plus importants sont uid
et gid
(peut-être seulement uid
, je ne sais pas). Ils sont définis sur l'UID et le GID de l'utilisateur jonnie
configuré sur le serveur (évidemment pas root). Ainsi, lorsque ntfs-3g montera ces disques, tout lui appartiendra.
Après cela, j'ai ajouté cet utilisateur au registre Samba (ou peut-être créé un nouveau identique, peu importe):
# smbpasswd -a jonnie
Il a demandé un mot de passe, j'ai entré le même que pour le système principal.
Après cela, j'ai ajouté le force user
et force group
paramètres sur smb.conf
:
[global]
workgroup = WORKGROUP
netbios name = HOMESERV
security = share
[disk1]
comment = Disk 1 on 400GB HDD
path = /media/disk1
browsable = yes
guest ok = yes
read only = no
create mask = 666
directory mask = 777
force user = jonnie
force group = jonnie
[disk2]
comment = Disk 2 on 400GB HDD
path = /media/disk2
browsable = yes
guest ok = yes
read only = no
create mask = 666
directory mask = 777
force user = jonnie
force group = jonnie
Donc, le plus important le morceau de configuration qui me concerne était force user
.
Avec l'aimable autorisation de Samba HOWTO
La configuration peut être plus courte:
Créer un utilisateur unix jonnie
useradd jonnie -s /usr/sbin/nologin
Créer un smbuser
smbpasswd -a jonnie
Créez le répertoire Linux à partager
mkdir /mysmbshare
Changer le propriétaire du répertoire en jonnie
chown /mysmbshare jonnie
smb.conf
[global]
workgroup = MyWorkGroup
server string = Hello, use me
security = share
guest account = jonnie
passdb backend = tdbsam
[the_public_share]
path = /mysmbshare
writable = yes
printable = no
public = yes
Tous les fichiers appartiennent à jonnie et tout le monde a un accès rw aux fichiers.
Le moyen rapide et sale d'avoir un partage Samba ouvert est d'avoir:
# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.
security = share
passdb backend = tdbsam
et avoir des actions définit comme tel:
[export]
comment = Data Export Directory
path = /data/export
read only = no
public = yes
browseable = yes
writeable = yes
create mask = 666
directory mask = 777
Redémarrez le démon.
Pour les clients Windows 7, à partir de 2014, j'ai dû définir la stratégie de domaine: signer numériquement les communications de toujours sur DISABLE.