rsync:chdir /test 失败:权限被拒绝(13)

rsync:chdir /test 失败:权限被拒绝(13)

我试图获取更复杂的模块 rsyncing,但似乎无法使最基本的示例工作......

我有一个非常简单的 rsyncd.conf 文件,其中有一个模块在 xinetd 下运行;

use chroot  = false
strict modes = false
hosts allow = *

[thumbnails]
path = /test
read only = false

路径已创建并具有自由权限

    # ls -la /test/
    total 16
    drwxrwxrwx  2 root root 4096 Jul 12 21:50 .
    drwxr-xr-x 26 root root 4096 Jul 12 21:50 ..

xinetd 已配置为以 root 用户身份运行 rsyncd(这是默认设置);

# cat /etc/xinetd.d/rsync   
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#       allows crc checksumming etc.
service rsync
{
        disable         = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

xinetd 已重新启动;

# service xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]

但是该模块的简单 rsync 命令失败;

# rsync -va /root/testfolder/ localhost::thumbnails
@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1296) [sender=2.6.8]


Jul 12 21:55:23 opencirrus-i1106 xinetd[10142]: xinetd Version 2.3.14 started with libwrap
 loadavg labeled-networking options compiled in.
Jul 12 21:55:23 opencirrus-i1106 xinetd[10142]: Started working: 1 available service
Jul 12 21:55:27 opencirrus-i1106 xinetd[10142]: START: rsync pid=10147 from=127.0.0.1
Jul 12 21:55:27 opencirrus-i1106 rsyncd[10147]: connect from localhost.localdomain (127.0.
0.1)
Jul 12 21:55:27 opencirrus-i1106 rsyncd[10147]: rsync: chdir /test failed : Permission den
ied (13)
Jul 12 21:55:27 opencirrus-i1106 xinetd[10142]: EXIT: rsync status=255 pid=10147 duration=
0(sec)

我怀疑 rsync 可能会将权限从 root 转移到实际进行 rsync 复制的进程,但无论它是什么,我都无法立即看到守护进程、nobody 和 sync 用户都可以在 /test 中进行 cd 和写入。

如果我从命令行运行 rsync,例如;

# rsync --daemon 
# rsync -va /root/testfolder/ localhost::thumbnails

这很好用。

我尝试对 rsyncd.conf 进行以下修改;

# cat /etc/rsyncd.conf 
use chroot  = false
strict modes = false
hosts allow = *

[thumbnails]
path = /test
read only = false 
uid = 501
gid = 501

其中 501/501 是我创建的新用户的 uid/gid,并将 /test 文件夹的所有权更改为该用户,但我遇到了同样的问题。

其他信息

Centos 5.4 x86_64
# rsync -v
rsync  version 2.6.8  protocol version 29

附加信息...

# ls -alZ /test                 
drwxr-xr-x  rsync-www rsync-www root:object_r:default_t          .
drwxr-xr-x  root      root      system_u:object_r:root_t         ..
-rw-r--r--  rsync-www rsync-www root:object_r:default_t          frontCover40X60.jpg
-rw-r--r--  rsync-www rsync-www root:object_r:default_t          test
-rw-r--r--  rsync-www rsync-www root:object_r:default_t          test2
drwxr-xr-x  rsync-www rsync-www root:object_r:default_t          testdir
-rw-r--r--  rsync-www rsync-www root:object_r:default_t          test.jpg
drwxr-xr-x  rsync-www rsync-www root:object_r:default_t          tetxdir2
drwxr-xr-x  rsync-www rsync-www root:object_r:default_t          tetxdir3

答案1

您正在运行 SELinux 吗?您可以粘贴 ls -lZ /test 的输出吗?

相关内容