Samba 写入权限问题

Samba 写入权限问题

我使用 Samba 来共享打印机、文件等。但我有一个问题。分享的地方不可写。仅用户目录可写。我附上 smb.conf 文件。

smb配置文件

#
# 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 /分享:

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

ls -l /分享:

0 

请帮我。我不知道为什么它不起作用。感谢你们!

答案1

/share共享不可写(root 除外),因为该目录/share对于其他用户不可写。该write list选项仅影响 SMB 级别,不影响文件系统权限。为了写入,Samba 和文件系统必须允许写入访问。

您可以为这些用户创建一个组并将目录提供给该组:

chgrp writegroup /share
chmod g+w /share

或者,您可以使用 ACL 来允许单个用户访问:

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

相关内容