授予用户对所有文件和文件夹的权限

Tho*_*son 9 ssh backup permissions rsync

我想要一个可以访问系统上所有文件和文件夹的用户。这是为了在本地机器上使用 RSYNC 来备份远程机器。

目前我们正在使用该用户backups,尽管我们已将此用户添加到组中sudo,但adminrsync 仍然返回如下消息:

rsync: opendir "/location/to/folder" 失败:权限被拒绝 (13)

rsync:send_files 无法打开“/location/to/file”:权限被拒绝 (13)

任何想法我们如何授予用户backups访问所有内容的权限(除了将用户添加到所有组之外 - 我们尝试备份的远程服务器是专用托管服务器,其中每个帐户在系统上都有自己的用户)。

谢谢你的帮助。

Geo*_*e M 6

仅将用户添加backups到用户组sudo并不会自动授予该帐户对系统上所有文件的访问权限。它授予用户运行sudo命令的权限。

由于您使用的是公钥身份验证(大概没有密码),因此我会在考虑安全性和易于实施的情况下进行处理。使用ssh允许您限制用户仅执行非常特定的命令。在这种情况下,您可以允许用户backupsrsync超级用户权限执行。

您已经执行了密钥交换并且验证身份验证成功。在authorized_keys/home从其备份目录的远程主机上的文件中,您可以command=向用户使用的密钥添加指令backups。该指令仅允许在使用密钥进行身份验证时运行命令。所以键的第一个字段看起来类似于:

command="/path/to/sudo /path/to/rsync -az /home /local/folder" ssh-rsa AAAAB3NzaC1yblahblahblah
Run Code Online (Sandbox Code Playgroud)

您可以更进一步,为密钥添加更多选项,例如from=myhost,no-pty,no-X11-forwarding.

这应该为您提供不错的安全性,并且不需要您修改底层文件系统权限。您可能需要使用放置在authorized_keys文件中的命令,直到它按预期工作为止;可能需要一点时间才能让您的大脑围绕它。中指定的命令authorized_keys将基本上覆盖rsync您将从连接主机传递的选项。

中的很多好信息man sshd。您想专门阅读 AUTHORIZED_KEYS FORMAT 部分。


Mik*_*kel 2

一种选择是在远程系统上运行 rsync 服务器。

基本上,创建一个rsync.confwithuid=root然后使用rsync -az rsync://domain.com.

请参阅http://pastebin.com/5hQx1mRV以获取其他人编写的示例,以及配置 rsync 守护进程以了解在 Ubuntu 中启用服务器的一些基础知识。

请注意,您必须考虑这样做的安全性。更好的方法可能是让远程系统推送到本地系统。