我有两台机器,一台主机和一台客户端,都运行 Ubuntu Server 18.04。主机有 samba 服务器,配置如下:
[data]
comment = Data Share
path = /path/to/data
browseable = no
create mask = 0770
directory mask = 0770
force user = dataadmin
force group = dataadmin
write list = @data-write
read list = @data-write @data-read
valid users = @data-write @data-read
在客户端计算机上,我已在文件系统表中安装了以下内容的共享:
//myserver.local.lan/data /mnt/data cifs username=dataadmin,password=notarealpassword,iocharset=utf8 0 0
ls -al
当我在服务器上使用好方法检查文件权限时,它显示-rwxrwx---
的是我所期望的,但是当我在客户端上检查权限时,它显示为-rwxr-xr-x
。如何获取与客户端计算机匹配的权限?
注意:我最初在主机上将权限设置为 0775,最近更改了权限,因为应用程序需要 0770 才能运行。不确定这是否相关,因为客户端上的权限看起来像 0755
编辑
忘记提及我迄今为止尝试过什么。
- 我尝试在服务器和客户端上对文件进行 chmod
- 我尝试设置
unix extensions
为开启和关闭 - 我尝试使用
file_mode
并dir_mode
按照描述这里
这些方法对我都不起作用。每次尝试后,我要么重新加载 smbd 和 nmbd 服务,要么尝试重新安装所有内容。不确定这是否足够,或者我是否需要在此基础上做其他事情。
答案1
我尝试使用 file_mode 和 dir_mode 按照这里所述
由于这是 Linux 到 Linux 的链接,因此该链接的唯一问题是缺少选项。
如果您希望客户端的值为 770,请尝试一下:
//myserver.local.lan/data /mnt/data cifs username=dataadmin,password=notarealpassword,iocharset=utf8,dir_mode=0770,file_mode=0770,nounix 0 0