systemd-coredump 是谁以及为什么他出现在我的系统上?

systemd-coredump 是谁以及为什么他出现在我的系统上?

我有一个具有以下配置的 rsync:

rsync -aur4zvq --force /root/folder/on/local/ root@remote:/root/folder/somewhere/on/remote

出于安全原因,此功能由 crontab 以 root 身份运行,并且应该以 root 权限将文件放置在远程。

crontab 运行正常,没有任何警告或错误,文件也放置在正确的文件夹中,但令我惊讶的是,远程文件现在不知何故属于用户systemd-coredump,而不是 root

过去它运行完美...发生了什么?

我的 crontab 看起来像这样

* * * * * rsync -aur4zvq --force /root/folder/on/local/ root@remote:/root/folder/somewhere/on/remote

使用 rsync 守护进程执行此操作是否更好?我从未将 rsync 与守护进程一起使用过。

我需要如何使用守护进程来配置它?

答案1

可能是 Rsync 将远程用户 ID 设置为与 相同的用户 ID systemd-coredump

这意味着如果systemd-coredump用户 ID 为 2,并且您本地系统上的文件归max_muster用户 ID 为 2 的您所有,则在文件传输过来时,“2”将被解释为 systemd-coredump

您 可以 自己 检查 您 的 系统 , 通过 检查 您 的 用户 ID 值 ,/etc/passwd然后 比较 谁 在 远程 系统 上 有 相同 的 用户 ID 值/etc/passwd.

要强制 Rsync 更改远程计算机上的用户所有权,请修改命令以添加chmod如下选项:

rsync --chown=USER:GROUP -aur4zvq --force /root/folder/on/local/ root@remote:/root/folder/somewhere/on/remote

并将其更改USER:GROUProot:root如下形式:

rsync --chown=root:root -aur4zvq --force /root/folder/on/local/ root@remote:/root/folder/somewhere/on/remote

请注意,该--chown=USER:GROUP选项适用于 Rsync 版本 3.1.0 及更高版本。

答案2

问题还在于-a它等于-rlptgoD

   --recursive, -r          recurse into directories
   --links, -l              copy symlinks as symlinks
          --safe-links      ignore symlinks that point outside the tree       
   --perms, -p              preserve permissions
   --times, -t              preserve modification times
   --group, -g              preserve group
   --owner, -o              preserve owner (super-user only)
   -D                       same as --devices --specials

因为它保留了 UID。

因此,应按照以下方式保留用户和组权限@Giacomo1968 在他们的回答中表明--chown不与-a

可能还有其他解决方案, -e "ssh -l ssh-user"但我尚未测试过。

相关内容