我使用 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