从这个问题继续:rsync与特殊文件的关系
为了备份设备文件,目的地的 rsync 需要能够调用mknod
.通常的方法是告诉 rsync 登录root
并使用 switch --super
。 (例如
rsync -avz --super ./this root@thatserver:/backup/this
)
我并不特别希望 rsync 进程以 root 身份登录。
根据 ' man mknod
':
EPERM(错误)
...并且调用者没有特权(Linux:没有 CAP_MKNOD 功能)...
是否可以将 CAP_MKNOD 分配给非 root 用户?如果是这样,怎么办?
答案1
您可以向二进制文件添加功能。例如,在远程复制
/bin/rsync
到用户的主目录上,例如/home/user/rsync
并使其可由他们单独执行,然后添加功能:
sudo setcap CAP_MKNOD=ep /home/user/rsync
当用户在远程运行此 rsync 时,它将能够创建设备节点。