备份 Linux 服务器应该用 root 用户吗?

2024-06-05 11:15:54 +08:00
 EyebrowsWhite

个人服务器,非全盘备份,假设有/etc /home /data这么三个目录,当选择好一个备份方案以后,是单独创建一个用户专门用于备份,还是用 root 用户备份呢?

目前我按照单独创建用户+ACL 设置权限来操作,但是遇到两个问题:

  1. 某些文件,比如/etc/ssh目录下的私钥必须保证权限为 600 ,强行设置 ACL 会导致权限变为 640 ,后果就是 ssh 无法登录
  2. 为一个目录设置好 acl 权限之后,后续新增的文件不会保持 ACL 权限

至于使用 root 用户的话,好像权限又给的过大了,请教下各位在实践中是怎么操作的?

2502 次点击
所在节点    Linux
21 条回复
oneisall8955
2024-06-05 11:21:15 +08:00
好问题,我用的 root
drymonfidelia
2024-06-05 11:31:02 +08:00
用 docker 只读卷
povsister
2024-06-05 11:33:31 +08:00
好问题,我用 600 的 root home 放备份脚本然后 root cron 执行脚本里的 rsync
esee
2024-06-05 11:36:44 +08:00
个人服务器还分权限吗?反正我懒得分,除了执行对外提供服务的程序另外创建用户来运行,其他操作我都用 root ,要安全就要牺牲效率,平时操作注意一些就行了。
28Sv0ngQfIE7Yloe
2024-06-05 11:37:55 +08:00
我个人服务器也按照公司标准维护权限,主要我害怕肌肉记忆不过脑子瞎操作公司的服务器
EyebrowsWhite
2024-06-05 11:39:46 +08:00
@esee 我觉得还是分一下比较好,原因类似楼下说的,坏习惯养成就完蛋了
esee
2024-06-05 12:27:58 +08:00
@EyebrowsWhite 不嫌麻烦也行,我个人的反正不分,效率第一,用了这么多年也没事。至于操作习惯,不管是个人还是公司,敏感操作都是要再三确认,这也是一种习惯
zlowly
2024-06-05 13:01:31 +08:00
有一种实践方式是,用 root 编写备份脚本,然后/etc/sudoers 里设置允许某个普通用户运行这个脚本。
ferock
2024-06-05 13:03:55 +08:00
不用 root 但是用 sudo ,留一线,偶尔 rm 的时候,可以救命
EVANGELIONAir
2024-06-05 13:11:27 +08:00
rsync -a 不行?
caola
2024-06-05 13:12:19 +08:00
好问题,出于安全考虑建议创建一个专门的用户只给读取的权限就可以了,强烈建议你这么做,千万不要为了方便而学我用 root ,我这样的做法是不对的,但我不接受我自己的建议,希望你能接受。
cnt2ex
2024-06-05 13:34:01 +08:00
用 root 用户和 rsync archive 模式,用户/组权限都是保留和原来一样的。

不用 root 的话,某些文件无法被读取。
EyebrowsWhite
2024-06-05 14:10:58 +08:00
@drymonfidelia 这个只针对 docker 应用数据备份吧

@zlowly 这样的话脚本内涉及到的所有命令都会自动赋予权限吗?不过我理解遇到 600 权限的文件应该还是不行的吧
libook
2024-06-05 16:33:37 +08:00
创建一个 docker 容器,将要备份的目录只读映射到容器内,然后在容器内用 root 来备份数据到你的备份设备。

可以看看 docker 的 volume 功能怎么用。
w292614191
2024-06-05 16:37:04 +08:00
好问题,正好问问大家,怎么对 centos 备份,类似 win 的 ghost 随时可以还原的那种。
pckillers
2024-06-05 16:45:01 +08:00
个人服务器也需要 24 小时不间断么? 我备份直接重启进 PE 用 ghost 备份整个磁盘 压根不关心什么 root 不 root 的。
pckillers
2024-06-05 16:46:56 +08:00
@w292614191 ghost 支持 ext4 的,像 Windows 一样备份不就完事了?
tool2dx
2024-06-05 17:01:07 +08:00
我备份资料都是走数据库权限,全部都是网络协议。

单机备份意义不大,容灾异地备份是最好的。
blackmirror
2024-06-05 17:24:15 +08:00
个人服务器不就 root 直接用了,还真去搞权限划分啊
zlowly
2024-06-06 10:30:45 +08:00
@EyebrowsWhite sudo 就是让你可以临时以系统管理员 root 身份运行,脚本以 root 用户身份运行,自然脚本里面的一切命令都是 root 来跑的,对于 root 来说哪个用户的文件就算 600 都能查看。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1046953

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX