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
/share
No se puede escribir en el recurso compartido (excepto para el usuario raíz) porque /share
los demás usuarios no pueden escribir en el directorio. La write list
opció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