rsync同步数据时提示password file must not be other-accessible的解决方法
<p>rsync password file must not be other-accessible</p><h3>报错解释:</h3>
<p>这个错误信息表明rsync在使用密码文件时遇到了权限问题。rsync要求密码文件必须对于拥有其进程用户的用户和组是可读的,但不能对其他任何用户开放可读权限。</p>
<h3>解决方法:</h3>
<p>确认密码文件的权限设置。使用ls -l命令查看密码文件的权限。</p>
<p>修改密码文件的权限,确保其只对rsync服务的用户可读。通常这个用户是rsync或nobody。</p>
<p>使用chmod命令修改权限。例如,如果rsync以user用户身份运行,执行:</p>
<div class="jb51code"><pre class="brush:bash;">chown user:user /path/to/password/file
chmod 600 /path/to/password/file</pre></div>
<p>其中/path/to/password/file是密码文件的路径。</p>
<p>确保在修改权限后,重新启动rsync服务以使更改生效。</p>
<p>故障现象:</p>
<p>今天做rsync远程同步时,为了从备份源站点中使用免密方式同步文件,当时在发起端输入了以下命令,</p>
<div class="jb51code"><pre class="brush:bash;"># rsync -az --delete --password-file=/etc/server.pass backuper@14.0.0.10::wwwroot /opt/</pre></div>
<p>提示了如下报错:</p>
<p><img alt="" height="105" src="https://img.jbzj.com/file_images/article/202406/20240605164628.png" width="780" /></p>
<p>故障排查和解决方法:</p>
<p>根据报错提示的英文语句进行翻译:<br />密码文件不能被其他用户访问。<br />原来是密码文件只能被属主读取和写入,不能被其他用户读取,这是不安全的!<br />而创建的文件默认权限是644,需要将其设为600</p>
<div class="jb51code"><pre class="brush:bash;"># ll | grep server.pass
-rw-r--r--.1 root root 7 9月10 16:43 server.pass</pre></div>
<p>所以需要输入以下命令来设置密码文件的权限:</p>
<div class="jb51code"><pre class="brush:bash;"># chmod 600 server.pass
# ll | grep server.pass#检查一下权限是否改变
-rw-------.1 root root 7 9月10 16:43 server.pass
</pre></div>
<h2>关于rsync中/etc/rsync.password的权限故障</h2>
<p>①客户端故障:</p>
<p># rsync -avz /backup/ rsync_backup@10.0.0.41::backup/ --password-file=/etc/rsync.password </p>
<p>password file must not be other-accessible</p>
<p>continuing without password file</p>
<p>Password: </p>
<p>@ERROR: auth failed on module backup</p>
<p>rsync error: error starting client-server protocol (code 5) at main.c(1503) </p>
<p># ls -ld /etc/rsync.password </p>
<p>-rwxrwxrwx 1 root root 7 Sep 25 00:10 /etc/rsync.password</p>
<p># </p>
<p>②客户端故障:</p>
<p># rsync -avz /backup/ rsync_backup@10.0.0.41::backup/ --password-file=/etc/rsync.password </p>
<p>password file must not be other-accessible</p>
<p>continuing without password file</p>
<p>Password: </p>
<p>@ERROR: auth failed on module backup</p>
<p>rsync error: error starting client-server protocol (code 5) at main.c(1503) </p>
<p># </p>
<p>③password file must not be other-accessible</p>
<p>其实这句话 就告诉我们权限有问题的了 </p>
<p>④查看权限:</p>
<p># ls -ld /etc/rsync.password</p>
<p>-rwxrwxrwx 1 root root 7 Sep 25 00:10 /etc/rsync.password</p>
<p># </p>
<p># ls -ld /etc/rsync.password</p>
<p>-rwxrwxrwx 1 root root 7 Sep 25 00:10 /etc/rsync.password</p>
<p># </p>
<p># ls -ld /etc/rsync.password</p>
<p>-rwxrwxrwx 1 root root 20 Sep 25 00:26 /etc/rsync.password</p>
<p># </p>
<p>⑤修改权限:</p>
<p># chmod 600 /etc/rsync.password</p>
<p># ls -ld /etc/rsync.password</p>
<p>-rw------- 1 root root 20 Sep 25 00:26 /etc/rsync.password</p>
<p># </p>
<p># ls -ld /etc/rsync.password</p>
<p>-rw------- 1 root root 7 Sep 25 00:10 /etc/rsync.password</p>
<p># </p>
<p># ls -ld /etc/rsync.password</p>
<p>-rw------- 1 root root 7 Sep 25 00:10 /etc/rsync.password</p>
<p># </p>
<p>⑥查看效果:</p>
<p># rsync -avz /backup/ rsync_backup@10.0.0.41::backup/ --password-file=/etc/rsync.password</p>
<p>sending incremental file list</p>
<p>sent 51 bytes received 8 bytes 118.00 bytes/sec</p>
<p>total size is 0 speedup is 0.00</p>
<p># </p>
<p>##########################################################################################################################</p>
<p># rsync -avz /backup/ rsync_backup@10.0.0.41::backup/ --password-file=/etc/rsync.password</p>
<p>sending incremental file list</p>
<p>./</p>
<p>sent 25 bytes received 11 bytes 24.00 bytes/sec</p>
<p>total size is 0 speedup is 0.00</p>
<p># </p>
<p>到此这篇关于rsync同步数据时提示password file must not be other-accessible的解决方法的文章就介绍到这了,更多相关password file must not be other-accessible内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区!</p>
頁:
[1]