From 2a812e0aec1b0bd0ca7c746e4de422a1cb53ac36 Mon Sep 17 00:00:00 2001 From: kload Date: Tue, 29 Sep 2015 06:15:01 -0400 Subject: [PATCH] [enh] Add nslcd conf regen script --- data/hooks/conf_regen/06-slapd | 2 + data/hooks/conf_regen/09-nslcd | 27 +++++++++ data/templates/nslcd/nslcd.conf | 1 - data/templates/ssh/sshd_config-ipv4 | 93 ----------------------------- lib/yunohost/service.py | 4 ++ 5 files changed, 33 insertions(+), 94 deletions(-) create mode 100644 data/hooks/conf_regen/09-nslcd delete mode 100644 data/templates/ssh/sshd_config-ipv4 diff --git a/data/hooks/conf_regen/06-slapd b/data/hooks/conf_regen/06-slapd index 05fd81728..ccc418ddc 100644 --- a/data/hooks/conf_regen/06-slapd +++ b/data/hooks/conf_regen/06-slapd @@ -26,6 +26,8 @@ safe_copy slapd.default /etc/default/slapd version=$(sed 's/\..*//' /etc/debian_version) if [[ "$version" == '8' ]]; then sudo sed -i "s/ hdb/ mdb/g" slapd.conf + sudo sed -i "s/back_hdb/back_mdb/g" slapd.conf + sudo sed -i "s/dbconfig set_/#dbconfig set_/g" slapd.conf fi safe_copy slapd.conf /etc/ldap/slapd.conf diff --git a/data/hooks/conf_regen/09-nslcd b/data/hooks/conf_regen/09-nslcd new file mode 100644 index 000000000..9356eec47 --- /dev/null +++ b/data/hooks/conf_regen/09-nslcd @@ -0,0 +1,27 @@ +#!/bin/bash +set -e + +force=$1 + +function safe_copy () { + if [ $force ]; then + sudo yunohost service safecopy \ + -s nslcd \ + $1 $2 \ + --force + else + sudo yunohost service safecopy \ + -s nslcd \ + $1 $2 + fi +} + +cd /usr/share/yunohost/templates/nslcd + +safe_copy nslcd.conf /etc/nslcd.conf + +# Fix: Add a blank line at the end of the file +# to avoid nscld restart failure +echo -e "\n" | sudo tee -a /etc/nslcd.conf + +sudo service nslcd restart diff --git a/data/templates/nslcd/nslcd.conf b/data/templates/nslcd/nslcd.conf index b2daf777c..9774613f4 100644 --- a/data/templates/nslcd/nslcd.conf +++ b/data/templates/nslcd/nslcd.conf @@ -1,4 +1,3 @@ -root@65ba01d0c078:/usr/share/yunohost/yunohost-config/slapd# cat /etc/nslcd.conf # /etc/nslcd.conf # nslcd configuration file. See nslcd.conf(5) # for details. diff --git a/data/templates/ssh/sshd_config-ipv4 b/data/templates/ssh/sshd_config-ipv4 deleted file mode 100644 index 1545b6079..000000000 --- a/data/templates/ssh/sshd_config-ipv4 +++ /dev/null @@ -1,93 +0,0 @@ -# Package generated configuration file -# See the sshd_config(5) manpage for details - -# What ports, IPs and protocols we listen for -Port 22 -# Use these options to restrict which interfaces/protocols sshd will bind to -#ListenAddress :: -ListenAddress 0.0.0.0 -Protocol 2 -# HostKeys for protocol version 2 -HostKey /etc/ssh/ssh_host_rsa_key -HostKey /etc/ssh/ssh_host_dsa_key -#Privilege Separation is turned on for security -UsePrivilegeSeparation yes - -# Lifetime and size of ephemeral version 1 server key -KeyRegenerationInterval 3600 -ServerKeyBits 768 - -# Logging -SyslogFacility AUTH -LogLevel INFO - -# Authentication: -LoginGraceTime 120 -PermitRootLogin no -StrictModes yes - -RSAAuthentication yes -PubkeyAuthentication yes -#AuthorizedKeysFile %h/.ssh/authorized_keys - -# Don't read the user's ~/.rhosts and ~/.shosts files -IgnoreRhosts yes -# For this to work you will also need host keys in /etc/ssh_known_hosts -RhostsRSAAuthentication no -# similar for protocol version 2 -HostbasedAuthentication no -# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication -#IgnoreUserKnownHosts yes - -# To enable empty passwords, change to yes (NOT RECOMMENDED) -PermitEmptyPasswords no - -# Change to yes to enable challenge-response passwords (beware issues with -# some PAM modules and threads) -ChallengeResponseAuthentication no - -# Change to no to disable tunnelled clear text passwords -#PasswordAuthentication yes - -# Kerberos options -#KerberosAuthentication no -#KerberosGetAFSToken no -#KerberosOrLocalPasswd yes -#KerberosTicketCleanup yes - -# GSSAPI options -#GSSAPIAuthentication no -#GSSAPICleanupCredentials yes - -X11Forwarding yes -X11DisplayOffset 10 -PrintMotd no -PrintLastLog yes -TCPKeepAlive yes -#UseLogin no - -#MaxStartups 10:30:60 -Banner /etc/issue.net - -# Allow client to pass locale environment variables -AcceptEnv LANG LC_* - -Subsystem sftp internal-sftp - -# Set this to 'yes' to enable PAM authentication, account processing, -# and session processing. If this is enabled, PAM authentication will -# be allowed through the ChallengeResponseAuthentication and -# PasswordAuthentication. Depending on your PAM configuration, -# PAM authentication via ChallengeResponseAuthentication may bypass -# the setting of "PermitRootLogin without-password". -# If you just want the PAM account and session checks to run without -# PAM authentication, then enable this but set PasswordAuthentication -# and ChallengeResponseAuthentication to 'no'. -UsePAM yes -AllowUsers admin - -Match User sftpusers - ForceCommand internal-sftp - AllowTcpForwarding no - GatewayPorts no - X11Forwarding no diff --git a/lib/yunohost/service.py b/lib/yunohost/service.py index 9fd264f65..52fe6ad37 100644 --- a/lib/yunohost/service.py +++ b/lib/yunohost/service.py @@ -529,6 +529,10 @@ def service_safecopy(service, new_conf_file, conf_file, force=False): msignals.display(m18n.n('service_add_configuration', conf_file), 'info') + # Add the service if it does not exist + if service not in services.keys(): + services[service] = {} + # Retrieve hashes if not 'conffiles' in services[service]: services[service]['conffiles'] = {}