비밀번호를 입력하지 않고 이 프로토콜을 사용하여 호스트 2에서 호스트 1(둘 다 Ubuntu Server 20.04 실행)로 파일을 동기화하려고 합니다 rsync://
.
호스트 2에서:
$ cat /etc/rsyncd.conf
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[folder]
path = /home/username
comment = rsync folder
read only = false
list = yes
그럼 난 달려sudo systemctl start rsync
$ cat /var/log/rsyncd.log
2021/03/25 01:07:51 [8035] rsyncd version 3.1.3 starting, listening on port 873
호스트 1에서:
$ rsync /home/username/test.txt rsync://host2:/folder
rsync: mkstemp "/.test.txt.UHerWZ" (in folder) failed: Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1207) [sender=3.1.3]
호스트 2에서:
$ tail -F /var/log/rsyncd.log
2021/03/25 03:13:00 [9212] name lookup failed for host1: Name or service not known
2021/03/25 03:13:00 [9212] connect from UNKNOWN (host1)
2021/03/25 03:13:00 [9212] rsync to folder/ from UNKNOWN (host1)
2021/03/25 03:13:00 [9212] receiving file list
2021/03/25 03:13:00 [9212] rsync: mkstemp "/.test.txt.KRLgUO" (in folder) failed: Permission denied (13)
2021/03/25 03:13:00 [9212] sent 122 bytes received 95 bytes total size 5
라이센스가 거부되는 이유는 무엇입니까? 에서 사용자 이름과 비밀번호를 정의해야 합니까 /etc/rsyncd.conf
?
답변1
nobody
기본적으로 rsyncd가 루트로 실행되면 전송하기 전에 사용자로 변경됩니다. 경로가 /home/username
이 ID 등에 속하지 않으면 오류가 발생합니다. 일반적으로 다음과 같이 섹션에서 실행할 ID를 추가해야 합니다(일반적으로 그룹 ID를 해당 사용자의 기본값으로 설정하기도 함).
[folder]
path = /home/username
uid = username
gid = *
...