Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

EDIT: I have since found that by using a folder in the root directory, things get a bit further - I can list the subfiles. So it really looks like permissions on the folder are the issue. I'm not sure what else to do besides chmod 777.

I'm trying to configure an anonymous rsync daemon on CentOS 5.9.

If I allow chroot the server reports that chroot fails. If I disable it, chdir fails.

# rsyncd.conf

max connections = 20
log file = /var/log/rsync.log
timeout = 300
use chroot = false

[builds]
    path = /home/fuzz/builds
    read only = yes
    list = yes
    uid = nobody
    gid = nobody

.

# /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
}

I have set all files and folders under /home/fuzz/builds to 777. The folder is owned by the user fuzz.

On the client side, this works...

$ rsync rsync://host
builds

But when I try to view the contents of the builds directory, I get this error...

$ rsync -vvvv rsync://host/builds
opening tcp connection to host port 873
Connected to host (10.186.5.90)
note: iconv_open("UTF-8", "UTF-8") succeeded.
sending daemon args: --server --sender -vvvvde.Lsf . builds/
@ERROR: chdir failed
[Receiver] _exit_cleanup(code=5, file=main.c, line=1534): entered
rsync error: error starting client-server protocol (code 5) at main.c(1534) [Receiver=3.0.9]
[Receiver] _exit_cleanup(code=5, file=main.c, line=1534): about to call exit(5)
share|improve this question

migrated from serverfault.com Mar 21 at 1:24

This question came from our site for professional system and network administrators.

    
Does the 'nobody' user have read access to /home/fuzz/builds and /home/fuzz/? –  devicenull Mar 19 at 2:36
    
@devicenull Not specifically. The folder and files are all chmod 777. How do I give 'nobody' permssion? –  bluedog Mar 19 at 3:24
1  
So, even /home/fuzz is 777? That would imply everyone has permission, so 'nobody' would also have permission. Perhaps selinux is interfering? What does getenforce show? –  devicenull Mar 19 at 3:35
    
OMG selinux was it! Make an answer if you like. –  bluedog Mar 19 at 4:04
    
Although now I can get just one directory deeper before I get the dreaded "permission denied (13)" error. Must be close now though. –  bluedog Mar 19 at 4:06

1 Answer 1

up vote 2 down vote accepted

Generally this would indicate some sort of permission problem. If you've already checked the permissions on /home/fuzz and /home/fuzz/builds, my next suspicion would be selinux. You can check if selinux is enabled with getenforce. To temporarily disable it to determine if that's the issue, run setenforce 0

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.