Problema de permiso de escritura de Samba

Problema de permiso de escritura de Samba

Utilizo Samba para compartir impresoras, archivos, etc. Pero tengo un problema. El lugar para compartir no escribible. Se puede escribir solo en el directorio de usuarios. Adjunto el archivo smb.conf.

smb.conf

#
# Smb.conf file by PepinCZ on HOME-SERVER 192.168.1.13 
#

#======================= Global Settings =======================

[global]
   workgroup = WORKGROUP
   server string = %h
   netbios name = HOME-SERVER
   security = user
   dns proxy = no
;  name resolve order = lmhosts host wins bcast

#### Networking ####

;   interfaces = 127.0.0.0/8 eth0
;   bind interfaces only = yes



#### Debugging/Accounting ####

   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d


####### Authentication #######

   encrypt passwords = true 
   passdb backend = tdbsam
   obey pam restrictions = 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*
   pam password change = yes
   map to guest = bad user

########## Domains ###########

   domain logons = yes
;   logon path = \\%N\profiles\%U)
;   logon drive = H:
#   logon home = \\%N\%U
;   logon script = logon.cmd
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
; add group script = /usr/sbin/addgroup --force-badname %g

########## Printing ##########

#   load printers = yes
;   printing = bsd
;   printcap name = /etc/printcap
;   printing = cups
;   printcap name = cups

############ Misc ############

;   include = /home/samba/etc/smb.conf.%m
#         SO_RCVBUF=8192 SO_SNDBUF=8192
#   socket options = TCP_NODELAY
;   message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
#   domain master = auto
;   idmap uid = 10000-20000
;   idmap gid = 10000-20000
;   template shell = /bin/bash
;   winbind enum groups = yes
;   winbind enum users = yes
   usershare max shares = 100
   usershare allow guests = yes

#======================= Share Definitions =======================

[homes]
   comment = Složka uživatele %u
   browseable = no
   read only = no
   create mask = 0700
   directory mask = 0700
   valid users = %S

[profiles]
   comment = Uživatelské účty
   path = /home/samba/profiles
   guest ok = no
   browseable = yes
   read only = no
   create mask = 0600
   directory mask = 0700

[printers]
   comment = Tiskárny
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700

[print$]
   comment = Ovladače k tiskárnám
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
;   write list = root, @lpadmin

[Web Server]
   comment = Web Server
   path = /var/www
   browseable = yes
   guest ok = no
   read only = no
   public = yes
   write list = root, user, pepincz

[Server System]
   comment = Systém serveru HOME-SERVER
   path = /
   browseable = yes
   guest ok = no
   read only = yes

[Disk]
   comment = Úložný prostor
   path = /share
   browseable = yes 
   guest ok = no
   read only = no
   public = yes
   write list = root, user, pepincz, tata, lucka

getfacl/compartir:

getfacl: Removing leading '/' from absolute path names
# file: share
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

ls -l /compartir:

0 

Por favor, ayúdame. No sé por qué no funciona. ¡Gracias chicos!

Respuesta1

/shareNo se puede escribir en el recurso compartido (excepto para el usuario raíz) porque /sharelos demás usuarios no pueden escribir en el directorio. La write listopción afecta únicamente al nivel SMB, no influye en los permisos del sistema de archivos. Para poder escribir, tanto Samba como el sistema de archivos deben permitir el acceso de escritura.

Puede crear un grupo para estos usuarios y darle el directorio al grupo:

chgrp writegroup /share
chmod g+w /share

Alternativamente, puede utilizar ACL para permitir el acceso a usuarios individuales:

setfacl -m u:userrwx,u:pepincz:rwx,u:tata:rwx,u:lucka:rwx /share

información relacionada