Comment monter un partage CIFS via FSTAB et donner un RW complet à Guest

26

Je souhaite créer un dossier public avec un accès complet à RW. Le problème avec ma configuration est que les utilisateurs de Windows n'ont aucun problème en tant qu'invités (ils peuvent RW et Delete), mon client Ubuntu ne peut pas faire la même chose. Nous ne pouvons qu'écrire et lire, mais pas créer ou supprimer.

Voici le my smb.conf de mon serveur:

[global]
    workgroup = WORKGROUP
    netbios name = FILESERVER
    server string = TurnKey FileServer

    os level = 20
    security = user
    map to guest = Bad Password
    passdb backend = tdbsam
    null passwords = yes

    admin users = root
    encrypt passwords = true
    obey pam restrictions = yes
    pam password change = yes
    unix password sync = yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

    add user script = /usr/sbin/useradd -m '%u' -g users -G users
    delete user script = /usr/sbin/userdel -r '%u'
    add group script = /usr/sbin/groupadd '%g'
    delete group script = /usr/sbin/groupdel '%g'
    add user to group script = /usr/sbin/usermod -G '%g' '%u'

    guest account = nobody

    syslog = 0
    log file = /var/log/samba/samba.log
    max log size = 1000

    wins support = yes
    dns proxy = no

    socket options = TCP_NODELAY
    panic action = /usr/share/samba/panic-action %d


[homes]
    comment = Home Directory
    browseable = no
    read only = no
    valid users = %S

[storage]
    create mask = 0777
    directory mask = 0777
    browseable = yes
    comment = Public Share
    writeable = yes
    public = yes
    path = /srv/storage

L'entrée FSTAB suivante ne permet pas un accès R / W complet au partage.

//192.168.0.5/storage /media/myname/TK-Public/ cifs rw 0 0

Cela ne fonctionne pas non plus

//192.168.0.5/storage /media/myname/TK-Public/ cifs rw,guest,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0

L'utilisation de l'emplacement suivant dans Nemo / Nautilus sans le partage monté ne fonctionne pas:

smb://192.168.0.5/storage/

Informations supplémentaires J'ai juste remarqué que si je copie un fichier sur le partage après le montage, mon client Ubuntu fait immédiatement "nobody" le propriétaire, et le groupe "no group" a lu et écrit, avec tout le monde en lecture seule.

Qu'est-ce que je fais mal?

    
posée Kendor 26.06.2013 - 22:17
la source

4 réponses

42

Il s'avère que je dois ajouter un UID local (client) à la ligne de montage dans FSTAB pour que cela fonctionne. Je suis arrivé à cela par la force brute pure:

//192.168.0.5/storage /media/myname/TK-Public/ cifs guest,uid=myuser,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0
    
réponse donnée Kendor 27.06.2013 - 16:15
la source
6

CIFS n’a généralement pas de concept d’utilisateur et de groupe; par conséquent, monter un partage cifs affichera par défaut l’utilisateur et le groupe comme «personne»:

drwxdrwxdrwx. 3 nobody nobody 0 Sep 29 09:00 .
drwxdrwxdrwx. 9 nobody nobody 0 Sep 29 09:00 ..

Etant donné que vous n'êtes pas "personne", Linux ne vous laissera pas écrire sur quelque chose qui n'a pas la permission de 0777 à moins que vous n'utilisiez sudo. Pour corriger cela, ajoutez uid = mylogin, gid = mygroup à fstab et cela fera apparaître le partage comme s'il s'agissait de votre propre répertoire:

drwxdrwxdrwx. 3 mylogin mygroup 0 Sep 29 09:00 .
drwxdrwxdrwx. 9 mylogin mygroup 0 Sep 29 09:00 ..

Vous avez maintenant le contrôle total sans avoir besoin de sudo.

Cela ne change rien au serveur, car le serveur ne fait rien. Il dit à Linux de prétendre que vous êtes le propriétaire et de vous donner un accès illimité.

    
réponse donnée maharvey67 29.09.2015 - 18:52
la source
3

Vous êtes presque là. Ouvrez FSTAB en utilisant:

sudo nano /etc/fstab

Dans la dernière ligne (ou sur l’une des dernières lignes), placez:

//192.168.0.5/storage /media/myname/TK-Public/ cifs username=YOURUSERNAME,password=YOURPASSWORD,iocharset=utf8,file_mode=0777,dir_mode=0777

*** (c'est une longue ligne)

Ctrl - X pour fermer, Y pour enregistrer et entrer pour sceller l’accord.

Maintenant, redémarrez par:

sudo reboot

Et vous devriez avoir le plein contrôle du partage réseau sur votre périphérique Linux!

    
réponse donnée AndyShap 28.04.2016 - 00:46
la source
1

J'avais ce problème et c'était parce que l'utilisateur du partage ne le possédait pas. Je l'ai corrigé avec "sudo chown {nom d'utilisateur}: {username} / {share} / {path}" après cela, j'ai pu déplacer et supprimer des fichiers.

    
réponse donnée Andrew Cleveland 31.05.2017 - 00:17
la source

Lire d'autres questions sur les étiquettes