我有两台装有 Debian 5.0 的服务器。
服务器1:samba 2:3.2.5-4lenny9 smbfs 2:3.2.5-4lenny9
smb.conf:
[test]
comment = test
path = /var/www/_test/
browseable = no
only guest = yes
writable = yes
printable = no
create mask = 0644
directory mask = 0755
server1:~# mount | grep sda3
/dev/sda3 on /var/www type ext3 (rw,acl,user_xattr)
# getfacl /var/www/_test/
# file: var/www/_test/
# owner: www-data
# group: www-data
user::rwx
group::rwx
other::r-x
default:user::rwx
default:user:www-data:rw-
default:user:testuser:rw-
default:group::rwx
default:mask::rwx
default:other::r-x
服务器2:
samba 通用 2:3.2.5-4lenny9 smbfs 2:3.2.5-4lenny9
server2:~# mount.cifs //server1/test /media/smb/test -o rw,user_xattr,acl
server2:~# mount | grep test
//server1/test on /media/smb/test type cifs (rw,mand)
server2:~# getfacl /media/smb/test/
# file: media/smb/test/
# owner: www-data
# group: www-data
user::rwx
group::rwx
other::r-x
default:user::rwx
default:user:www-data:rw-
default:user:testuser:rw-
default:group::rwx
default:mask::rwx
default:other::r-x
但问题在于:
server2:~# su - testuser
(reverse-i-search)`touch': touch 123
testuser@server2:~$ touch /media/smb/
testuser@server2:~$ touch /media/smb/test/123
touch: cannot touch `/media/smb/test/123': Permission denied
怎么了?!
答案1
您还需要对该文件夹具有执行权限。Touch 会执行以下两项操作之一:
- 如果指定的文件存在,则更新时间戳
- 如果指定的文件不存在,则创建一个新文件
要知道 /media/smb/test/123 是否存在,touch 需要列出 smb 文件夹的目录内容,这需要执行权限。