Catégories
Tutos

Erreur 1069

Ces jours ci je voulais mettre un place un service sur mon Windows avec NSSM, très pratique au demeurant, mais je me suis heurté à un problème.

Le service réclame des droits d’admin, mais impossible de lui coller au cul mon mot de passe de session Windows. Je lui donnait le bon user, le bon mot de passe mais il ne voulais rien savoir, il y avait une erreur de logon du processus au démarrage, avec ce beau code d’erreur : Error 1069.

Et en fait, depuis un long moment déjà, j’utilise un MSA (Microsoft Account) pour me logger à ma session Windows, et pour plus de facilité, j’ai activé Microsoft Hello. Alors chez moi c’est soit avec un PIN, soit avec une reco digitale.

Et c’est là que se trouve la couille : Je n’ai plus rentré mon mot de passe Windows depuis des mois. Et il existe une règle de groupe (Group Policy) qui désactive la validité de votre mot de passe enregistré après 42 jours.

Voici donc comment régler ce problème, afin de pouvoir log votre service correctement, sans craindre l’erreur 1069.

Réactiver le login par mot de passe

Dans Settings -> Accounts -> Sign-in options, l’option « Password » ne m’était plus proposée, car en dessous j’avais coché la case « For improved security, only allow Windows Hello sign-in for Microsoft accounts on this device« .

J’ai donc désactivé l’option, fermé les settings puis réouvert : paf, l’option password était réapparu.

Désactiver l’expiration du mot de passe.

Ouvrez le Group Policy Editor (Executer puis, « gpedit.msc ») et

PS : Astuce, si vous êtes sur Windows 10 ou 11 et que vous voulez activer le Group Policy Editor, dans une invite de commande ouvert en Admin (important), entrez ces deux commandes une par une :

FOR %F IN ("%SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~*.mum") DO (DISM /Online /NoRestart /Add-Package:"%F")
FOR %F IN ("%SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~*.mum") DO (DISM /Online /NoRestart /Add-Package:"%F")

Bref, une fois le Group Policy Editor ouvert, allez dans

Computer Configuration -> Windows Settings -> Security Settings -> Account Policies -> Password Policy. 

Sur la droite vous aurez l’option « Maximum password age » qui est normalement à 42 jours, il faudra la mettre à 0, tout simplement.

Puis, on ne sait jamais, on va vérifier au passage que l’user a bien les droits de logon as service. Ca serait con quand même.

Toujours dans le même Group Policy Editor, allez dans

Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignement

Vérifiez que votre utilisateur est bien enregistré dans l’option « Log on as a service ».

Réactiver la validité du mot de passe

C’est la partie la plus simple. Déconnectez vous de votre session avec un bon logout des familles, et reconnectez vous pour cette fois ci avec votre mot de passe.

Et paf. La validité du mot de passe a été réactivé, et cette fois-ci, elle n’expirera plus. Le service en question ne m’a plus embêté et a bien accepté le login de mon compte Windows.

Catégories
Tutos

Installer un serveur FTP sur debian

Easy commandes pour easy life. Voici comment créer rapidement un serveur ftp sur debian sans docker (héhé ca aurait été la solution la plus facile pourtant)..

Ici, on va utiliser pure-ftpd pour sa simplicité de configuration.

Installation

sudo apt-get install pure-ftpd pure-ftpd-common

Passez root pour la suite de la configuration, ou rajoutez sudo au début de chaque commande, vous connaissez la chanson :

sudo su

Ensuite on va sécuriser un ptit peu en créant un groupe isolé pour lancer pure-ftpd

groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Désactivation de l’authentification par PAM

echo 'no' > /etc/pure-ftpd/conf/PAMAuthentication
echo 'yes' > /etc/pure-ftpd/conf/DontResolve
cd /etc/pure-ftpd/auth/ && ln -s ../conf/PureDB 50puredb

Création de notre premier user FTP

Pour la suite de l’exercice, on va créer un user nommé « painteau », dont le repertoire ftp racine sera « /home/painteau/ftp/ ». Adaptez au besoin.

On va créer le repertoire racine ftp de l’user, donner les droits au groupe ftp (et oui sinon ca va être dur d’y avoir accès) et enfin ajouter cet user dans la base de données de pure-ftpd

mkdir /home/painteau/ftp/
chown -R ftpuser:ftpgroup /home/painteau/ftp/
pure-pw useradd painteau -u ftpuser -g ftpgroup -d /home/painteau/ftp/

Vous serez alors invités à renseigner un mot de passe de votre choix pour l’accès ftp.

Pour vérifier que tout s’est bien passé :

cat /etc/pure-ftpd/pureftpd.passwd

Vous devriez alors voir votre user suivi du hash de votre mot de passe choisi.

C’est ok ? Plus qu’à finaliser la création de l’user en l’intégrant maintenant à la base de données pure-ftpd

pure-pw mkdb

Une fois terminé, on restart le deamon ftp pour prendre en compte tout notre bazar :

/etc/init.d/pure-ftpd restart

Et voilà c’est terminé !

On peut aller un peu plus loin, avec quelques commandes intéressantes, comme par exemple check la liste des user avec :

pure-pw list

changer le mot de passe d’un user existant avec :

pure-pw passwd painteau

ou simplement le delete :

pure-pw userdel painteau
Catégories
Tutos

Add Portainer Edge Agent to Synology

To add the Portainer Edge Agent to your synology NAS

docker run -d \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /volume1/@docker/volumes:/var/lib/docker/volumes \
-v /:/host \
-v portainer_agent_data:/data \
--restart always \
-e EDGE=1 \
-e EDGE_ID=YOURSECRETID \
-e EDGE_KEY=YOURSECRETKEY \
-e CAP_HOST_MANAGEMENT=1 \
--name portainer_edge_agent \
portainer/agent
Catégories
Tutos

Add Portainer Edge Agent to Docker Desktop Windows 11

If you want to connect your portainer to a Portainer Server, you will have to adapt your code to windows

docker run -d -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes --restart always -e EDGE=1 -e EDGE_ID=YOURID -e EDGE_KEY=YOURKEY -e EDGE_INSECURE_POLL=1 --name portainer_edge_agent portainer/agent:latest
Catégories
Tutos

Installer un serveur Jamulus sur Debian 10

Des semaines de confinement ne vous empêcherons plus de jammer avec vos collègues musiciens. Jamulus est un petit soft vous permettant de jouer avec eux (ou d’autre musiciens inconnus) avec une latence faible, tel un discord optimisé latence. Beaucoup de serveurs sont publics, mais peut-être voulez vous garder votre intimité ?

Alors même si un petit serveur Jamulus est rapide à lancer sous Windows (il est inclus dans le setup), peut-être certains d’entre vous souhaitent un serveur tournant 24h/24 sur un Linux, ou tout simplement ne pas utiliser la connexion, squattée par 2 enfants en mal de Disney+.

Voici donc un petit tuto pour vous expliquer comment installer un serveur sur une Debian 10

Préparatifs

Alors il va falloir vous connecter en root pour installer des packages, puis créer un utilisateur, le rajouter au groupe des sudoers, puis vous loger avec. Si vous avez un autre utilisateur, n’hésitez pas à l’utiliser et modifier le tuto en conséquence 🙂

apt-get update
apt-get upgrade
apt-get install build-essential gcc libssl-dev 
apt-get install make libpcre3-dev git 
apt-get install jackd qjackctl openjdk-8-jdk fakeroot

adduser jamjam
sudo adduser jamjam sudo
su - jamjam
sudo whoami

Setup

Jusque là, rien de nouveau et de très compliqué. Lançons donc maintenant le cœur du sujet. Toujours log avec cet utilisateur :

mkdir /home/jamjam/jam && cd /home/jamjam/jam
git clone https://github.com/corrados/jamulus
cd jamulus/distributions/ && ./build-debian-package.sh
cd /home/jamjam/jam/ && ls

Il faut à ce moment check votre version de Jamulus. La mienne est une 3.4.7 à l’heure où j’écris ces mots. Du coup installons le fichier .deb :

sudo dpkg --install jamulus_3.4.7_amd64.deb
sudo apt-get install -f
sudo dpkg --install jamulus_3.4.7_amd64.deb

Alors ici j’ai TOUJOURS du le faire 2 fois car la première il me mettait certains paquets en erreur. N’hésitez donc pas à le refaire après le apt-get install -f si il a généré une erreur.

Maintenant on veut lancer le service au démarrage, puis lancer le dit service. Repassez root, puis :

sudo cp /home/jamjam/jam/jamulus/distributions/jamulus-server.service /usr/lib/systemd/system/jamulus-server.service
systemctl enable jamulus-server.service
systemctl start jamulus-server.service

Voilà ! Le serveur doit être opérationnel ! Il vous suffit d’ouvrir le port 22124 UDP vers votre serveur si vous êtes derrière une box ou un routeur, ou a rajouter ca dans vos iptables.

Vous pouvez delete l’user que on a créé, et les dossiers téléchargés. Enjoy !

Catégories
Tutos

Ajouter la prise en charge du RTMPS à un serveur NGINX RTMP

Depuis l’abandon par Facebook Live du RTMP pour son homologue sécurisé RTMPS, le module RTMP de NGINX ne fonctionne plus pour renvoyer son flux vidéo sur Facebook. Et Twitter va peut-être suivre la même voie….

Il existe un moyen très simple de créer un proxy sécurisé sur son serveur Debian ou Windows afin d’encapsuler les données dans le protocole sécurisé, puis de le renvoyer vers les serveurs Facebook ou Twitter. Et voici comment faire.

L’idée est d’installer stunnel (https://www.stunnel.org/downloads.html sur Windows):

apt-get install stunnel4 -y

Sur linux, il va falloir l’activer en modifiant le fichier « /etc/default/stunnel4 » :

vim /etc/default/stunnel4

Ajoutez ou modifier la ligne :

ENABLE=1

Ensuite, créez / modifiez le fichier stunnel.conf (sur Windows il se trouve dans le dossier C:\Program Files (x86)\stunnel\config)

vim /etc/stunnel/stunnel.conf

Ajoutez y cela :

pid = /var/run/stunnel4/stunnel.pid
output = /var/log/stunnel4/stunnel.log

setuid = stunnel4
setgid = stunnel4

socket = r:TCP_NODELAY=1
socket = l:TCP_NODELAY=1

debug = 4

[fb-live]
client = yes
accept = 1936
connect = live-api-s.facebook.com:443
verifyChain = no

[twitter]
client = yes
accept = 1937
connect = fr.pscp.tv:443
verifyChain = no

Pour Windows, il suffit juste de rajouter cela :

[fb-live]
client = yes
accept = 1936
connect = live-api-s.facebook.com:443
verifyChain = no

[twitter]
client = yes
accept = 1937
connect = fr.pscp.tv:443
verifyChain = no

Enregistrez puis faites en sorte de démarrer stunnel au démarrage puis redémarrez le service :

systemctl enable stunnel4.service
systemctl restart stunnel4.service

Pour Windows, dans le dossier « stunnel » du menu Démarrage, cliquez sur « Service Install ». Le service Windows se chargera alors au démarrage.

Voilà ! Il n’y a plus qu’à changer votre fichier de configuration de NGINX ! Voici quelques exemples d’applications :

application live_facebook {
live on;
record off;
push rtmp://127.0.0.1:1936/rtmp/VOTRE_KEY_FACEBOOK;
}
application live_twitter {
live on;
record off;
push rtmp://127.0.0.1:1937/x/VOTRE_KEY_TWITTER;
}
Catégories
Tutos

Mettre à jour automatiquement votre serveur Debian 10

Allez, aujourd’hui petit tuto pour mettre à jour ULTRA simplement les programmes de votre serveur Debian 10.

A n’utiliser QUE sur les serveur hors production, car qui dit mise à jour dit : GROSSE MERDE QUI PEUT ARRIVER AU MAUVAIS MOMENT !

La commande est simple :

apt-get install cron-apt

Vous pouvez passer en mode full-update, avec la commande :

echo "upgrade -y -o APT::Get::Show-Upgraded=true" > /etc/cron-apt/action.d/4-YesUpgrade
Catégories
Tutos

Utiliser le compte root en SSH sous Debian 10 Buster

L’utilisation du SSH en root est déconseillée. Mais si comme moi vous avez un serveur à la maison pour votre usage perso, rien en vous empêche de vous simplifier la tâche en activant l’accès SSH pour l’utilisateur root.

Pour cela rien de plus simple. Ouvrez le fichier sshd_config :

vim /etc/ssh/sshd_config

Puis décommentez la ligne :

#PermitRootLogin XXXXXXXXX

pour pouvoir la remplacer par :

PermitRootLogin yes

Sauvez, quittez puis redémarrez le service SSH :

/etc/init.d/ssh restart

A noter : cette astuce fonctionne pour Debian 9 aussi 🙂

Catégories
Tutos

Comment supprimer le renouvellement d’un certificat SSL Let’s Encrypt

Et bien voilà le premier billet tuto / astuce !

Hier j’ai du réinstaller ce blog et j’ai déménagé de serveur. Il me fallait donc refaire des certificats SSL sur le nouveau serveur, mais surtout, supprimer le renouvellement prochain depuis mon ancien serveur.

Pour cela j’ai donc utilisé la commande suivante :

certbot delete --cert-name MyDomain.tld

Pas besoin de revoke préalablement, le script s’en charge !