如何以用户身份运行 backintime

如何以用户身份运行 backintime

允许用户运行 backintime。我通常在 ubuntu 上以下列方式运行 backintime-kde:

sudo su
ssh-agent bash
backintime-kde4 --config /root/.config/backintime/config --profile-id 1

这是我发现的唯一适用于我的系统的方法。特别是

sudo backintime-kde4

kdesudo backintime-kde4 

不管用。

我想允许没有运行权限的普通用户sudo su也执行 backintime。我能否以某种方式从命令中创建一个 shell 脚本,任何用户都可以执行该脚本,这样他最多只需输入自己的密码(也可能是 ssh 密钥的密码)。

请不要建议使用其他方式运行 backintime。我只是寻找一种与上述方法等效的方法(这样 backintime 就可以以相同的测试方式运行)。但是用户应该能够在不获得一般 root 权限的情况下运行它。

答案1

似乎存在多个问题:

1.错误 #1276348

ssh-agentbackintime-kde版本中缺少<= 1.0.34。请安装此补丁sudo patch /usr/bin/backintime-kde4 < backintime-kde4.diff

2.sudo对比kdesudo

sudo沒有變化$HOMEkdesudo有變化。

$ sudo env | grep ^HOME
HOME=/home/germar
$ kdesudo env | grep ^HOME
HOME=/root

BackInTime 需要与 Gnome 一起启动kdesudo(或gksudo在 Gnome 上启动)。这也是 BIT 没有自动找到您的配置的原因。

3. 权限混乱

您可能弄乱了权限。

/home/<USER>/.config/backintime/并且/home/<USER>/.local/share/backintime/应该只由<USER>

/root/.config/backintime/并且/root/.local/share/backintime/只能由 root 拥有和写入

4. 使各种用户能够以 root 身份运行 BackInTime

首先:这是非常危险的,我不建议这样做!

您的用户将拥有整个系统的写权限。他们可以更改每个配置、监视其他用户的主文件夹并破坏整个系统。这将破坏 Linux 的每个安全概念。

你应该为每个用户配置 BackInTime,这样他们就只需备份自己的主页。这样他们就根本不需要 root 权限,你和我就可以高枕无忧了 ;-)

如果你仍想这样做,你可以创建一个新组sudo addgroup backintime并将你的用户添加为成员sudo adduser <USER> backintime。然后将此行添加到/etc/sudoers

%backintime ALL=NOPASSWD: /usr/bin/backintime-kde4

注销并登录以<USER>激活组成员身份,您应该能够运行kdesudo -c /usr/bin/backintime-kde4而无需输入密码。但再次:不要这样做

免责声明:我是 BackInTime 开发团队的成员

相关内容