我在开发Web服务器上设置了samba服务(v 4.3.9)。为简单起见,我有一个文件夹“/ samba / billfolder”,需要从Web服务和我的samba用户访问。当samba用户创建文件或文件夹时,未正确设置权限,并且Web服务无法访问文件/文件夹。我需要一个文件夹,我可以创建文件夹和文件,为两个组提供完全权限
我的smb.conf看起来像这样:
[global]
workgroup = MYDOMAIN.LOCAL
server string = Samba Server %v
netbios name = TestServer
security = user
#============================ Share Definitions ==============================
[Billing]
path=/samba/billfolder
valid users = @alfdevelopers, @www-data
guest ok = no
writeable = yes
browsable = yes
create mask = 0664
force directory mode = 2775
有人可以提供一些有关如何正确执行此操作的建议。客户端计算机是LinuxMint,fstab条目如下所示:
//192.168.1.200/Billing /mnt/Billing cifs user=myuser,password=mypassword,rw,iocharset=utf8 0 0
感谢您提供的任何帮助。
答案 0 :(得分:0)
你的samba配置似乎是正确的。在初始samba配置阶段之后,检查并应用来自linux文件系统的文件权限,组权限。
创建一个包含来自@ alpha-developers&的用户的公共群组。 www-data例如 @developerswebservices 。您可以使用/ etc / group文件轻松地将必要的用户添加到组中。
developerswebservices:x:xx: user1,user2,www-data
如上所示,从两个组中输入用户。转到共享的工作目录,即结算
强制新创建的文件属于父组,即Billing,
$sudo chgrp -R developerswebservices Billing
$sudo chmod -R g+s Billing
您可以使用 umask 命令更改权限创建掩码和必要的掩码位。
test@linuxserver:/$umask 0007
这将为用户测试将新创建的文件的权限授予用户测试rw-rw ---用于用户测试。
Umask允许您设置文件/目录的默认权限位 为用户创作。
要为所有用户自定义umask,请在/etc/login.defs文件中指定umask位。
希望这有帮助!感谢。