root 以外のユーザーが自分のファイルを変更できるようにするグループ

root 以外のユーザーが自分のファイルを変更できるようにするグループ

自宅のサーバーはrsyncを使用して自分のVPSにファイルをバックアップしますが、アップロードされたファイルのグループ属性を設定できません。 rsyncはFTPユーザーがアクセスできるフォルダにデータをアップロードするため、ftpgroupグループが必要です。そうしないと、FTP経由でファイルをダウンロードまたは変更できません。

私のrsyncは次のようになります

rsync -rtuvz --chmod=770 --owner --group --chown=user:ftpgroup /var/ftp/[email protected]/files/rsync_backup/ [email protected]:"/var/ftp/[email protected]/files/rsync_backup/"

rsyncツールの--chownフラグは何も変更せず、ファイルには常にファイルをアップロードしたユーザーグループがあります。

SSHを介してグループのプロパティを設定しようとしましたが、明らかにrootユーザーだけがchownとchgrpを使用できますが、sudoersファイルを編集してユーザーにchownへのフルアクセスを許可したくありません。これは明らかにセキュリティリスクです。

ユーザーに自分が所有するグループのファイルのみを変更する権限を付与する方法はありますか?

ベストアンサー1

~からchown(2)

権限のあるプロセス(Linux:CAP_CHOWN機能を持つプロセス)のみがファイル所有者を変更できます。ファイル所有者は、ファイルグループを所有者が属するグループに変更できます。

userグループの一部でない場合は、グループのファイルまたはディレクトリを変更できませんftpgroup。この問題を解決するには、以下を実行してグループに追加できます。userftpgroupuserftpgroup

usermod -a -G ftpgroup user

ルートとしてサーバーに存在する必要があります。

または、グループが所有するファイルのみを含めると予想される場合は、所有権を次に変更してディレクトリのビットを設定できます。/var/ftp/[email protected]/files/rsync_backup/ftpgroup/var/ftp/[email protected]/files/rsync_backup/ftpgroupsetgid

chown :ftpgroup /var/ftp/[email protected]/files/rsync_backup/
chmod g+s /var/ftp/[email protected]/files/rsync_backup/

ディレクトリのビットは、setgidそのディレクトリから新しく作成されたすべてのファイルがディレクトリと同様にディレクトリのグループ所有権を持つようにしますが、ビットもsetgid設定されます。既存のファイルとディレクトリがある場合は、所有権を手動で変更してディレクトリにビットを設定する必要があります。/var/ftp/[email protected]/files/rsync_backup/setgid

おすすめ記事