我设法设置了 samba 文件服务器,但必须使用 gksudo 来添加或删除文件!此外,Windows PC 无法复制或使用共享中包含的文件。我该如何纠正这个问题?我的 .config 文件中的“read only = no”行设置正确。
这是我的 smb.conf:
# # Debian GNU/Linux 的 Samba 套件的示例配置文件。 # # # 这是主要的 Samba 配置文件。您应该阅读 # smb.conf(5) 手册页,以了解列出的选项 # 这里。Samba 有大量可配置选项,其中大部分 # 在此示例中未显示 # # 一些值得调整的选项已被纳入 # 此文件中已注释掉的示例。 # - 当这些选项用“;”注释时,建议的设置 # 与默认的 Samba 行为不同 # - 当用“#”注释时,建议的设置是默认设置 # Samba 的行为,但该选项被认为很重要 # 这里足以提及 # # 注意:每当你修改此文件时,你都应该运行命令 #“testparm”检查你是否没有做任何基本的语法 # 错误。 # 一个公认的做法是将原始文件命名为 # “smb.conf.master”并创建“真实”配置文件 # testparm -s smb.conf.master >smb.conf # 这最小化了真正使用的 smb.conf 文件的大小 # 据 Samba 团队称,这会影响性能 # 但是,如果你的 smb.conf 文件包含嵌套的 # “include” 语句。请参阅 Debian 错误 #483187 以了解案例 # 使用主文件并不是一个好主意。 # #========================= 全局设置 =========================== [全球的] ## 浏览/识别 ### # 将其更改为您的 Samba 服务器所属的工作组/NT 域名 工作组 = 马特 # 服务器字符串相当于 NT 描述字段 服务器字符串 = %h 服务器(Samba,Ubuntu) # Windows Internet 名称服务支持部分: # WINS 支持 - 告诉 Samba 的 NMBD 组件启用其 WINS 服务器 # 赢得支持 = 是 # WINS 服务器 - 告知 Samba 的 NMBD 组件成为 WINS 客户端 # 注意:Samba 可以是 WINS 服务器,也可以是 WINS 客户端,但不能同时是两者。 ; 赢得服务器 = wxyz # 这将阻止 nmbd 通过 DNS 搜索 NetBIOS 名称。 dns 代理 = 无 # 我们应该使用什么命名服务以及按照什么顺序来解析主机名 # 到 IP 地址 ; 名称解析顺序 = wins lmhosts hosts bcast #### 联网 #### # 要绑定到的特定接口/网络集 # 这可以是接口名称或 IP 地址/网络掩码; # 通常是首选接口名称 ; 接口 = 1o eth1 # 仅绑定到命名的接口和/或网络;您必须使用 # 上面的‘interfaces’选项来使用这个。 # 如果您的 Samba 机器是 # 不受防火墙保护,或者本身就是防火墙。但是,这 # 选项无法正确处理动态或非广播接口。 ;仅绑定接口 = 是 #### 调试/记帐 #### # 这告诉 Samba 为每台机器使用单独的日志文件 # 连接 日志文件 = /var/log/samba/log.%m # 限制单个日志文件的大小(以 KiB 为单位)。 最大日志大小 = 1000 # 如果您希望 Samba 仅通过 syslog 进行记录,请设置以下内容 # 参数为‘是’。 # 仅限系统日志 = 否 # 我们希望 Samba 将最少量的信息记录到系统日志中。所有内容 # 应该改为转到 /var/log/samba/log.{smbd,nmbd}。如果您想要记录 # 通过 syslog 您应该将以下参数设置为更高的值。 系统日志 = 0 # 当 Samba 崩溃时采取一些明智的措施:向管理员发送回溯邮件 恐慌行动 = /usr/share/samba/panic-action %d ####### 验证 ####### # “security = user” 总是一个好主意。这将需要一个 Unix 帐户 # 在该服务器中,每个访问该服务器的用户都可以访问该服务器。请参见 #/usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html # 请参阅 samba-doc 包中的详情。 # 安全 = 用户 # 您可能希望使用密码加密。请参阅 # 启用之前,在 smb.conf(5) 手册页中查看“加密密码”。 ; 加密密码 = 是 # 如果你使用加密密码,Samba 将需要知道 #您正在使用的密码数据库类型。 ; passdb 后端 = tdbsam 遵守 pam 限制 = 是 # 此布尔参数控制 Samba 是否尝试同步 Unix # 当加密的 SMB 密码在 #passdb已改变。 unix 密码同步 = 是 # 为了使 Unix 密码同步在 Debian GNU/Linux 系统上运行,需要执行以下操作 # 必须设置参数(感谢 Ian Kahan # 为 Debian Sarge 中的 passwd 程序发送正确的聊天脚本)。 passwd 程序 = /usr/bin/passwd %u passwd chat = *输入新的*密码:*%n\n *重新输入新的*密码:*%n\n *密码已成功更新* . # 此布尔值控制是否使用 PAM 进行密码更改 # 当 SMB 客户端请求时,而不是在列出的程序中 #‘passwd 程序’。默认为‘否’。 pam 密码更改 = 是 # 此选项控制如何映射不成功的身份验证尝试 # 匿名连接 映射到访客 = 坏用户 ########## 域名 ########### # 这台机器是否能够验证用户。PDC 和 BDC 都 # 必须启用此设置。如果您是 BDC,则必须 # 将“域主”设置更改为否 # ;域登录 = 是 # # 以下设置仅在设置了“域登录”时才生效 # 它指定用户配置文件目录的位置 # 从客户端角度来看) # 下面需要在 [profiles] 共享上设置 # samba 服务器(见下文) ;登录路径 = \\%N\profiles\%U # 另一个常见的选择是将配置文件存储在用户的主目录中 #(这是 Samba 的默认设置) # 登录路径 = \\%N\%U\profile # 以下设置仅在设置了“域登录”时才生效 # 它指定用户主目录的位置(从客户端 # 观点看法) ;登录驱动器 = H: # 登录主页 = \\%N\%U # 以下设置仅在设置了“域登录”时才生效 # 它指定登录时运行的脚本。脚本必须存储在 # 在 [netlogon] 共享中 # 注意:必须以“DOS”文件格式保存 ;登录脚本 = logon.cmd # 这允许通过 SAMR 在域控制器上创建 Unix 用户 # RPC 管道。示例命令创建一个禁用 Unix 的用户帐户 #密码;请适应您的需求 ; 添加用户脚本 = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u # 这允许通过以下方式在域控制器上创建机器帐户: #SAMR RPC 管道。 # 以下假设系统上存在一个“机器”组 ; 添加机器脚本 = /usr/sbin/useradd -g machines -c "%u 机器账户" -d /var/lib/samba -s /bin/false %u # 这允许通过 SAMR 在域控制器上创建 Unix 组 #RPC 管道。 ; 添加组脚本 = /usr/sbin/addgroup --force-badname %g ########## 印刷 ########## # 如果你想自动加载打印机列表,而不是 # 比单独设置它们你需要这个 # 加载打印机 = 是 # lpr(ng) 打印。您可能希望覆盖 # printcap 文件 ;打印 = bsd ; printcap 名称 = /etc/printcap # CUPS 打印。另请参阅 cupsaddsmb(8) 手册页 #cupsys-client 包。 ;印刷 = 杯子 ; printcap 名称 = cups ############ 杂项 ############ # 使用以下行可以让你自定义配置 # 基于每台机器。%m 被替换为 netbios 名称 连接的机器数 ;包括 = /home/samba/etc/smb.conf.%m # 大多数人会发现此选项可提供更好的性能。 # 参见 smb.conf(5) 和 /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/speed.html # 详细信息 # 您可能需要在 Linux 系统上添加以下内容: # SO_RCVBUF=8192 SO_SNDBUF=8192 # 套接字选项 = TCP_NODELAY # 仅当您拥有 linpopup 包时,以下参数才有用 # 已安装。samba 维护者和 linpopup 维护者是 # 致力于简化 linpopup 和 samba 的安装和配置。 ;消息命令 = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' & # 域主指定 Samba 为域主浏览器。如果此 # 计算机将配置为 BDC(辅助登录服务器),您 # 必须将其设置为“否”;否则,建议采用默认行为。 # 域主 = 自动 # winbind 的一些默认值(确保您没有使用范围 # 表示别的东西。) ;idmap uid = 10000-20000 ; idmap gid = 10000-20000 ;模板 shell = /bin/bash # 以下是 sarge 中的默认行为, # 但 samba 上游恢复了默认设置,因为这可能会导致 # 大型组织中的绩效问题。 # 请参阅 Debian 错误 #368251,了解 *不* 的一些后果 # 具有此设置和 smb.conf(5) 以了解详细信息。 ; winbind 枚举组 = 是 ; winbind 枚举用户 = 是 # 设置 usershare 选项以允许非 root 用户共享文件夹 # 使用 net usershare 命令。 # 用户共享的最大数量。0(默认值)表示禁用用户共享。 ; usershare 最大分享数 = 100 # 允许被授予 usershare 权限的用户创建 # 公开分享,而不仅仅是经过验证的分享 用户共享允许客人=是 安全 = 用户 客人同意 = 可以 来宾帐户 = pcguest 用户名映射 = /etc/samba/smbusers #========================= 共享定义 ========================== # 取消注释以下内容(并调整下面的其他设置以适应) # 启用默认主目录共享。这将共享每个 # 用户的主目录为 \\server\username ;[家] ;注释 = 主目录 ;可浏览 = 否 # 默认情况下,主目录以只读形式导出。更改 # 如果您希望能够写入它们,则下一个参数为“no”。 ;只读 = 是 # 出于安全原因,文件创建掩码设置为 0700。如果您想要 # 创建具有 group=rw 权限的文件,将下一个参数设置为 0775。 ; 创建掩码 = 0700 # 出于安全原因,目录创建掩码设置为 0700。如果您想要 # 创建目录。具有 group=rw 权限,将下一个参数设置为 0775。 ;目录掩码 = 0700 # 默认情况下,任何人都可以连接到 \\server\username 共享 # 可以访问 samba 服务器。取消注释以下参数 # 确保只有“用户名”可以连接到\\server\username # 以下参数确保只有“用户名”可以连接 # # 使用外部身份验证方案时可能需要进行调整 ;有效用户 = %S # 取消注释以下内容并为域登录创建 netlogon 目录 #(您还需要配置 Samba 以充当域控制器。) ;[网络登录] ;注释 = 网络登录服务 ;路径 = /home/samba/netlogon ; 客人同意 = 是 ;只读 = 是 # 取消注释以下内容并创建配置文件目录来存储 # 用户配置文件(参见上面的“登录路径”选项) #(您还需要配置 Samba 以充当域控制器。) # 下面的路径应该对所有用户都是可写的,以便他们的 # 首次登录时可能会创建配置文件目录 ;[概况] ;评论 = 用户资料 ;路径 = /home/samba/profiles ; 客人同意 = 不同意 ;可浏览 = 否 ; 创建掩码 = 0600 ;目录掩码 = 0700 [打印机] 评论 = 所有打印机 可浏览 = 否 路径 = /var/spool/samba 可打印 = 是 ; 客人同意 = 不同意 ;只读 = 是 创建掩码 = 0700 # Windows 客户端将此共享名称视为可下载的源 # 打印机驱动程序 [打印$] 评论 = 打印机驱动程序 路径 = /var/lib/samba/printers ;可浏览 = 是 ;只读 = 是 ; 客人同意 = 不同意 # 取消注释以允许远程管理 Windows 打印驱动程序。 # 您可能需要将“lpadmin”替换为您的组的名称 # 管理员用户是的成员。 # 请注意,您还需要设置适当的 Unix 权限 # 到驱动程序目录,以便这些用户有写入权限 ;写入列表 = root,@lpadmin # 与他人共享您的 CD-ROM 的示例共享。 ;[光盘] ;注释 = Samba 服务器的 CD-ROM ;只读 = 是 ;锁定 = 否 ;路径 = /cdrom ; 客人同意 = 是 # 接下来的两个参数显示当 # 已访问 cdrom 共享。要使此功能正常工作,/etc/fstab 必须包含 # 像这样的条目: # # /dev/scd0 /cdrom iso9660 默认值,noauto,ro,user 0 0 # # 连接到 # # 如果你不想使用自动挂载/卸载,请确保 CD # 安装在 /cdrom 上 # ; preexec = /bin/mount /cdrom ;postexec = /bin/umount /cdrom [分享] 评论 = Ubuntu 文件服务器共享 路径 = /srv/samba/share 可浏览 = 是 客人同意 = 可以 只读 = 否 创建掩码 = 0755
答案1
确保 /srv/samba/share 的权限被修改为 755;这样任何人都可以浏览它。为此,只需运行chmod -R 755 /srv/samba/share
。(您可能需要使用 sudo)