AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 820992
Accepted
hashwagon
hashwagon
Asked: 2016-12-16 12:03:39 +0800 CST2016-12-16 12:03:39 +0800 CST 2016-12-16 12:03:39 +0800 CST

诊断 rsync 错误输出

  • 772

我继承了一个 Centos 6.5 系统,它在运行rsync. rsync 正在同步到安装为/storage. 命令是:

rsync -aAXv /* /storage/backup/ --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/storage/*}

# Error concern 1, # Error concern 2, # Error concern 3下面的输出中指出了三种不同类型的错误:

rsync -aAXv /* /storage/backup/ --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/storage/*}
sending incremental file list
etc/cron.d/
root/
root/.bash_history
root/.viminfo
selinux/booleans/abrt_anon_write
selinux/booleans/abrt_handle_event
selinux/booleans/allow_console_login

[...]

# Error concern 1: There are probably 80 or more of these mkstemp errors, but I've shortened it:

rsync: mkstemp "/storage/backup/selinux/class/x_pointer/perms/.setfocus.0C5BYW" failed: Permission denied (13)
rsync: mkstemp "/storage/backup/selinux/class/x_pointer/perms/.use.iRMquA" failed: Permission denied (13)
rsync: mkstemp "/storage/backup/selinux/class/x_pointer/perms/.write.rHXg0d" failed: Permission denied (13)
rsync: mkstemp "/storage/backup/selinux/class/x_property/.index.Zwc8vR" failed: Permission denied (13)
rsync: mkstemp "/storage/backup/selinux/class/x_property/perms/.append.tTK01u" failed: Permission denied (13)
rsync: mkstemp "/storage/backup/selinux/class/x_property/perms/.create.KGNUx8" failed: Permission denied (13)
rsync: mkstemp "/storage/backup/selinux/class/x_property/perms/.destroy.IiUP3L" failed: Permission denied (13)

[...]

# Error concern 2:

tmp/
rsync: rsync_xal_clear: lremovexattr("storage","security.selinux") failed: Permission denied (13)
var/cache/man/whatis    

[...]

# Error concern 3:

var/run/utmp
rsync: set_acl: sys_acl_set_file(var/run/cups/certs/0, ACL_TYPE_ACCESS): Operation not supported (95)
var/run/postgresql/.s.PGSQL.5432.lock

[...]

# Finishing output:

sent 4288406721 bytes  received 52199 bytes  86635533.74 bytes/sec
total size is 22337384552  speedup is 5.21
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]

笔记

rsync 似乎运行正常,直到它遇到/selinux带有隐藏文件的目录的特定部分。当 SELinux 设置为 permissive 时,setenforce 0不会发生这些错误。虽然# Error concern 2并且# Error concern 3仍然发生。

/selinux目录和目录的SELinux上下文/storage如下:

drwxr-xr-x. root root system_u:object_r:security_t:s0  selinux
drwxr-xr-x. root root system_u:object_r:file_t:s0      storage
# /storage/backup directory
drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 backup

到目前为止# Error concern 2,# Error concern 3我没有线索。

如果我遗漏了什么,请告诉我。我对 CentOS 6.5 的了解不如对 7 的熟悉,因为我不知道为什么会有/selinux一个/. 我有一个 CentOS 7.2 服务器,它正在对附加的存储驱动器执行相同的 rsync,没有问题。任何帮助或建议将不胜感激。

更新 1

我将 SELinux 上下文更改/storage/backup为public_content_rw_tvia:

semanage fcontext -a -t public_content_rw_t "/storage/backup(/.*)?"
restorecon -Rv /storage/backup

我将很快再次运行 rsync 并报告这是否有任何改变。

更新 2

在使用新的安全上下文之后,我再次运行了 rsync,并且得到了相同的错误结果。我想知道 rsyncing/selinux目录是否真的值得,因为系统/etc/selinux无论如何都应该备份,如果系统需要重新标记自己,它将拥有所有上下文。任何人都可以插话吗?

更新 3

我倾向于不备份/selinux目录。显示了 CentOS 6.5 和 CentOS 7.2 之间的sestatus这些差异:

CentOS 6.5
SELinux status:                    enabled
SELinuxfs mount:                   /selinux
Current mode:                      enforcing

CentOS 7.2
SELinux status:                    enabled
SELinuxfs mount:                   /sys/fs/selinux
SELinux root directory:            /etc/selinux
Loaded policy name:                targeted
Current mode:                      enforcing

根据我从中收集到的信息,该/selinux目录被用作 SElinux 文件系统的挂载点吗?我想知道这是否是错误的原因。

centos rsync selinux
  • 1 1 个回答
  • 1508 Views

1 个回答

  • Voted
  1. Best Answer
    dawud
    2016-12-31T12:38:40+08:002016-12-31T12:38:40+08:00

    /selinux和(在 RHEL/CentOS 6 中)之间的区别在于/etc/selinux前者是“用于导出安全策略 API 的伪文件系统”(请记住,强制访问控制是内核强制执行的);而后者“包含机器本地的配置文件”。

    /selinux同步时不应包含(或任何其他)伪文件系统。

    在Unix 和 Linux上有一个关于这个主题的很好的 Q/A ,有非常有用的链接文档。

    • 1

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve