Je veux créer un dossier public avec un accès complet à RW. Le problème avec ma configuration est que les utilisateurs Windows n'ont pas de problèmes d'invités (ils peuvent RW et Delete), mon client Ubuntu ne peut pas faire la même chose. Nous pouvons seulement écrire et lire, mais pas créer ou supprimer.
Voici le 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 donne pas un accès total en lecture / écriture 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 en cours de montage fonctionne:
smb://192.168.0.5/storage/
Informaitons supplémentaires. Je viens de remarquer que si je copie un fichier sur le partage après le montage, mon client Ubuntu fait immédiatement de "personne" le propriétaire et le groupe "aucun groupe" a lu et écrit, avec tout le monde en lecture seule.
Qu'est-ce que je fais mal?
Réponses:
Il s'avère que j'ai besoin d'ajouter un UID local (client) à la ligne de montage dans FSTAB pour que cela fonctionne. Je suis arrivé à ceci par la force brute pure:
la source
cifs-utils
- vous qu’il est installé (pour moi, il n’a pas été installé sous 16.04 après l’installation du paquetage "principal" de samba). Si vous ne l'avez pas installé, vous obtiendrez une erreur «mauvaise option / mauvaise option».//10.20.30.40/share/mysharedir /mnt/mymountpoint cifs guest,uid=nobody,iocharset=utf8,noperm 0 0
jusque-/etc/fstab
làsudo mount -a
. Semble monter / écrire bien maintenant.//server_name/share_name /media/local_mountpoint cifs guest,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0
CIFS n’ayant généralement aucun concept d’utilisateur et de groupe, le montage d’un partage cifs affichera par défaut utilisateur et groupe comme «personne»:
Puisque vous n'êtes pas "personne", Linux ne vous laissera pas écrire sur quelque chose qui n'a pas l'autorisation 0777 à moins que vous n'utilisiez sudo. Pour résoudre ce problème, ajoutez uid = mylogin, gid = mygroup à fstab et le partage apparaîtra comme s'il s'agissait de votre propre répertoire:
Vous avez maintenant le plein contrôle sans avoir besoin de sudo.
Cela ne change rien en fait sur le serveur, puisque ce dernier ne fait rien. C'est dire à Linux de prétendre que vous en êtes le propriétaire et de vous donner un accès illimité.
la source
Tu es presque là. Ouvrez FSTAB en utilisant:
Dans la dernière ligne (ou sur la dernière ligne), placez:
*** (c'est tout une longue ligne)
Ctrl- Xfermer, Yenregistrer et entrer pour sceller l'accord.
Maintenant redémarrez par:
Et vous devriez avoir le plein contrôle du partage réseau sur votre appareil Linux!
la source
fstab
entrées. Justemount <DEVICE>
oumount <MOUNTPOINT>
ou mêmemount -a
faire le travail très bien.J'ai eu ce problème et c'est parce que l'utilisateur du partage ne le possédait pas. Je l'ai corrigé avec "sudo chown {username}: {username} / {share} / {path}" après avoir pu déplacer et supprimer des fichiers.
la source