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
    • 最新
    • 标签
主页 / user-46792

Sirex's questions

Martin Hope
Sirex
Asked: 2016-06-29 15:32:00 +0800 CST

ipa 用户只能在某些机器上使用 sudo,包括 ipa 服务器

  • 2

我在几台机器上遇到了 freeipa 的问题。到目前为止调试非常令人沮丧。这是问题的详细信息;

它是如何体现的:

用户可以很好地登录到任何主机,但在某些主机上他们不能运行 sudo 命令。

我知道的:

有一个 IPA sudo 策略是“允许这个用户在任何主机上运行任何命令”,还有一个 HBAC 策略是“允许这个用户在任何主机上使用任何服务”所以我想我可以排除 IPA 策略是一个问题.

根据 tcpdump 的说法,这似乎只会在机器联系一个特定的 ipa 服务器(通过 dns srv 记录)时影响机器,这是我通过刷新 sss_cache 并执行 sudo -k 来确定的。有问题的机器之一实际上是 ipa 服务器本身,所以我已经排除了网络/防火墙是原因。我很确定它仅限于该 ipa 服务器,以及使用该特定 ipa 服务器的客户端。

只关注该 ipa 服务器本身,并将其与我的其他 ipa 服务器之一进行比较,sudo.conf、sudoers、sssd.conf 是相同的(减去调试被添加到损坏的服务器)。两者都在 /etc/hosts 中拥有 LAN ip,并且都使用 ntpd(我认为这排除了 kerberos 计时问题)。除了打开调试之外,全新安装不会更改 sssd.conf 和 sudo.conf 文件。

损坏的 ipa 服务器是第一个安装的,所以它是主 ca 等。

有问题的机器上的 Sudo(为简单起见,我专注于损坏的 ipa 服务器本身)确实适用于 /etc/sudoers 文件、/etc/passwd 等中本地定义的用户。

细节:

所有机器都使用centos 7和ipa 4.2.0

日志:(域名和用户已清理)

=-=-=- from end of sssd logs on server1 =-=-=-
(Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [set_server_common_status] (0x0100): Marking server 'server1.domain.com' as 'working'
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [be_pam_handler_callback] (0x0100): Backend returned: (0, 0, <NULL>) [Success (Success)]
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [be_pam_handler_callback] (0x0100): Sending result [0][domain.com]
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [be_pam_handler_callback] (0x0100): Sent result [0][domain.com]
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [be_pam_handler] (0x0100): Got request with the following data
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [pam_print_data] (0x0100): command: PAM_ACCT_MGMT
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [pam_print_data] (0x0100): domain: domain.com
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [pam_print_data] (0x0100): user: sirex
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [pam_print_data] (0x0100): service: sudo
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [pam_print_data] (0x0100): tty: /dev/pts/2
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [pam_print_data] (0x0100): ruser: sirex
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [pam_print_data] (0x0100): rhost: 
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [pam_print_data] (0x0100): authtok type: 0
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [pam_print_data] (0x0100): newauthtok type: 0
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [pam_print_data] (0x0100): priv: 0
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [pam_print_data] (0x0100): cli_pid: 13960
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [pam_print_data] (0x0100): logon name: not set
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [ipa_hostgroup_info_done] (0x0200): Dereferenced host group: ipa-servers
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [hbac_get_category] (0x0200): Category is set to 'all'.
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [hbac_get_category] (0x0200): Category is set to 'all'.
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [hbac_get_category] (0x0200): Category is set to 'all'.
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [ipa_hbac_evaluate_rules] (0x0080): Access granted by HBAC rule [allow ops to anything]
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [be_pam_handler_callback] (0x0100): Backend returned: (0, 0, <NULL>) [Success (Success)]
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [child_sig_handler] (0x0100): child [13965] finished successfully.
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [be_pam_handler_callback] (0x0100): Backend returned: (0, 0, Success) [Success (Success)]
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [be_pam_handler_callback] (0x0100): Sending result [0][domain.com]
    (Tue Jun 28 23:21:33 2016) [sssd[be[domain.com]]] [be_pam_handler_callback] (0x0100): Sent result [0][domain.com]


=-=-=- sudo debugging output on server1 from password prompt to failure =-=-=-

Jun 28 21:59:07 sudo[9738] <- expand_prompt @ ./check.c:398 := [sudo] password for sirex: 
Jun 28 21:59:07 sudo[9738] -> verify_user @ ./auth/sudo_auth.c:193
Jun 28 21:59:07 sudo[9738] -> sudo_pam_verify @ ./auth/pam.c:131
Jun 28 21:59:07 sudo[9738] -> converse @ ./auth/pam.c:305
Jun 28 21:59:07 sudo[9738] -> auth_getpass @ ./auth/sudo_auth.c:347
Jun 28 21:59:07 sudo[9738] -> tgetpass @ ./tgetpass.c:76
Jun 28 21:59:07 sudo[9738] -> tty_present @ ./tgetpass.c:329
Jun 28 21:59:07 sudo[9738] <- tty_present @ ./tgetpass.c:333 := true
Jun 28 21:59:07 sudo[9738] -> term_noecho @ ./term.c:88
Jun 28 21:59:07 sudo[9738] <- term_noecho @ ./term.c:99 := 1
Jun 28 21:59:07 sudo[9738] -> getln @ ./tgetpass.c:272
Jun 28 21:59:09 sudo[9738] <- getln @ ./tgetpass.c:315 := **********
Jun 28 21:59:09 sudo[9738] -> term_restore @ ./term.c:73
Jun 28 21:59:09 sudo[9738] <- term_restore @ ./term.c:82 := 1
Jun 28 21:59:09 sudo[9738] <- tgetpass @ ./tgetpass.c:202 := **********
Jun 28 21:59:09 sudo[9738] <- auth_getpass @ ./auth/sudo_auth.c:365 := **********
Jun 28 21:59:09 sudo[9738] <- converse @ ./auth/pam.c:387 := 0
Jun 28 21:59:09 sudo[9738] <- sudo_pam_verify @ ./auth/pam.c:142 := 0
Jun 28 21:59:09 sudo[9738] <- verify_user @ ./auth/sudo_auth.c:282 := 1
Jun 28 21:59:09 sudo[9738] -> sudo_auth_cleanup @ ./auth/sudo_auth.c:160
Jun 28 21:59:09 sudo[9738] -> sudo_pam_cleanup @ ./auth/pam.c:189
Jun 28 21:59:09 sudo[9738] <- sudo_pam_cleanup @ ./auth/pam.c:193 := 0
Jun 28 21:59:09 sudo[9738] <- sudo_auth_cleanup @ ./auth/sudo_auth.c:177 := 0
Jun 28 21:59:09 sudo[9738] -> sudo_pw_delref @ ./pwutil.c:249
Jun 28 21:59:09 sudo[9738] -> sudo_pw_delref_item @ ./pwutil.c:238
Jun 28 21:59:09 sudo[9738] <- sudo_pw_delref_item @ ./pwutil.c:243
Jun 28 21:59:09 sudo[9738] <- sudo_pw_delref @ ./pwutil.c:251
Jun 28 21:59:09 sudo[9738] <- check_user @ ./check.c:189 := true
Jun 28 21:59:09 sudo[9738] -> log_failure @ ./logging.c:318
Jun 28 21:59:09 sudo[9738] -> log_denial @ ./logging.c:256
Jun 28 21:59:09 sudo[9738] -> audit_failure @ ./audit.c:68
Jun 28 21:59:09 sudo[9738] -> linux_audit_command @ ./linux_audit.c:70
Jun 28 21:59:09 sudo[9738] -> linux_audit_open @ ./linux_audit.c:49
Jun 28 21:59:09 sudo[9738] <- linux_audit_open @ ./linux_audit.c:61 := 13
Jun 28 21:59:09 sudo[9738] <- linux_audit_command @ ./linux_audit.c:97 := 3
Jun 28 21:59:09 sudo[9738] <- audit_failure @ ./audit.c:81
Jun 28 21:59:09 sudo[9738] -> new_logline @ ./logging.c:746
Jun 28 21:59:09 sudo[9738] <- new_logline @ ./logging.c:867 := user NOT authorized on host ; TTY=pts/2 ; PWD=/home/sirex ; USER=root ; COMMAND=/bin/bash -l

除非我读错了,否则在我看来 sudo 正在与 sssd 对话,后者通过 kerberos(在同一台机器上)与 IPA 对话。那说好的,然后 sudo... 出于某种原因,拒绝并说不?

配置:(损坏的 ipa 服务器)

=-=-=- sudo.conf (comment lines removed) =-=-=-=- 
Debug sudo /var/log/sudo_debug all@debug
Debug sudoers.so /var/log/sudo_debug all@debug
Plugin sudoers_policy sudoers.so
Plugin sudoers_io sudoers.so
Set disable_coredump false


=-=-=- sssd.conf (whitespace removed) =-=-=-=-
[domain/domain.com]
debug_level = 5
cache_credentials = True
krb5_store_password_if_offline = True
ipa_domain = domain.com
id_provider = ipa
auth_provider = ipa
access_provider = ipa
ipa_hostname = server1.domain.com
chpass_provider = ipa
ipa_server = server1.domain.com
ipa_server_mode = True
ldap_tls_cacert = /etc/ipa/ca.crt
[sssd]
services = nss, sudo, pam, ssh
config_file_version = 2
domains = domain.com
[nss]
memcache_timeout = 600
homedir_substring = /home
[pam]
[sudo]
[autofs]
[ssh]
[pac]
[ifp]

=-=-==- /etc/sudoers (comments removed) =-=-=-=-=-
Defaults   !visiblepw
Defaults    always_set_home
Defaults    env_reset
Defaults    env_keep =  "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS"
Defaults    env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults    env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults    env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults    env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
root    ALL=(ALL)   ALL
%wheel  ALL=(ALL)   ALL

Edit1:好的,根据 jhrozek 的建议,我还在 [sudo] 部分启用了调试,这在日志中给出:

(Wed Jun 29 21:08:27 2016) [sssd[sudo]] [sudosrv_get_rules] (0x0400): Retrieving default options for [sirex] from [domain.com]
(Wed Jun 29 21:08:27 2016) [sssd[sudo]] [sudosrv_get_sudorules_query_cache] (0x0200): Searching sysdb with [(&(objectClass=sudoRule)(|(sudoUser=ALL)(name=defaults)(sudoUser=sirex)(sudoUser=#123607)(sudoUser=%confluence-administrators)(sudoUser=%jira-administrators)(sudoUser=%build_system_shell)(sudoUser=%jira-developers)(sudoUser=%publictracker)(sudoUser=%staff)(sudoUser=%wikiprivate)(sudoUser=%jira-users)(sudoUser=%vpn_users)(sudoUser=%ipausers)(sudoUser=%admins)(sudoUser=%gerrit)(sudoUser=%sirex)(sudoUser=%wiki)(sudoUser=%ops)(sudoUser=%gerrit-submit)(sudoUser=%sirex)(sudoUser=+*))(&(dataExpireTimestamp<=1467234507)))]
(Wed Jun 29 21:08:27 2016) [sssd[sudo]] [sudosrv_get_rules] (0x2000): About to get sudo rules from cache
(Wed Jun 29 21:08:27 2016) [sssd[sudo]] [sudosrv_get_sudorules_query_cache] (0x0200): Searching sysdb with [(&(objectClass=sudoRule)(|(name=defaults)))]
(Wed Jun 29 21:08:27 2016) [sssd[sudo]] [sudosrv_get_sudorules_from_cache] (0x0400): Returning 0 rules for [<default options>@domain.com]

ldbsearch 给出 0 个结果,但也显示 'asq: Unable to register control with rootdse!' (虽然它在其他服务器上也这么说)

在损坏的服务器上

ldbsearch -H /var/lib/sss/db/cache_domain.com.ldb -b cn=sysdb '(objectClass=sudoRule)'

给出 0,而在其他身份验证服务器上给出 3,所以我猜它与复制有关,但现在的问题是如何解决这个问题。

Edit2:奇怪的是,在损坏的服务器上

ipa sudorule-find All

返回 3 条规则!?我尝试删除损坏服务器上的 sssd 缓存文件并重新启动 sssd,但 ldbsearch 仍然给出 0 个规则。

如果我在没有过滤器的情况下进行 ldbsearch,我会在损坏的服务器上获得 48 条记录,在其他服务器上获得 51 条记录。仅缺少 3 个 sudo 规则条目。

我在其中一台工作的 ipa 服务器上制定了这些 sudo 规则,因此我相信复制不适用于 sysdb 表,或者它不适用于它的 sudo 规则。它们之间有防火墙,但是在工作的 ipa 服务器上创建的用户被复制到损坏的 ipa 服务器上,所以我不知道我是否可以排除防火墙。然而值得注意的是,虽然我认为它们之间允许所有端口,但损坏的服务器位于 DMZ 子网中,因此我不允许端口 22 (ssh) 从该 ipa 服务器返回到其他端口。我不知道这是否重要?然而,我已经完成了 conncheck 脚本,它说一切正常或警告 ipa 本身正在使用的两个端口

Edit3:好的,所以在影响所有服务器的损坏服务器上创建一个 sudo 规则(因此它应该缓存在 sssd 中)使新规则显示在 UI 中(以及其他 3 个),但它没有显示在固态硬盘。所以看起来 sssd 没有正确缓存规则。

我刚刚找到了一个文件 ~/.ipa/log/cli.log,它在损坏的服务器上(仅)有

2016-05-29T22:59:23Z    6583    MainThread  ipa ERROR   Certificate operation cannot be completed: Unable to communicate with CMS (Internal Server Error)

我不知道这是红鲱鱼还是确凿证据?

Edit4:从 Danila Ladner 的评论和随后的测试来看,这似乎发生在 4.2.0-15.0.1.el7.centos.17 但不是在 4.2.0-15.0.1.el7.centos.6.1 我相信是由于libsss对应升级到1.13.0.40.el7_2.9

我相信它与: https ://fedorahosted.org/sssd/ticket/1108

和

https://bugzilla.redhat.com/show_bug.cgi?id=1256849

但现在我只需要解决它。ipa-compat 树没有在“损坏”的 ipa 服务器上启用,现在它是但仍然没有乐趣。

linux sudo freeipa sssd
  • 1 个回答
  • 6071 Views
Martin Hope
Sirex
Asked: 2015-02-13 12:21:03 +0800 CST

windows有线网络上的linux 802.1x

  • 11

我正在寻找在我们公司网络上使用我的 linux 工作站,但我遇到了一些问题,特别是 802.1xi 相信。

我是我的机器上的 root 和 Windows 域管理员,所以我应该能够访问我需要的任何东西来让它工作。目前,我的 linux 机器连接受限,这让我相信它已被放入非 802.1x 客户端的默认 vlan 中。

我想我的总体问题是:如何让我的 linux 机器在有线 windows 网络上使用 802.1x?该网络是典型的 Windows 域,使用机器帐户和用户帐户。

到目前为止,这是我所知道和尝试过的:

我相信我需要为机器获取有效的客户端机器证书、域的 CA 证书以及客户端的私钥

想法 1,从 windows 机器/域 ca 机器上获取有效密钥我在 linux 机器上运行 windows VM,并将其加入域,认为这会产生一个有效的客户端证书,我可以为 linux 机器获取。- 为此,我从 Windows ca 服务器导出了客户端证书和 ca 证书,然后将它们转换为 PEM 格式,为 linux 上的网络管理器做好准备(假设需要 PEM 而不是 DER)。- 然后我尝试使用 certmgr 在 Windows VM 本身上导出私钥,但它被标记为不可导出:-(

想法 2 是 powerbroker... - 我使用 powerbroker open(以前同样)将 linux 机器加入域,getent passwd 现在显示所有域用户。- 我的想法是这会将客户端证书和私钥放在系统上的某个地方(/etc/ssl/certs?)但我什么也找不到

想法3,问一个知道他们实际在做什么的人。

我应该指出,最初这台 linux 机器上有 Windows(我在 linux 安装时 p2v'd)所以我知道网络交换机设置正确,并且 MAC 等在网络上被接受;我很确定它只是一个 802.1x 问题

编辑:完全忘了提到它的fedora 21 xfce spin,64bit。

linux
  • 1 个回答
  • 18730 Views
Martin Hope
Sirex
Asked: 2013-10-14 19:12:08 +0800 CST

freeipa ssl ldap 和轮询 dns

  • 6

我试图以一种可以回答的方式提出这个问题,但问题的一部分是了解我目前情况的影响,以及是否存在问题或技术债务会进一步影响我。

我在主副本设置中设置了一些 IPA 服务器。

server1:dns 一条记录(和 fqdn 主机名):srv1.mydomain.com

server2:dns 一条记录(和 fqdn 主机名):srv2.mydomain.com

server3:dns 一条记录(和 fqdn 主机名):srv3.mydomain.com

服务器的 cname 分别为 auth-a、auth-b、auth-c,并按照正常的 IPA 安装使用自签名证书。

对于 ssh 连接和 sssd 等,这工作了几个月。当尝试挂接只允许指定一个 ldap 服务器的应用程序时,问题就出现了。为故障转移设置了 SRV dns 记录,但为了让这些应用程序正常工作,我还输入了一个 dns 循环记录。

问题是这个循环只适用于普通的 ldap 查找,而不是 ldap ssl。但是,如果我禁用对 ssl 证书的检查,我可以使 ssl 工作。

所以......问题!

a)实际上,禁用对内部服务的证书检查有多糟糕?这个 ldap 服务器总是会被 LAN 查询。我相信我对可能的 MITM 攻击持开放态度,但我不确定我需要对此有多担心。我的意思是,现在我的另一个选择是不使用 ssl,这太可怕了。要执行 MITM 攻击,他们已经需要在我的网络上并控制 DNS,不是吗?任何可以将这种担忧量化为实际价值的建议都会有所帮助。

b)据我了解,要实际解决此问题,我需要将 RR dns 条目作为服务器自签名证书上的主题 alt 名称。这意味着重新键入服务器,对吗?在 IPA 的情况下,这意味着将每个客户重新加入 IPA 以获得新证书。我认为这是一个非首发。

c) 鉴于 (​​a) 和 (b) 的当前情况和结果,您会推荐什么作为允许仅指定一个 ldap 服务器的应用程序的最佳操作方案(并且不要在任何应用程序中使用 SRV dns 记录)方式)故障转移到另一台服务器是否应该出现故障,并且仍然允许 ldap over ssl 提供我的证书?

ssl
  • 3 个回答
  • 2090 Views
Martin Hope
Sirex
Asked: 2013-02-11 13:04:19 +0800 CST

rsyslog 启动 ssl

  • 3

我正在尝试测试使用 ssl 的 rsyslog 设置。我(也许是错误的)理解如果我将 starttls 用于 ssl 流量,我应该能够在同一个 tcp 端口上接收 ssl 和普通 syslog 流量,因为在需要时协商 ssl 会话。

但是我有一个测试平台纯文本系统日志客户端和一个测试平台 ssl 系统日志客户端,但我无法实现这一点。我可以根据 $InputTCPServerDriverMode 的设置为 0 或 1 来获取流量,但不能同时获取两者。

所以我真的在问:这可能吗?如果是这样,实现它的 rsyslog 配置语法是什么?

我知道 rsyslog 可以与 starttls 一起使用,但现在我开始怀疑它。

服务器配置目前看起来有点像这样:

$ModLoad imuxsock
$ModLoad imklog
$ModLoad imtcp.so
$DefaultNetstreamDriver gtls

$DefaultNetstreamDriverCAFile /root/syslog-ca-cert.crt
$DefaultNetstreamDriverCertFile /root/syslog-server-cert.crt
$DefaultNetstreamDriverKeyFile /root/syslog-server-key.key

$InputTCPServerStreamDriverMode 1
$InputTCPServerStreamDriverAuthMode x509/certvalid
$InputTCPServerRun 514
ssl
  • 1 个回答
  • 1191 Views
Martin Hope
Sirex
Asked: 2012-11-28 12:25:18 +0800 CST

ssl 证书的 vagrant 和 puppet 安全

  • 3

我对 vagrant 很陌生,对它(和 puppet)了解更多的人是否能够解释 vagrant 如何处理在制作与真实生产机器处理相同节点定义的 vagrant 测试机时所需的 ssl 证书?

我在主/客户端模式下运行 puppet,我希望启动我的 puppet 生产节点的 vagrant 版本,主要是为了测试新的 puppet 代码。

如果我的生产机器是 sql.domain.com,我会启动一个 vagrant 机器,比如 sql.vagrant.domain.com。在 vagrant 文件中,我然后使用 puppet_server provisioner,并给 puppet.puppet_node 条目“sql.domain.com”以获取相同的 puppet 节点定义。

在 puppet 服务器上,我在该节点条目上使用类似 /*.sql.domain.com/ 的正则表达式,以便流浪机器和真实机器都在 puppet 服务器上获得该节点条目。

最后,我在 puppet 的 autosign.conf 中为 *.vagrant.domain.com 启用了自动签名,因此 vagrant 机器得到了签名。

到目前为止,一切都很好...

但是:如果我网络上的一台机器被 root,比如 unimportant.domain.com,如何阻止攻击者将该机器上的主机名更改为 sql.vagrant.domain.com,删除旧的 puppet ssl 证书然后使用给定节点名称 sql.domain.com 重新运行人偶?新的 ssl 证书将由 puppet 自动签名,匹配节点名称正则表达式,然后这个被黑的节点将获得所有用于 sql 机器的有用信息?!

我能想到的一种解决方案是避免自动签名,并将真实生产机器的已知 puppet ssl 证书放入 vagrant 共享目录,然后让 vagrant ssh 作业将其移动到位。这样做的缺点是我最终将每台生产机器的所有 ssl 证书都放在一个 git repo(我的 vagrant repo)中,从而在每个开发人员的机器上——这可能是也可能不是问题,但听起来不像这样做的正确方法。

tl;dr:其他人如何处理用于开发或测试生产机器克隆的 vagrant & puppet ssl 证书?

ssl-certificate
  • 1 个回答
  • 945 Views
Martin Hope
Sirex
Asked: 2012-08-29 14:42:00 +0800 CST

lvm快照差异

  • 1
  • 所有机器都是centos 6, 64bit

我的 rpm-build 机器以一个运行 createrepo 的目录结束。

然后将 NFS 安装(只读)到 /rpmrepo/staging/ 子目录中的 rpm 存储库托管机器。/rpmrepo/staging 是一个 LVM 逻辑卷。

我(还没有,但在将来)测试 rpms,然后将暂存逻辑卷快照到挂载在 /rpmrepo/production/ 的卷。

到目前为止一切顺利,除了我发现的是之前和之后的 repodata 目录的内容不同,时间戳也是如此。rpm 文件 md5 总和似乎匹配。

其他事项:


diff /rpmrepo/*/inhouse/repodata/repomd.xml 
(stackexchange ate my diff output a little)
 revision 1344287496
 revision 1346188044

other.xml.gz 和 primary.xml.gz 的文件大小也略有不同,文件日期也是如此

-rw-r--r-- 1 root root 287 Aug 16 13:47 /rpmrepo/production/inhouse/repodata/other.xml.gz
-rw-r--r-- 1 nobody nobody 289 Aug 29 09:07 /rpmrepo/staging/inhouse/repodata/other.xml.gz

但据我所知,一切都没有改变,这是在拍摄快照后立即发生的。

LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
pd_rpms 存储 swi-aos- 10.00g st_rpms 0.00
-剪辑-

我制作了快照: lvcreate -L 10G -s -n pd_rpms /dev/store/st_rpms

有什么想法吗?我完全不知所措。我试过在做快照之前运行同步,但我不明白写时复制快照有何不同之处。

在我看来,暂存(之前)文件上的时间戳符合预期,但之后制作的文件上的时间戳是过去两周??

我想知道的一件事是,这是否与我随时间重复执行快照循环的方式有关。我卸载了 pd_rpms 快照,lvremove'ing 它,然后执行 lvcreate(与之前的名称相同,pd_rpms),然后重新安装它。这会导致这个问题吗?

编辑:我也试过以只读方式安装快照。还是没有变化。这台机器托管了许多 rpms 存储库,它们似乎都可以很好地快照,除了这个(内部存储库)。在 rpm 构建机器上,这是一个 svn 工作副本,因此其中有一个 .svn 目录,但除此之外我看不出它有什么特别之处。

linux
  • 1 个回答
  • 495 Views

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