我还想保留手动编辑主机文件的能力,至少前 10 行。
#Public IP's - eth0
192.168.1.103 front-01
192.168.1.106 front-02
#Private IP's - eth1
192.169.40.201 priv0-0
192.169.40.202 priv0-1
192.169.40.207 priv1-0
192.169.40.208 priv1-1
#Virtual IP's - eth0:1
192.169.50.202 vip-01
192.169.50.205 vip-02
Run Code Online (Sandbox Code Playgroud)
将这些主机条目放在 /etc/hosts 的底部将是完美的。做这个的最好方式是什么?有没有比编写 8 个主机行清单更好的方法?
# create a simple hostname and ip host entry
host { 'front-01':
ip => '192.168.1.103',
}
Run Code Online (Sandbox Code Playgroud)
可能有些服务器组在其 /etc/hosts 中需要不同的 IP 的 /hostnames。我会使用模板,但这意味着人们不能再在他们的 /etc/hosts 中进行手动更改,因为他们会被模板覆盖。
在 Linux 中,init 6 命令先优雅地重新启动运行所有 K* 关闭脚本的系统,然后再重新启动。reboot 命令可以非常快速地重新启动。它不执行任何终止脚本,而只是卸载文件系统并重新启动系统。重启命令更有力。
来源:http : //www.vreference.com/2009/09/23/reboot-is-not-the-same-as-init-6/
对于 Unix 系统作为 Solaris,这似乎是正确的,但我一直将以下 3 个命令视为同义词,因为它们似乎都在卸载文件系统并重新启动服务器之前关闭服务:
shutdown -r now
reboot
init 6
Run Code Online (Sandbox Code Playgroud)
有人能说出这些命令之间的区别吗?
动态清单的文档提到了很多动态清单,但没有提到 VMware。
我非常喜欢 Amazon EC2 中标记服务器的功能,并希望在我们的 VMware 环境中重新创建一个类似的系统。
获取 vSphere 中所有带有“environment=testing”和“application=helloworld”标签的服务器,并在它们上运行这个 Ansible playbook。
我们将 LDAP 服务器与 Solaris 和 RHEL 服务器一起使用,并计划将更多服务器迁移到 RHEL。但是,我们在所有 Red Hat 服务器上都遇到了 LDAP 问题。
当我键入“getent passwd”时,将显示整个 LDAP 服务器上的所有用户,而不仅仅是有权访问该服务器的用户。通常大约有 10 到 50 人可以访问服务器,因此 Solaris 会打印出这个用户列表,而 Red Hat 会直接打印出 LDAP 中存在的所有用户的列表(大约 650 个)。
我更喜欢 Solaris 上的行为,其中只有有权访问服务器的用户才会以“getent passwd”列出。
如何将 RHEL 配置为仅列出有权访问服务器的用户?
为什么重新启动网络无法在我的服务器上成功重新启动 eth0?我的 CentOS 虚拟机都没有这个问题。
root@living:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:91:00:01
inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe91:1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9354 errors:0 dropped:0 overruns:0 frame:0
TX packets:4835 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1052796 (1.0 MiB) TX bytes:1129902 (1.0 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:287 errors:0 dropped:0 overruns:0 frame:0
TX packets:287 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:23280 (22.7 …Run Code Online (Sandbox Code Playgroud) 我想通过对机器进行分组,例如 RH5 和 RH6 机器而不是为所有 RH5 和 RH6 服务器添加多行包含,在 nodes.pp 中应用“DRY”(不要重复自己)原则。
tst-01 上的 Puppet 在使用时可以正常工作:
node "tst-01" inherits basenode {
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用此配置将服务器组织成组时,它会中断:
node "tst-01" inherits redhat6server {
Run Code Online (Sandbox Code Playgroud)
“继承 redhat6server”的错误是:
err: Could not retrieve catalog; skipping run
[root@tst-01 ~]# puppet agent --test
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to parse template ldap/access.conf: Could not find value for 'netgroup' at 124:/etc/puppet/modules/ldap/templates/access.conf at /etc/puppet/modules/ldap/manifests/init.pp:82 on node tst-01.tst.it.test.com
warning: Not using cache on failed catalog
err: Could not …Run Code Online (Sandbox Code Playgroud) 我们有 50 台 RH-5 机器和 70 台 RH-6 机器。我正在考虑决定我们应该为 LDAP 使用什么:
SSSD 可用于两个版本(RHEL5 - sssd 1.5 和 RHEL6 - sssd 1.9+)
最后一个选项意味着 RHEL5 机器将运行 sssd 1.5。
我更喜欢尽可能具有相同软件和配置的环境,除非人们说 sssd 对于 RH-6 来说确实更好,而 nscd/nslcd 对于 RH-5 来说确实更好。
最好的选择是什么?
[root@tst-01 home]# ls -Z
drwxr-xr-x. ujjain users system_u:object_r:home_root_t:s0 ujjain
drwxr-xr-x. johndoe users system_u:object_r:home_root_t:s0 johndoe
Run Code Online (Sandbox Code Playgroud)
selinux 上下文应该是 object_r:user_home_dir_t。
[root@tst-01 ~]# sesearch -T -t home_root_t
Found 10 semantic te rules:
type_transition oddjob_mkhomedir_t home_root_t : dir user_home_dir_t;
type_transition automount_t home_root_t : dir automount_tmp_t;
type_transition lsassd_t home_root_t : dir user_home_dir_t;
type_transition useradd_t home_root_t : dir user_home_dir_t;
type_transition firstboot_t home_root_t : dir user_home_dir_t;
type_transition smbd_t home_root_t : dir user_home_dir_t;
type_transition quota_t home_root_t : file quota_db_t;
type_transition sysadm_t home_root_t : dir user_home_dir_t;
type_transition cups_pdf_t home_root_t : …Run Code Online (Sandbox Code Playgroud) [root@tst-01 ~]# rpm -qa |grep vmware
vmware-tools-libraries-nox-8.6.0-2.x86_64
vmware-tools-foundation-8.6.0-4.x86_64
vmware-tools-libraries-x-8.6.0-2.x86_64
[root@tst-01 ~]# ps aux |grep vmware
root 6615 0.0 0.0 103300 840 pts/2 S+ 15:48 0:00 grep vmware
[root@tst-01 ~]# locate vmware
/etc/vmware-tools
/etc/selinux/targeted/modules/active/modules/vmware.pp
/etc/vmware-tools/locations
/lib/modules/2.6.32-220.4.2.el6.x86_64/kernel/drivers/misc/vmware_balloon.ko
/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/misc/vmware_balloon.ko
/usr/lib/vmware-tools
/usr/lib/python2.6/site-packages/sos/plugins/vmware.py
/usr/lib/python2.6/site-packages/sos/plugins/vmware.pyc
/usr/lib/python2.6/site-packages/sos/plugins/vmware.pyo
/usr/lib/vmware-tools/bin
/usr/lib/vmware-tools/dsp
/usr/lib/vmware-tools/lib
/usr/lib/vmware-tools/libconf
/usr/lib/vmware-tools/sbin
/usr/lib/vmware-tools/xorg
/usr/lib/vmware-tools/bin/configure-gtk.sh
/usr/lib/vmware-tools/lib/libXau.so.6
/usr/lib/vmware-tools/lib/libXcomposite.so.1
/usr/lib/vmware-tools/lib/libXcursor.so.1
/usr/lib/vmware-tools/lib/libXdamage.so.1
/usr/lib/vmware-tools/lib/libXdmcp.so.6
/usr/lib/vmware-tools/lib/libXfixes.so.3
/usr/lib/vmware-tools/lib/libXft.so.2
/usr/lib/vmware-tools/lib/libXinerama.so.1
/usr/lib/vmware-tools/lib/libXrandr.so.2
/usr/lib/vmware-tools/lib/libXrender.so.1
/usr/lib/vmware-tools/lib/libXss.so.1
/usr/lib/vmware-tools/lib/libart_lgpl_2.so.2
/usr/lib/vmware-tools/lib/libatk-1.0.so.0
/usr/lib/vmware-tools/lib/libatkmm-1.6.so.1
/usr/lib/vmware-tools/lib/libbonobo-2.so.0
/usr/lib/vmware-tools/lib/libbonobo-activation.so.4
/usr/lib/vmware-tools/lib/libcairo.so.2
/usr/lib/vmware-tools/lib/libcairomm-1.0.so.1
/usr/lib/vmware-tools/lib/libcrypto.so.0.9.8
/usr/lib/vmware-tools/lib/libdnet.so.1
/usr/lib/vmware-tools/lib/libexpat.so.0
/usr/lib/vmware-tools/lib/libfontconfig.so.1
/usr/lib/vmware-tools/lib/libfreetype.so.6
/usr/lib/vmware-tools/lib/libfuse.so.2
/usr/lib/vmware-tools/lib/libgailutil.so.18
/usr/lib/vmware-tools/lib/libgcc_s.so.1
/usr/lib/vmware-tools/lib/libgdk-x11-2.0.so.0
/usr/lib/vmware-tools/lib/libgdk_pixbuf-2.0.so.0
/usr/lib/vmware-tools/lib/libgdk_pixbuf_xlib-2.0.so.0
/usr/lib/vmware-tools/lib/libgdkmm-2.4.so.1
/usr/lib/vmware-tools/lib/libgio-2.0.so.0
/usr/lib/vmware-tools/lib/libgiomm-2.4.so.1
/usr/lib/vmware-tools/lib/libgksu2.so.0 …Run Code Online (Sandbox Code Playgroud) 我们有一个开发人员必须为一个环境制作 3 个 Puppet 模块。我希望他能够编写他的 3 个模块。
我们目前编写自己的模块,他是另一个部门的第一个必须编写模块的人。我们使用 root 访问权限来编写/编辑我们的模块,但我们不想给他 root 访问权限。
授予他制作/编辑他的 3 个模块的权利的最佳方法是什么?我们使用 Puppet 3.2.4 和 Red Hat Linux 6.4。
redhat ×5
puppet ×3
rhel6 ×3
ldap ×2
ansible ×1
centos ×1
debian ×1
linux ×1
networking ×1
nss ×1
openldap ×1
pam ×1
pam-ldap ×1
permissions ×1
selinux ×1
shutdown ×1
sssd ×1
vmware-esxi ×1
vmware-tools ×1