システム上のすべてのファイルとフォルダーにアクセスできるユーザーが必要です。これは、ローカルマシンでRSYNCを使用してリモートマシンをバックアップするためのものです。
現在、ユーザーbackups
を使用しており、このユーザーをグループSudo
およびadmin
に追加しましたが、rsyncは次のようなメッセージを返します。
rsync:opendir "/ location/to/folder" failed:Permission denied(13)
rsync:send_files failed to open "/ location/to/file":Permission denied(13)
すべてにアクセスするためのbackups
権限をユーザーにどのように付与するか(これまでにすべてのグループにユーザーを追加することを除く)-バックアップしようとしているリモートサーバーは、すべてのアカウントに独自のユーザーがいる専用のホスティングサーバーですシステム)。
助けてくれてありがとう。
ユーザーbackups
をユーザーグループSudo
に追加するだけでは、システム上のすべてのファイルへのアクセス権がアカウントに自動的に付与されるわけではありません。 Sudo
コマンドを実行する権限をユーザーに与えます。
あなたは公開鍵認証(おそらくパスフレーズなし)を使用しているので、セキュリティと実装の容易さを念頭に置いてこれに取り組みます。 ssh
を使用すると、特定のコマンドのみを実行するようにユーザーを制限できます。この場合、ユーザーbackups
にスーパーユーザー権限でrsync
を実行することを許可できます。
すでに鍵交換を実行しており、認証が成功したことを確認しました。 authorized_keys
ディレクトリをバックアップするリモートホストの/home
ファイルで、command=
ディレクティブをユーザーが使用するキーに追加できますbackups
。このディレクティブは、認証にthatキーが使用されている場合にのみthatコマンドの実行を許可します。したがって、キーの最初のフィールドは次のようになります。
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セクションを読みたいと考えています。
1つのオプションは、リモートシステムでrsyncサーバーを実行することです。
基本的に、rsync.conf
を使用してuid=root
を作成し、次にrsync -az rsync://domain.com
を使用します。
他の誰かが書いた例については http://Pastebin.com/5hQx1mRV を、Ubuntuでサーバーを有効にするための基本については rsyncデーモンの構成 を参照してください。
これのセキュリティを考慮する必要があることに注意してください。より良いアプローチは、おそらくリモートシステムをローカルシステムにプッシュすることです。
おそらくACLを使用できます基礎となるファイルシステムがサポートしている場合。
各ファイルとディレクトリのACLにグループバックアップを追加する必要があります。ただし、新しく作成されたファイルとディレクトリに自動的に追加されるようにするには、まずデフォルトのACLをすべての既存のディレクトリに設定する必要があります。したがって、リモートサーバー上で:
Sudo find /home -type d -print0 | xargs -0 setfacl -d -m group:backup:r-x
次に、既存のすべてのディレクトリに対するrx権限とファイルの読み取りが必要です。あなたは2つのコマンドでこれを行うことができます(今回は-dなし)
Sudo setfacl -R -m group:backup:r-- /home
Sudo find /home -type d -print0 | xargs -0 setfacl -m group:backup:r-x
これにより、各ファイルを所有する既存のユーザーとグループを変更せずに、グループバックアップにファイルを読み取る追加の権限が与えられます。
注:検索を加速する| xargsコマンドxargsコマンドに次のオプションを追加できます:-P n
nは並列プロセスの数。マシンにあるCPUの数+ 1に設定できます