fix: sudo without password for admins
5.5 KiB
Rôle Ansible : Yunohost Configuration
Configurez Yunohost avec Ansible !
Prérequis
Yunohost doit déjà être installé sur votre serveur.
Variables du rôle
Les variables par défaut sont disponibles dans default/main.yml
cependant il est possible de les surcharger selon vos besoins.
Configuration d'un relais SMTP
ynh_smtp_relay:
host: smtp.domain.tld
port: 25
user: user1
password: Pa$$w0rd
Yunohost possède son propre serveur SMTP natif mais il est aussi possible de configurer Yunohost pour qu'il utilise un relais SMTP à la place.
Pour faire cela, créez la variable ynh_smtp_relay
pour y mettre vos propres valeurs. Vous pouvez en apprendre plus sur les relais SMTP ici.
Configuration des mises à jour
# Autoupdate Yunohost and its apps
ynh_autoupdate:
scheduled: True
special_time: "daily" #Choices are [annually,daily,hourly,monthly,reboot,weekly,yearly]
apps: True
system: True
dest_script: "/usr/bin/"
Une tâche cron peut être mise en place pour automatiser la vérification des mises à jour système et applications suivant la périodicité de votre choix.
ynh_autoupdate.scheduled
: activez la tâche cron en mettant la valeur àTrue
.ynh_autoupdate.special_time
: est obligatoire. Elle permet de préciser quand vous souhaitez que cette tâche soit exécutée. Valeurs possibles : (annually
,daily
,hourly
,monthly
,reboot
,weekly
,yearly
). Pour en savoir plus sur les special times, cliquez ici.ynh_autoupdate.apps
: est obligatoire. Activez la mise à jour automatique des applications Yunohost en mettant la valeur àTrue
.ynh_autoupdate.system
: est obligatoire. Activez la mise à jour automatique du système Yunohost en mettant la valeur àTrue
.ynh_autoupdate.dest_script
: c'est le chemin du répertoire où le script de mise à jour sera installé sur le serveur. La valeur par défaut est/usr/local/bin
. Le script s'appelleynh_autoupdate.sh
.
Si des mises à jour sont disponibles, elles sont faites automatiquement. En cas de problème suite à la mise à jour d'une application, vous pouvez lire les logs qui sont disponibles ici /var/log/yunohost/categories/operation
. Vous avez aussi la possibilité de revenir à la version précédente car Yunohost fait toujours une sauvegarde automatique d'une application lorsqu'elle est mise à jour.
Pour en savoir plus sur le fonctionnement des mises à jour dans Yunohost vous pouvez vous rendre ici. Le changelog des versions de Yunohost est aussi disponible ici.
Options de YunoHost
ynh_settings:
security.ssh.port: "22"
security.password.passwordless_sudo: "true"
Modification du port SSH
Parmi les paramètres proposés dans YunoHost, il est possible de modifier le port SSH à l'aide de la variable security.ssh.port
. En modifiant la variable, YunoHost va effectuer les changements appropriés pour fail2ban et le firewall interne de YunoHost.
Si votre instance YunoHost est derrière un firewall applicatif ou propre à votre fournisseur cloud, il faudra également ouvrir le groupe de sécurité approprié et ne pas oublier de renseigner le port SSH utilisé (par exemple ssh -p 812 username@hostname
). Vous pouvez également externaliser cette configuration vers un fichier de configuration SSH (plus d'infos ici). Vous pouvez enfin indiquer cette configuration dans votre fichier d'inventaire sinon Ansible ne pourra plus se connecter à votre serveur. (plus d'infos ici).
Utilisation de sudo sans mot de passe
À partir de Yunohost 11.1, un nouveau groupe d'administrateurs est créé sur l'instance. Il s'agit d'un groupe Unix qui est intégré à YunoHost et son LDAP. Tous les utilisateurs dans ce groupe auront accès à la console d'administration en ligne YunoHost mais pourront aussi se connecter en SSH et utiliser la commande sudo (pour prendre temporairement les droits root).
Par défaut, l'utilisateur doit taper son mot de passe pour utiliser la commande sudo mais il est possible de désactiver cette vérification depuis l'interface web (outils
> Paramètres de YunoHost
> Permettre aux administrateurs d'utiliser 'sudo' sans retaper leur mot de passe
) ou en modifiant la variable security.password.passwordless_sudo
à true
dans votre fichier de variables Ansible. Plus d'informations disponibles ici.
Paramètres supplémentaires
Vous pouvez fournir des paramètres supplémentaires à la variable ynh_settings
. Pour en savoir plus, utilisez la commande yunohost settings list
.
Dépendances
Aucune.
Exemple de Playbook
---
- name: Configure Yunohost on Debian Server
hosts: all
become: True
roles:
- lydra.yunohost.ynh_config
License
ansible-yunohost est maintenu par Lydra et publié sous la licence GPL3.