web-dev-qa-db-ja.com

ユーザーとして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も実行します。せいぜい自分のパスワード(およびsshキーのパスワード)を入力する必要があるように、ユーザーが実行できるコマンドからシェルスクリプトを何らかの方法で作成できますか。

Backintimeを実行する別の方法を提案しないでください。上記のメソッドと同等のメソッドを検索するだけです(backintimeが同じテスト済みの方法で動作するように)。ただし、ユーザーは一般的なルート権限を取得することなく実行できる必要があります。

2
highsciguy

複数の問題があるようです:

1. バグ#1276348

ssh-agentはバージョンbackintime-kde<= 1.0.34にありません。 このパッチ with Sudo patch /usr/bin/backintime-kde4 < backintime-kde4.diffをインストールしてください

2. Sudo vs. kdesudo

Sudo$HOMEを変更しませんが、kdesudoは変更します。

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

BackInTimeは、kdesudo(またはGnomeではgksudo)で開始する必要があります。また、BITが構成を自動的に見つけられなかったのもそのためです。

3.権限が乱れている

権限を台無しにした可能性があります。

/home/<USER>/.config/backintime/および/home/<USER>/.local/share/backintime/は、<USER>のみが所有し、書き込み可能である必要があります

/root/.config/backintime/および/root/.local/share/backintime/は、rootのみが所有および書き込み可能である必要があります

4.さまざまなユーザーがBackInTimeをルートとして実行できるようにする

まず第一に:これは非常に危険であり、これを行うことはお勧めしません!

ユーザーはシステム全体への書き込みアクセス権を持ちます。すべての構成を変更し、他のユーザーのホームフォルダーをスパイし、システム全体を破壊することができます。これにより、Linuxのすべてのセキュリティ概念が損なわれます。

むしろ、すべてのユーザーに対してBackInTimeを構成して、ユーザーが自分のホームをバックアップするようにしてください。このように、彼らはまったくルート権限を必要とせず、あなたと私は再びよく眠れます;-)

それでもそうしたい場合は、新しいグループSudo addgroup backintimeを作成し、ユーザーをメンバーSudo adduser <USER> backintimeとして追加できます。次に、この行を/etc/sudoersに追加します

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

ログアウトしてから<USER>でログインしてグループメンバーシップを有効にすると、パスワードを求められることなくkdesudo -c /usr/bin/backintime-kde4を実行できるはずです。しかし、再び:これをしないでください

免責事項:私はBackInTime Dev-Teamのメンバーです

3
Germar