# [Samba] Problème de droits de lecture...

## Dwin

Bonjour,

Petit problème que j'ai avec Samba. Visiblement un problème de droit mais j'arrive pas à mettre la main dessus.

Donc je partage un emplacement de mon serveur pour mettre à jour mon site web rapidement depuis Windows.

Tout va bien, j'arrive à créer des fichiers, j'arrive à les effacer également mais par contre, impossible de les lire, de les écraser directement depuis Windows. Impossible également des faire des copier/coller ou des déplacements de fichier d'un emplacement à l'autre sur mon serveur.

Pour poser un fichier, je suis obliger de l'effacer d'abord (s'il existe) de son emplacement de destination puis de le copier. Ce qui est réellement embêtant !

J'ai configuré mon Samba avec nano mais aussi avec Webmin. Les options de lecture/écriture directes sont activées.

Les droits d'accès aux fichiers et répertoire sont rwxr--r--. J'ai essayé avec rwxrwxrwx mais ça change rien.

Et la je sèche, ça fait une semaine que je m'emm... avec ça.  :Sad: 

Merci de votre aide !

----------

## Trevoke

SAMBA est configure comment pour l'acces? Y a un account pcguest?

----------

## manu.acl

il faut que ton user samba soit du groupe apache pour pouvoir modifier les fichiers et en créer.

Avec cette conf il te créera directement les fichiers avec l'user apache:apache

```
[apache2]

        writable = yes

        path = /mnt/cyber/apache2

        force directory mode = 775

        force group = apache

        force create mode = 775

        force user = apache

        hide dot files = no

        create mode = 775

        directory mode = 775
```

voire un 760 comme droitsLast edited by manu.acl on Tue Feb 01, 2005 4:13 pm; edited 2 times in total

----------

## Dwin

Je copie mon smb.conf. Le problème se produit pour la section "toto".

```

[global]

   log file = /var/log/samba/log.%m

   guest account = smbguest

   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

   vscan-clamav: config-file = /etc/samba/vscan-clamav.conf

   vfs object = vscan-clamav

   guest ok = yes

   interfaces = lo eth1

   encrypt passwords = yes

   hosts allow = 127.0.0.1 192.168.0.0/24

   server string = Samba Server %v

   workgroup = HOMENETWORK

   hosts deny = 0.0.0.0/0

   security = share

   max log size = 50

   bind interfaces only = yes

[public]

   comment    = Public Access

   path      = /home/smbguest

   browseable   = yes

   public      = yes

   guest ok   = yes

   read only   = yes

[toto]

   valid user = toto

   read list = toto,@totogrp

   write list = toto,@totogrp

   user = toto,@totogrp

   share modes = no

   case sensitive = yes

   readable = yes

   oplocks = no

   writeable = yes

   locking = no

   delete readonly = yes

   path = /home/toto

   admin user = root

   comment = Toto's Samba

   valid users = toto,@totogrp

   create mode = 744

```

EDIT : @manu.acl > J'vais essayer ça  :Smile: 

----------

## manu.acl

Il faut que toto soit du groupe apache et que ce groupe aie au moins les droits d'écriture/lecture en local

[EDIT]OK  :Wink:  [/EDIT]

ouais chuis plus noob   :Very Happy: 

----------

## Dwin

En fait, quand tu dis apache, tu supposes que j'ai un serveur web apache et que le répertoire dans lequel se trouve mes fichiers est limité à l'utilisateur apache ?

Parce que si je fais un ls -l sur mon htdocs ou sur mes fichiers, la réponse c'est : 

```
drwxrwxrwx 9 toto totogrp 4096 Feb 1 13:04 htdocs
```

Logiquement tout le monde a tous les droits là dessus, non ???

Donc pour préciser, le répertoire /home/toto est un lien symbolique sur /var/www/localhost/htdocs.

----------

## manu.acl

Oui mais c'est quand mm plus propre de laisser tous les droits à apache et rien aux autres et un minimum au groupe apache en plus ça te rajoute une sécurité pour ton partage.

[Edit]En bref, à l'user que tu as définit dans /etc/apache2/conf/apache2.conf[/Edit]

[Edit2]commonapache2.conf en fait[/Edit2]

----------

## Dwin

Ok pour la propreté mais ceci ne règle pas mon problème avec Samba.  :Razz: 

A la base j'avais donné tous les droits à l'utilisateur Samba pour justement éliminer le problème mais en vain...

----------

## manu.acl

euh mais ton répertoire web il est dans path = /home/toto ?

----------

## Dwin

Non  :Smile: 

Dans /var/www/localhost/htdocs

Mon /home/toto est un lien symbolique -> /var/www/localhost/htdocs

----------

## manu.acl

dans smb.conf :

```
[toto]

        writable = yes

        path = /var/www/localhost/htdocs

        force directory mode = 760

        force group = apache

        force create mode = 760

        force user = apache

        hide dot files = no

        create mode = 760

        directory mode = 760
```

puis :

```
# chmod -R 760 /var/www/localhost/htdocs

# chown -R apache:apache /var/www/localhost/htdocs

# usermod -G apache toto
```

ça devrait être good ...

[Edit]tu redémarres samba et tu veilles à te délogger avec toto of course[/Edit]

[Edit2]Je viens de faire exactement la même config chez moi via ssh et ça marche niquel[/Edit2]

----------

## Dwin

Bah ça fonctionne pas chez moi... 

Impossible de lire directement les fichiers, accès refusé.

Toujours pareil quoi...

C'est marrant parce que si je fais des copier/coller des répertoires ça fonctionne mais pas sur les fichiers.

----------

## manu.acl

ah oui j'ai oublié de préciser un truc, l'user avec lequel tu te connectes avec samba doit être le même que l'user unix (même nom).

Je vois pas quoi ajouter de plus ...

[Edit]Maintenant que je suis à la maison je confirme que sous windows ça passe aussi comme dans du beurre avec ma config[/Edit]Last edited by manu.acl on Tue Feb 01, 2005 6:20 pm; edited 2 times in total

----------

## moon69

sinon tu peut mapper tes users avec le fichier smbusers

----------

## Dwin

Oui j'ai mappé les users dans smbusers...

----------

## Dwin

Bump...

----------

## ptitfluff

Question de noob ...

Quel version de windows tu utilise ? 

C'est possible d'acceder à un partage SAMBA quelque soit le windows (plus precisement XP Pro et Family) ??

----------

## manu.acl

Je me sert de partages samba sur des windows 95, 98, Millenium, 2000 et XP

que ce soient des versions se, Pro ou Family

95 pas sur, j'ai un doute sur le fait qu'on aie encore des machines qui tournent avec ce dinosaure...

[Edit]D'ailleurs les serveurs samba qu'on utilise c'est des PDC sous FreeBSD et les windows n'y voient que du feu.[/Edit]

----------

## Dwin

J'ai Windows 2000 pro.

Tjrs pas résolu mon problème... J'essaie d'examiner les logs mais ils sont pas très bavard.   :Confused: 

----------

## blasserre

 *Dwin wrote:*   

> Mon /home/toto est un lien symbolique -> /var/www/localhost/htdocs

 

ne serait-ce pas un problème de droits sur /home/toto lui même ?

sinon tente de mettre le moins d'options possible pour que ca marche et rajoute les une a une :

```
[toto]

   valid user = toto

   writeable = yes

   public = no

   printable = no

   path = /home/toto

   comment = Toto's Samba
```

au passage tu as valid user que je connais et valid users que je connais pas (ça fait un bout que j'ai pas regardé le man mais bon)

comme dirait l'autre : "chez moi ca marche !" PDC gentoo + station 2000pro

----------

## manu.acl

 *blasserre wrote:*   

>  *Dwin wrote:*   Mon /home/toto est un lien symbolique -> /var/www/localhost/htdocs
> 
>  
> 
> ne serait-ce pas un problème de droits sur /home/toto lui même ?

 

Les liens symboliques ont des droits 777

----------

## blasserre

mon lien

```
lrwxr-xr-x  1 root   root         7 fév  4 08:55 stock -> /stock/
```

sa cible

 *Quote:*   

> drwxrwxr-x    9 root users   2376 fév  4 08:55 stock

 

donc soit pas chez moi, soit ls est bourré

----------

## manu.acl

Je sais pas comment tu as fait parceque moi ils sont tous en 777 et pas moyen de changer ça

```
# ls -ls cyber 

0 lrwxrwxrwx  1 manu users 11 jan 31 12:45 cyber -> /mnt/cyber/

# chmod 750 cyber

# ls -ls cyber

0 lrwxrwxrwx  1 manu users 11 jan 31 12:45 cyber -> /mnt/cyber/
```

À moins d'utiliser la magie voodoo ...

----------

## blasserre

ba je fais ln -s target link comme tout le monde

je pensais à un lien avec le fs mais ça le fait en ext2 et reiser3

----------

## manu.acl

ben ouais tu fais comme moi aussi    :Neutral: 

----------

## Dwin

Aaaah tient, y a du progrès !

J'ai repris la configuration minimale que tu as donné :

```
[toto]

   valid user = toto

   writeable = yes

   public = no

   printable = no

   path = /home/toto

   comment = Toto's Samba
```

Et j'ai également changé les droits sur le répertoire /home/toto. Jusque là tout se passe bien. Visiblement tout ça n'est qu'un problème de droit.

Celà dit, actuellement, je ne vois plus le contenu du répertoire pointé par mon lien symbolique. Mais sauf erreur il y a une configuration dans Samba pour permettre d'afficher le contenu des liens symboliques hors du répertoire partagé.

Déjà merci pour ça  :Very Happy: 

----------

## Dwin

Petites précisions :

J'ai ajouté les droits d'exécutions sur le répertoire /var/www/localhost/htdocs et ça a fait apparaître son contenu.  :Razz: 

Un problème persiste toutefois :

J'ai créé un fichier de mon Windows. J'arrive à l'ouvrir directement, le copier/coller, bref, j'arrive à tout faire. Tout fonctionne comme j'aimerai que ça fonctionne.

Si je crée un fichier depuis mon Linux (nano test.html) et que je lui mets exactement les même droits, je n'arrive rien à faire avec. Je peux l'effacer mais je peux pas le copier/coller ou l'ouvrir directement. Il me dit que le fichier est en cours d'utilisation.   :Shocked: 

J'ai l'impression que quelque chose bloque ce fichier (pourtant je peux l'effacer !) parce qu'il a été créé par un autre user que celui de Samba...

----------

## manu.acl

c'est normal que tu puisses effacer le fichier si t'as les droits sur le dossier qui le contient

----------

## Dwin

Bah oui, mais est-ce que tu trouves ça normal que je puisse l'effacer mais pas le lire ? 

Le problème n'est pas que je peux l'effacer. Le problème c'est que je ne peux pas le lire, le copier, le déplacer... Je peux rien faire avec ce fichier sauf l'effacer.

----------

## manu.acl

Mais au fait, pourquoi tu veux absolument passer par un lien symbolique ?

D'autre part je trouve ça vachement marrant (si je peux me permettre  :Razz: ) que ma config ne fonctionne pas chez toi sachant que je l'ai mise en place sur des Gentoo et des FreeBSD et que ça a fonctionné à tous les coups  :Neutral: 

C'est à se demander si le problème ne vient pas d'ailleurs ... (sans aucune insinuation)

[Edit]Et même sous Debian ça marche ... comme quoi ...[/Edit]Last edited by manu.acl on Fri Feb 04, 2005 11:16 am; edited 2 times in total

----------

## Dwin

C'est justement ce que je cherche... la raison...  :Razz: 

Je sais bien que ça marche chez tout le monde mais pas chez moi et j'aimerai bien savoir pourquoi...

Sinon je fais comme sous Windows, je vire tout et je réinstalle et au bout du compte j'ai rien compris et ça sert donc à rien de travailler comme ça.

Le lien symbolique ne change absolument pas le problème.

----------

## manu.acl

ok, on va faire comme si j'avais rien dit alors ...

----------

## blasserre

 *Dwin wrote:*   

> 
> 
> Si je crée un fichier depuis mon Linux (nano test.html) et que je lui mets exactement les même droits,
> 
> (...)
> ...

 

c'est à ce moment là que tu rajoutes les options de manu.acl :

```
        force group = apache

        force user = apache
```

et éventuellement le force xxx mode qui vont bien

----------

## Dwin

Le fichier que je crée depuis Windows a les droits rwxr--r-- pour le user "toto" et le groupe "users".  Ce fichier est accessible depuis mon Windows, en lecture, écriture, je peux tout faire avec.

Je crée un fichier depuis mon linux et que je mets les droits rwxr--r-- pour le user "toto" et le groupe "users". Ce fichier est innaccessible depuis mon Windows et je ne peux rien faire avec à part l'effacer.

Pourquoi ?  :Razz: 

Que je mette le user apache, toto ou schmurtz, ça change rien non ? 

J'aimerais savoir pourquoi 2 fichiers qui ont les même droits pour le même user et pour le même groupe ne sont pas accessible de la même manière via Samba ?

----------

## manu.acl

 *Dwin wrote:*   

> J'aimerais savoir pourquoi 2 fichiers qui ont les même droits pour le même user et pour le même groupe ne sont pas accessible de la même manière via Samba ?

 

Ils devraient

----------

## Dwin

Autres exemples :

J'ai fais un 

```
ls -l > FichierWindows.txt
```

Ce fichier est le fichier qui était accessible depuis Windows sans soucis. Sauf que là, dès que j'ai lancé cette commande, il est devenu innaccessible. 

Accès refusé, ce fichier est peut être en cours d'utilisation...

Les droits n'ont pas été changé, les user et group non plus.

Donc visiblement Linux bloque ces fichiers dès qu'on les utilise. Ce qui pourrait expliquer pourquoi les fichiers utilisés par Apache sont bloqués.

Mais qu'est ce qui les bloque, pourquoi il les bloque et comment faire pour éviter ça ?   :Rolling Eyes: 

----------

