Eu uso o Samba para compartilhar impressoras, arquivos, etc. Mas estou com um problema. O local para compartilhar não é gravável. Gravável é apenas o diretório do usuário. Anexo o arquivo 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 /compartilhar:
getfacl: Removing leading '/' from absolute path names
# file: share
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
ls -l /compartilhar:
0
Por favor me ajude. Não sei por que não funciona. Obrigado pessoal!
Responder1
O /share
compartilhamento não é gravável (exceto para root) porque o diretório /share
não é gravável para outros usuários. A write list
opção afeta apenas o nível SMB e não influencia as permissões do sistema de arquivos. Para escrever tanto o Samba quanto o sistema de arquivos devem permitir acesso de gravação.
Você pode criar um grupo para esses usuários e fornecer o diretório ao grupo:
chgrp writegroup /share
chmod g+w /share
Alternativamente, você pode usar ACLs para permitir acesso para usuários únicos:
setfacl -m u:userrwx,u:pepincz:rwx,u:tata:rwx,u:lucka:rwx /share