一个文件由 Samba 服务器 (18.04) 托管。该文件包含此18.04-服务器. 某些基于 MS 的备份工具(在 Windows 服务器上)需要设置所谓的 Archive-Bit 来备份此特定文件。如果未设置,则在从 备份期间会忽略此文件18.04-服务器到Windows 服务器。
我通过 samba 主机上的本地文件系统提供共享文件夹/var/mySharedFolder/
。无论我将哪个文件放入本地文件夹,它都会显示在由其他用户输入的 samba 共享中Windows 服务器通过//18.04-server/mySharedFolder
。
我如何设置存档位18.04-服务器是否将文件添加到已上传的文件中?
答案1
默认情况下Samba 在 Linux 文件系统上保留存档文件属性(来自 DOS/Windows 文件系统)。
以下是关于保留档案属性。
当文件具有存档属性时,通过为所有者设置可执行位来完成;例如:
-rw-rw---- 1 nobody nogroup 0 Nov 26 11:21 file_no_arch.txt
-rwxrw---- 1 nobody nogroup 0 Nov 26 11:55 smb_crt.txt
如您所见,文件“file_no_arch.txt”的可执行位已关闭,当您在 Windows 中查看它时,它会显示它不是存档。文件“smb_crt.txt”已打开此位,因此它也将具有存档属性。
如果从 Windows 框上传的文件没有设置存档属性- 检查您的 Samba 配置 (/etc/samba/smb.conf) - 具体来说有两件事:
- 确保文件中没有“map archive = no”行。如果存在,则删除或注释掉它。
- 检查 [mySharedFolder] 部分 - 如果有“create mask = 0600”,则将其更改为“create mask = 0700”或 0755,以让其他 Linux 用户能够查看文件。
为了测试,我设置了一个 Debian 9 盒子,并按照说明安装了 Samba这里。用于测试的另一个系统是Windows server 2012。
如果您只是想让 Windows 框认为该文件具有存档属性,那么您只需输入:
chmod +x my_backup_file.zip
如果您使用某些脚本来创建此备份文件,那么只需将此命令放入其中,每个文件都会有此位。
我的示例 smb.conf 文件:
[global]
workgroup = WORKGROUP
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
server role = standalone server
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
usershare allow guests = yes
[homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
[homes]
comment = Home Directories
browseable = yes
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
[public]
comment = public anonymous access
path = /var/samba/
browsable =yes
create mask = 0760
directory mask = 0771
writable = yes
guest ok = yes