Comment puis-je configurer Samba pour partager (lecture / écriture) tout dossier doté d'autorisations root?

6

J'ai un invité CentOS 5 VirtualBox sur un hôte Win7x64. J'essaie de configurer un partage en lecture / écriture sur un répertoire appartenant rootà mon hôte Windows à l'aide de Samba, mais je n'ai aucune chance après avoir tourné en rond. Pour simplifier les choses, j'ai désactivé mon pare-feu ( /etc/init.d/iptables stop). Comme la sécurité et les autorisations ne sont pas pertinentes à cette fin, je préférerais ne pas avoir à configurer un autre utilisateur / groupe / mot de passe unix.

Voici le résultat de testparm

Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[Guest Share]"
Loaded services file OK.
Server role: ROLE_STANDALONE

et la source de /etc/samba/smb.conf:

[global]
        workgroup = WRKGRP
        netbios name = SMBSERVER
        security = SHARE
        load printers = No

[Guest Share]
        comment = Guest access share
        path = /root/src
        read only = No
        guest ok = Yes

En cours d'exécution /etc/init.d/smb restartaffiche un statut OK. Cependant, sur mon hôte Windows, je ne peux voir que le dossier partagé sur l'invité \\IPv4, mais je ne peux pas accéder à "Guest Share": Windows Explorer

Le message d'erreur "Le nom de réseau est introuvable" est une erreur courante , pouvant avoir une cause:

L'utilisateur avec lequel vous essayez d'accéder au partage ne dispose pas des autorisations suffisantes pour accéder au chemin d'accès au partage. Read (r) et access (x) devraient être possibles.

Est-ce que j'essaie d'utiliser root en tant qu'invité Samba sans mot de passe? J'aimerais bien, est-ce possible? Comment puis-je configurer Samba pour partager (lecture / écriture) tout dossier doté d'autorisations root?

Mike T
la source

Réponses:

4

Je suis capable de faire ça. À titre de comparaison, voici une entrée de l’une de mes actions:

[Music] ; user="jlacroix"
force user = jlacroix
path = /home/jlacroix/Music
writable = no
public = yes

Assurez-vous de remplacer "jlacroix" par le nom d'utilisateur que vous utilisez. Cela devrait le forcer à utiliser cet utilisateur, quel que soit l'utilisateur qui utilise réellement le fichier. Vous devrez donc peut-être remplacer "jlacroix" par root. Cependant, je ne conseille pas de partager de cette manière car vous devez faire attention à ce qui peut accéder aux fichiers permissifs de la racine.

jlacroix82
la source
0

Vous pouvez y parvenir en deux étapes ( selon votre configuration actuelle) :

  1. Editez votre fichier de configuration Samba:

    vi /etc/samba/smb.conf

  2. Modifier ce qui suit:

    [Guest Share]
       comment = Guest access share
       path = /root/src
       browsable = yes
       writable = yes
       read only = no
       public = yes
       create mask = 0644
       directory mask = 0755
    

Remarque:

Vous n'avez pas mentionné la version de Samba que vous utilisez, mais expliquez:

writeable = yesest un alias pour read only = noutilisé dans Samba 3.

Cet alias a été supprimé de Samba 4.


Lecture connexe pour ce sujet:

Le fichier de configuration principal de Samba avec des exemples

Pages de manuel pour Samba de www.samba.org

Zuul
la source
0

Cela semble assez simple.

Modifiez simplement les autorisations sur votre dossier pour refléter les exigences en lecture / écriture. Dans votre cas, étant donné que le dossier appartiendra à root, vous devez donner la permission aux "autres".

Chmod 776 Invité Partager

Cela donne à root plein rwx et à tous les autres rw.

Une meilleure approche serait de créer un groupe pour les utilisateurs du réseau et de changer le groupe sur votre partage de la racine à celui que vous venez de créer.

Une dernière remarque: je pense que vous aurez peut-être besoin des autorisations d'exécution définies pour tous les dossiers que vous souhaitez parcourir. Vous pouvez avoir des autorisations rw définies dans le dossier lui-même, mais pour obtenir réellement l'autorisation d'exécution, il peut être nécessaire de configurer cette dernière. Expérimentez avec cela aussi.

Scandaliste
la source
0

Avez-vous vérifié SELinux?

Si la sortie de getenforce n'est pas permissive ou désactivée, vous devez appliquer les contextes à votre partage. Il y a aussi un booléen que vous pouvez définir pour contourner cela, j'ai trouvé cette question en essayant de Google ce qui était.

Vous pouvez déboguer pour confirmer s'il s'agit de SELinux en utilisant la commande suivante: setenforce 0

UbuntuForums_Staff_Are_Trolls
la source