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