web-dev-qa-db-fra.com

Comment puis-je configurer Samba pour partager (lecture / écriture) tout dossier avec des autorisations root?

J'ai un client Centos 5 VirtualBox sur un hôte Win7x64. Je tente de configurer une lecture/écriture partager un répertoire détenu par root avec mon hôte Windows à l'aide de Samba, mais je n'ai pas de chance après avoir couru en cercles. Pour simplifier les choses, j'ai désactivé mon pare-feu (/etc/init.d/iptables stop). À mesure que 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 la sortie 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

Fonctionnement /etc/init.d/smb restart montre un statut OK. Toutefois, sur mon hôte Windows, je ne peux voir que le dossier d'action sur l'invité \\IPv4, mais je ne peux pas entrer dans "Partager invité": Windows Explore

"Le nom du réseau est introuvable" Le message d'erreur est une erreur courante , avec une cause probable:

L'utilisateur que vous essayez d'accéder à la part avec ne dispose pas de suffisamment d'autorisations pour accéder à la voie de la part de la part. La lecture (R) et l'accès (X) devraient être possibles.

Est-ce que j'essaie d'utiliser la racine comme un invité Samba sans mot de passe? J'aimerais, est-ce possible? Comment puis-je configurer Samba pour partager (lecture/écriture) tout dossier avec des autorisations root?

6
Mike T

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" avec le nom d'utilisateur que vous utilisez. Cela devrait forcer à utiliser cet utilisateur malgré ce que l'utilisateur utilise réellement le fichier. Donc, vous devrez peut-être changer "Jlacroix" à la racine. Cependant, je ne conseille pas de partager de cette manière parce que vous devriez faire attention à ce qui peut accéder aux fichiers perforants de racine.

4
jlacroix82

1. Faites un compte invité comme personne

guest account = nobody

2. Ne faites personne comme utilisateur Admin Samba

admin users = nobody

3. Peut-être que SMBD nécessite courir en tant que root

voir également

man 5 smb.conf https://www.samba.org/samba/docs/man/manpages/smb.conf.5.html#adminuusers

0
yurenchen

Vous pouvez y parvenir avec deux étapes ( par votre configuration actuelle):

  1. Modifier 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 Samba que vous utilisez, mais expliquer:

writeable = yes est un alias pour read only = no utilisé dans Samba 3.

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


Lecture connexe pour ce sujet:

le fichier de configuration de Samba principal avec des exemples

pages manuelles pour samba à www.samba.org

0
Zuul

Cela semble assez simple.

Il suffit de modifier les autorisations sur votre dossier pour refléter les exigences en lecture/écriture. Dans votre cas, car le dossier apparaîtra à root, vous devez donner les "autres" la permanence RW.

Chmod 776 Invité Partager

Cela donne une racine complète RWX et tout le monde RW.

Une meilleure approche serait de créer un groupe pour les utilisateurs de réseau et de modifier le groupe sur votre part de la racine à celle que vous venez de créer.

Une dernière note: je pense que vous avez peut-être besoin des autorisations d'exécution définies sur n'importe quel dossier que vous souhaitez traverser. Vous pouvez avoir des autorisations RW définies dans le dossier lui-même, mais elles doivent réellement être configurées dans l'autorisation d'exécution. Expérimenter avec ça aussi.

0
Scandalist

Avez-vous vérifié SELINUX?

Si la sortie de Getenforce n'est pas permissive ou désactivée, vous devez appliquer les contextes à votre part. Il y a aussi un booléen que vous pouvez décider de contourner cela, j'ai trouvé cette question à essayer de google ce qui est.

Vous pouvez déboguer pour confirmer si c'est SELINUX en utilisant la commande: setenforce 0