Rsync 3.0.6授权失败解决方案:CentOS 5.5系统上auth error on module

4 下载量 76 浏览量 更新于2024-08-29 收藏 86KB PDF 举报
Rsync 是一个强大的、开源的文件同步工具,它允许用户在不同系统之间高效地传输数据。本文档针对在 Rsync 版本 3.0.6(支持 64 位文件、IPv6 等高级功能)在 64 位 CentOS 5.5 系统中遇到的 "auth failed on module" 错误提供了解决方案。 问题背景是在使用 Rsync 进行服务器之间的安全备份时,用户通常会选择使用普通用户身份而非 root 来保护数据隐私。由于涉及到密码验证,当试图通过 rsyncd 配置文件中的模块进行同步操作时,可能会出现 "auth failed on module" 的错误,这表明用户输入的密码不正确或者密码文件设置有误。 首先,确认错误提示中的 "module" 是你在 `/etc/rsyncd.conf` 文件中定义的用于服务器A到服务器B同步的特定配置部分,例如: ```conf [module_name] path = /path/to/source comment = Module for backup uid = backup_user gid = backup_group read_only = yes list = no auth users = backup_user password file = /etc/rsyncd.pwd ``` 在这个例子中,`/etc/rsyncd.pwd` 是存储用户密码的文件,需要确保该文件只有授权用户可以访问,并且内容正确无误。如果密码配置了 `must not be other accessible`,则意味着该文件应该设置为私密,只有同步用户知道密码。 解决步骤如下: 1. **检查密码文件权限**: - 确保 `/etc/rsyncd.pwd` 文件的权限为 600(属主读写,其他用户无权限),可以通过 `chmod 600 /etc/rsyncd.pwd` 设置。 - 确认文件中保存的密码对应正确的用户名,且格式正确(如明文或加密形式,取决于你的 rsyncd 配置)。 2. **验证用户身份**: - 在服务器A上尝试手动同步,输入正确的用户名和密码,看看是否能成功登录。命令类似于: ``` rsync -avz --password-file=/etc/rsyncd.pwd backup_user@serverB:/path/to/backup /path/to/local/backup ``` 3. **检查配置**: - 检查模块配置的 `auth users` 是否包含实际使用的用户名,且没有拼写错误。 - 如果使用了 ACLs(访问控制列表),确保备份用户被正确授权。 4. **清除缓存**: - 清除 Rsync 的本地缓存,有时旧的会话信息可能导致问题。在服务器A上运行 `rm -rf .rsync_cache/`。 5. **更新或修复 rsync 客户端**: - 如果可能,更新到最新版的 Rsync,有时可能是由于软件包更新导致的问题。 6. **日志分析**: - 查看 `/var/log/messages` 或 `/var/log/rsyncd.log` 文件,寻找有关错误的更多细节,以便进一步定位问题。 7. **联系技术支持**: - 如果以上步骤都无法解决问题,可能需要查看 Rsync 的官方文档或寻求社区支持,提供完整的错误日志和配置信息以便于诊断。 总结来说,"auth failed on module" 错误是 Rsync 在验证用户身份时失败,通常涉及密码文件的权限设置、用户配置或密码错误。通过逐一排查上述建议,你应该能够找到并解决这个问题,实现服务器之间的安全同步。