Permissão negada usando o Rsync como root

2

Todos os tópicos que encontrei envolveram rsync over ssh ou rsync usando um usuário com acesso restrito.

Estou recebendo erros de permissão negada (13) como root. Aqui estão meus arquivos de configuração:

/etc/rsyncd.conf:

auth users = backup, root
secrets file = /etc/rsyncd.secrets

[backupdir]
    path = /backupdir

/etc/rsyncd.secrets (modo de arquivo 600, raiz do proprietário, raiz do grupo):

backup:backuppassword
root:rootpassword

O script bash que executa o rsync:

export RSYNC_PASSWORD=rootpassword

rsync -a --verbose --delete rsync://root@myserver/backupdir mydestination

O script bash acima e mydestination residem em uma máquina Win XP e myserver é um servidor Debian.

    
por Ash 11.09.2013 / 04:38

1 resposta

4

Na página principal de rsyncd.conf :

auth users
       This parameter specifies a comma and space-separated list of usernames
       that will be allowed to connect to this module. The usernames do not need
       to exist on the local system. [...]

Ou seja, os nomes de usuários que você escolhe para o daemon rsync não estão vinculados aos usuários do sistema com o mesmo nome.

Você pode, no entanto, definir o ID de usuário e o ID de grupo que o daemon rsync deve usar ao acessar arquivos (pelo menos quando você iniciar o daemon com privilégios de root):

uid    This  parameter  specifies  the user name or user ID that file transfers to
       and from that module should take place as when the daemon was run as root.
       In combination with the "gid" parameter this determines what file permissions
       are available. The default is uid -2, which is normally the user "nobody".

gid    This parameter specifies the group name or group ID that file transfers to
       and from that module should take place as when the daemon  was  run  as  root.
       This complements the "uid" parameter. The default is gid -2, which is normally
       the group "nobody".

Por exemplo:

uid = johndoe
gid = johndoe
    
por 11.09.2013 / 04:59