Je devrais donc commencer par dire que j’ai réussi à le faire il ya moins d’une semaine et que je n’ai eu aucun problème, mais depuis, j’ai reformaté et reconfiguré mon serveur et j’ai maintenant le plus de mal à me rappeler comment je l’ai fait.
Voici ce que j'avais auparavant et ce que j'essaie d'accomplir à nouveau. J'ai eu un partage public Samba sur le serveur Ubuntu. N'importe qui sur mon réseau peut accéder au partage et à son contenu en tapant simplement\Hostname. Aucun mot de passe nécessaire. Les utilisateurs qui ne faisaient pas partie du groupe de travail du partage avaient un accès en lecture, mais les utilisateurs du groupe de travail avaient un accès en lecture/écriture. (Windows 7)
Maintenant, si j'essaie de me connecter à\Hostname, un identifiant et un mot de passe sont demandés. Si j'entre dans le compte, j'obtiens un accès complet, mais je ne devrais pas être obligé de le faire. mes réglages actuels sont ...
security = user
map to guest = bad user
[Shares]
path = /home/shares
available = yes
read only = no
browsable = yes
public = yes
writable = yes
guest ok = yes
Je tire mes cheveux sur celui-ci. Aucune suggestion?
MODIFIER:
Ugh, cela me donne un moment si difficile. Je suis si proche.
Voici ce que j'ai.
Je peux accéder au partage à partir de Windows 7 en allant au démarrage et en tapant\Hostname\Sharename, mais un mot de passe et un nom d'utilisateur me sont demandés. Je ne peux pas simplement laisser le champ vide car il utilisera mon groupe de travail comme domaine; donc je saisis\pour que le nom d'utilisateur disparaisse et que je me connecte avec un nom d'utilisateur et un mot de passe vierges. Génial, je peux maintenant accéder aux fichiers du partage.
Une fois entré, la configuration du groupe de travail fonctionne correctement. Si je suis sur un ordinateur avec le WORKGROUP par défaut, je peux lire et exécuter; un ordinateur de mon groupe de travail à domicile peut lire, écrire et exécuter. Donc ça marche.
Le problème est, il ne devrait pas être demandé du tout un mot de passe. Il devrait être totalement public pour quiconque sur le réseau. J'essaie de le partager avec XBMC et il n'apparaît même pas sous la marque de smb dans le gestionnaire de fichiers. Je ne peux pas y accéder manuellement à partir de XBMC. Je reçois une erreur de connexion refusée.
Toujours en train de me tirer les cheveux. Le pire, c’est la première fois que j’ai fait cela il ya environ une semaine; j’y ai consacré environ 30 minutes et cela a parfaitement fonctionné. Maintenant, j'ai probablement passé au moins 4 heures et cela ne fonctionne toujours pas.
Testparm:
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
workgroup = FELLOWSHIP
server string = %h server (Samba, Ubuntu)
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = No
wins support = Yes
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
print ok = Yes
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[Shares]
path = /home/shares
read only = No
guest ok = Yes
UPDATE: Ainsi, le partage est maintenant disponible sur mon réseau, quel que soit le groupe de travail. Tout utilisateur Windows qui se connecte à mon réseau peut voir le NAS sous Netowork et y accéder. La clé était de définir la sécurité à security = share. Je sais, c'est déconseillé, mais cela fonctionne et security = user et mapper à user = bad user ne fonctionnait pas pour moi.
Quoi qu'il en soit, il semble maintenant que toute personne qui se connecte au partage obtienne les autorisations globales unix pour le répertoire, ce qui est gérable, mais je veux que les utilisateurs qui sont joints au groupe de travail spécifié dans smb.conf obtiennent les autorisations de groupe Unix.
De cette façon, je peux définir le répertoire sur 775 et je pourrai écrire car je suis associé au groupe de travail, mais les autres utilisateurs ne peuvent que lire et exécuter.
Voici comment OpenElec est configuré. Devrait faire ce que vous demandez. (Même si c'est un an plus tard ... cela aidera peut-être le prochain) Modifiez simplement les paramètres de partage selon vos besoins.
[global]
server string = YOURSERVERNAME
workgroup = WORKGROUP
netbios name = %h
security = share
guest account = root
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
smb ports = 445
max protocol = SMB2
min receivefile size = 16384
deadtime = 30
os level = 20
mangled names = no
syslog only = yes
syslog = 2
name resolve order = lmhosts wins bcast Host
preferred master = auto
domain master = auto
local master = yes
printcap name = /dev/null
load printers = no
browseable = yes
writeable = yes
printable = no
encrypt passwords = true
enable core files = no
passdb backend = smbpasswd
smb encrypt = disabled
use sendfile = yes
[share]
comment = Share
path = /share
available = yes
browsable = yes
writable = yes
public = yes
Est tombé par hasard ce fil sur les forums Ubunt , et a pensé que cela pourrait aider. Il explique les étapes qui se passent dans les coulisses:
Sous Windows, le nom d'utilisateur et le mot de passe du client sont automatiquement envoyés lorsqu'il parcourt des partages - ceci se fait à l'insu de l'utilisateur. Cela oblige Samba à gérer les informations d'identification envoyées, même s'il s'agit d'un partage d'invité ne nécessitant aucune authentification.
Lorsque ce nom d'utilisateur est transmis, Samba recherchera cet utilisateur dans sa base de données de mots de passe:
S'il n'y a pas de correspondance avec le nom d'utilisateur, l'utilisateur client est identifié comme "utilisateur incorrect" et converti (mappé) en compte invité, qui est par défaut "personne".
S'il trouve une correspondance avec le nom d'utilisateur et si un mot de passe samba correspond à celui envoyé par le client Windows, l'utilisateur Windows obtient automatiquement l'accès, mais pas en tant qu'utilisateur anonyme. C'est pourquoi vous avez dû ajouter "force user = nobody" à votre définition de part.
S'il trouve une correspondance avec le nom d'utilisateur mais que le mot de passe samba ne correspond pas exactement au mot de passe envoyé automatiquement par le client Windows, un mot de passe vous sera demandé, même pour un partage d'invité.
Essayez d’ajouter force user = nobody
à la définition de votre partage et voyez si cela y parvient.
Edit 20/02/2013:
testparm
renvoie-t-il un code de sortie différent de zéro? Néanmoins, j'irais de l'avant et jetterai un coup d'œil sérieux sur cette zone de la configuration. De plus, je ne sais pas à quel point smb.conf est sensible à la casse, mais chaque exemple que je vois (par exemple) de map to guest = Bad User
a les lettres B et U en majuscule. Consultez le pages de manuel Samba pour connaître les options que vous utilisez et vérifiez tout.
Puisque la recherche Google nous amène ici et qu'il n'y a pas de réponse claire, je l'ai résumée.
Vous trouverez ci-dessous les conditions requises pour vous assurer que les clients SMB ne vous demanderont pas le nom d'utilisateur et le mot de passe lors de l'accès à votre serveur Samba:
Ajoutez guest account = <owner-of-your-shares>
dans une section [global]
. Il est important que le compte propriétaire de vos actions y ait accès. Si vous ne le faites pas, Samba supposera que le compte invité est un utilisateur de nobody
qui a probablement accès aux données de votre partage.
Vous pouvez également spécifier force user = <owner-of-your-share>
sous votre bloc [shareXYZ]
.
Assurez-vous que votre [shareXYZ]
a guest ok = yes
.
Définissez browsable = yes
mais il est généralement hérité du [global]
et a pour valeur yes
par défaut.
Ensuite, probablement security = user
devrait également être défini (il s'agit de la valeur par défaut lorsque Active Directory n'est pas défini dans votre environnement). Cependant, je ne suis pas sûr que cet indicateur soit requis car je n'ai pas d'AD dans mon environnement.
Bien sûr, si vous voulez que l'utilisateur nobody
fonctionne, vous pouvez simplement chown -Rh 65534:65534 /yourshare
, après quoi tout ira bien avec le paramètre unique guest ok = yes
situé sous votre [shareXYZ]
.
Notez qu'avoir défini rwx
sur others
(chmod o+rwx /yourshare
) n'a pas laissé Samba avec son utilisateur nobody
dans le partage. J'ai vérifié cela avec strace -f -e chdir,geteuid,getegid -p <pid-of-the-parent-smbd-process>
. Probablement Samba ignore-t-il simplement les permissions définies pour le others
? Pas certain.
Cela fonctionne pour moi en 30 secondes
Source: https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server
[global] map to guest = Bad User
log file = /var/log/samba/%m
log level = 1
[guest] # Ce partage permet un accès anonyme (invité)
# without authentication!
path = /srv/samba/guest/
read only = no
guest ok = yes