新的 CentOS 6 带有 Upstart,取代了 init。我正在尝试将 /etc/inittab 文件转换为新的 upstart 格式。这个特定的服务器只有 15 个左右的 inittab 条目,但是,其他服务器有 >30 个。我们主要想要 inittab 和 upstart 的“重生”部分。但是,我一直在阅读我能找到的所有 upstart 文档(几乎全部基于 Ubuntu,而且显然是在较旧版本的 upstart 上)并且一无所获。我可以创建一个配置文件(我们称之为 /etc/init/test.conf)。该文件包含此(注意,匿名)
start on runlevel [345]
stop on starting shutdown
respawn
#Comment about what it does
exec su -c "/usr/bin/ssh -2CNL 11111:127.0.0.1:11111 10.10.1.1" username
Run Code Online (Sandbox Code Playgroud)
如果我发出一个initctl reload-configuration
工作被认可。我可以通过打电话来启动它,initctl start test
工作就会开始。
但是,这在重新启动时不起作用,只能手动进行。我尝试将启动命令修改为以下内容,但都没有运气
start on started
start on (local-filesystems and net-device-up IFACE!=lo)
start on net-device-up IFACE=eth0
Run Code Online (Sandbox Code Playgroud)
以及我在不同示例中提到的十几种其他方式。似乎没有人启动脚本。(test.conf 和这个文件夹中的所有其他文件一样,由 root 拥有,并且是 644)
我错过了一些明显的东西吗?
我正在使用 CentOS-ds(基于 Redhat-DS 和 389 目录服务器)。
我有 LDAP 设置,并且正在对用户进行身份验证(还有 Sudo,这是一个方便的功能!)。甚至 passwd 也能很好地更改存储在 Ldap 中的密码。但是,我有一个小问题。登录服务器后,如何强制所有用户帐户创建新密码?我会这样做的正常方式:
chage -d 0 username
Run Code Online (Sandbox Code Playgroud)
似乎不是“ldap-ified”。如何强制人们在下次 (ssh) 登录时创建新密码?我需要创建用户帐户,我真的不希望人们保留我为他们设置的密码。
*edit - 我已将 LDAP 服务器设置为在重置密码时强制更改密码。但是,我似乎无法找到一种以正确方式“重置”密码以触发此操作的方法。(我所能找到的只是以目录管理员身份登录并更改他们的密码)*edit2。由于我们将在这部分完成后将许多机器移至 LDAP,因此我编写了一个脚本以以 root 身份运行以设置 LDAP 身份验证。也许我在这里遗漏了什么?(编辑出服务器和基于。)
#!/bin/sh
#
authconfig --enableldap --enableldapauth --enablemkhomedir --ldapserver=<server1>,<server2> --ldapbasedn="<basedn>" --update
echo 'sudoers: files ldap' >> /etc/nsswitch.conf
echo 'base <basedn>
timelimit 120
bind_policy soft
bind_timelimit 120
idle_timelimit 3600
uri ldap://<server1>/
uri ldap://<server2>/
ssl no
tls_cacertdir /etc/openldap/cacerts
pam_password md5
sudoers_base ou=SUDOers,<basedn>
' > /etc/ldap.conf
Run Code Online (Sandbox Code Playgroud)