Je devrais donc commencer par dire que j'ai fait cela avec succès il y a moins d'une semaine et je n'ai eu aucun problème, mais j'ai depuis reformaté et reconfiguré mon serveur et maintenant j'ai du mal à me rappeler comment je l'ai fait.
Voici ce que j'avais avant et ce que j'essaie d'accomplir à nouveau. J'avais une part de samba publique 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 qui faisaient partie du groupe de travail avaient un accès en lecture / écriture. (Windows 7)
Maintenant, si j'essaye de me connecter à \ Hostname, on me demande un nom d'utilisateur et un mot de passe. Si j'entre dans l'un pw, j'obtiens un accès complet mais je ne devrais pas avoir à le faire; mes paramètres 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?
ÉDITER:
Ugh, cela me donne tellement de mal. Je suis si proche.
Voici ce que j'ai.
Je peux accéder au partage à partir de Windows 7 en démarrant et en tapant \ Hostname \ Sharename mais je suis invité à entrer un nom d'utilisateur et un mot de passe. Je ne peux pas le laisser vide cependant car il utilisera mon groupe de travail comme domaine; donc j'entre \ pour le nom d'utilisateur pour l'effacer et me connecter avec un nom d'utilisateur et un mot de passe vierges. Super maintenant, je peux accéder aux fichiers dans le partage.
Une fois que j'y suis, 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 qu'il ne devrait pas du tout demander 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 smb dans le gestionnaire de fichiers. Je ne peux pas y accéder manuellement depuis XBMC non plus. Je reçois une erreur de connexion refusée.
Tirer toujours les cheveux dessus. Le pire, c'est la première fois que je l'ai fait il y a environ une semaine, j'ai passé environ 30 minutes dessus 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
MISE À JOUR: Donc, 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é sur security = share. Je sais, c'est obsolète, 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 joint au groupe de travail mais les autres utilisateurs ne peuvent que lire et exécuter.
Réponses:
Je suis tombé sur ce fil sur les forums Ubuntu et j'ai pensé que cela pourrait aider. Il explique les étapes qui se produisent dans les coulisses:
Essayez d'ajouter
force user = nobody
à votre définition de partage et voyez si cela le fait.Modifier le 20/02/2013:
Renvoie-t-il
testparm
un code de sortie autre que zéro? Tout de même, j'irais de l'avant et donnerais à cette zone de la configuration un bon aperçu. De plus, je ne sais pas à quel point smb.conf est sensible à la casse, mais chaque exemple que je vois (par exemple)map to guest = Bad User
a le B et le U en majuscule. Consultez les pages de manuel de Samba pour les options que vous utilisez et vérifiez tout.la source
[Shares] path = /home/shares browsable = yes available = yes read only = no public = yes writable = yes guest ok = yes
si j'ajoute,force user = nobody
il se casse et je ne peux pas accéder au partage du tout. Voici où ça devient bizarre cependant; quand j'exécute testparm, il se vide[Shares] path = /home/shares read only = no guest ok = yes
Donc, pour une raison quelconque, c'est comme s'il ne voyait pas les définitions publiques, accessibles en écriture, disponibles et consultables. Serait-ce un indicateur de la position du problème?4.3.11+dfsg-0ubuntu0.14.04.3
à jour de samba sur Ubuntu 14.04 a cassé ma part publique,force user = nobody
est juste le correctif dont j'avais besoin pour ramener la part publiqueC'est ainsi qu'OpenElec est configuré. Devrait faire ce que vous demandez. (même si c'est un an plus tard ... peut-être que cela aidera le suivant) Ajustez simplement les paramètres de partage selon vos besoins.
la source
Étant donné que la recherche Google nous amène ici et qu'il n'y a pas de réponse claire, je l'ai résumé.
Vous trouverez ci-dessous les conditions requises pour vous assurer que les clients SMB ne 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>
sous une[global]
section. 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 unnobody
utilisateur qui a peu de chances d'avoir accès aux données de votre partage.Alternativement, vous pouvez spécifier
force user = <owner-of-your-share>
sous votre[shareXYZ]
bloc.Assurez - vous que votre
[shareXYZ]
aguest ok = yes
.Défini
browsable = yes
mais il est généralement hérité de[global]
et est définiyes
par défaut.Ensuite, probablement
security = user
devrait également être défini (c'est par défaut lorsque vous n'avez pas Active Directory défini dans votre environnement). Cependant, je ne suis pas sûr que ce drapeau soit requis car je n'ai pas de DA dans mon environnement.Bien sûr, si vous voulez que l'
nobody
utilisateur travaille, alors vous pouvez simplementchown -Rh 65534:65534 /yourshare
, après cela, tout ira bien avec le seul paramètreguest ok = yes
sous votre[shareXYZ]
.Notez que la définition
rwx
deothers
(chmod o+rwx /yourshare
) n'a pas laissé Samba avec sonnobody
utilisateur dans le partage. J'ai vérifié cela avecstrace -f -e chdir,geteuid,getegid -p <pid-of-the-parent-smbd-process>
. Samba ignore probablement les autorisations définies pour leothers
? Pas certain.la source
Ça marche pour moi en 30 secondes
Source: https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server
[global]
[client]
la source