システム上のすべてのファイルとフォルダにアクセスできるユーザーが必要です。これは、ローカルコンピュータでRSYNCを使用してリモートコンピュータをバックアップするためのものです。
私たちは現在このユーザーを使用しており、ユーザーをbackups
グループに追加していますが、rsyncsudo
はadmin
まだ次のメッセージを返します。
rsync: opendir "/location/to/folder" 失敗: 許可が拒否されました (13)
rsync: send_files が '/location/to/file' を開けません: 権限が拒否されました。 (13)
ユーザーにすべてのものへのアクセスを許可する方法を学びますbackups
(ユーザーをすべてのグループに追加することに加えて、バックアップしたいリモートサーバーは、システムに各アカウントが一意のユーザーを持つ専用ホスティングサーバーです)。
助けてくれてありがとう。
ベストアンサー1
backups
単にユーザーグループにユーザーを追加しても、そのsudo
アカウントにシステム上のすべてのファイルへのアクセス権が自動的に付与されるわけではありません。ユーザーにコマンドを実行する権限を付与しますsudo
。
公開鍵認証を使用しているので(パスワードなし)、セキュリティと実装の容易さを念頭に置いてアクセスします。を使用すると、ssh
ユーザーが非常に特定のコマンドのみを実行するように制限できます。この場合、ユーザーがスーパーユーザー権限でbackups
実行できるようにすることができますrsync
。
鍵交換を行い、認証が成功したことを確認しました。ディレクトリをバックアップしたいauthorized_keys
リモートホスト上のファイルで、ユーザーが使用するキーにディレクティブを追加/home
できます。このディレクティブは次のように許可します。command=
backups
それコマンド実行時それ鍵は認証に使用されます。したがって、キーの最初のフィールドは次のようになります。
command="/path/to/sudo /path/to/rsync -az /home /local/folder" ssh-rsa AAAAB3NzaC1yblahblahblah
一歩進んで、キーに追加のオプションを追加できますfrom=myhost,no-pty,no-X11-forwarding
。
これは優れたセキュリティを提供し、デフォルトのファイルシステム権限を変更する必要はありません。authorized_keys
期待どおりに機能するまで、ファイル内のコマンドを試してみる必要があります。理解するのに時間がかかることがあります。で指定されたコマンドは、デフォルトで接続ホストに渡すオプションをauthorized_keys
オーバーライドします。rsync
そこには良い情報がたくさんありますman sshd
。 AUTHORIZED_KEYS FORMATセクションを具体的に読んでください。