制約を変更せずにsudoを使用してパスワード制約に違反するパスワードを設定する方法

制約を変更せずにsudoを使用してパスワード制約に違反するパスワードを設定する方法

他の人が共有しているコンピュータにrootアクセス権があります。パスワード制限がとんでもないと思います。単語以外の文字の使用と順序を強制する方法があまりにも厳しく、パスワードを分割するために特殊文字を使い続ける必要があるため、パスワード入力を遅くします(私が「I」を入力しても)。特殊文字の場合、いつも少しゆっくりと進んで流れを妨げているようです。)制限なく長くて安全なパスワードを作成できます。ルートアクセスを使用してパスワードルールをバイパスして、私が好きで素早く入力できるパスワードを作成したいと思います。

ただし、パスワード制限を直接変更したくありません。またはより正確には、する変更したいのは愚かで、実際に書かれているようにセキュリティを追加しないと思いますが、これは上位機関によって規制されているので変更しないでください。

システムの他の人の制約を変更せずに、これらの制限に違反するパスワードを設定するために私のルートアクセスを利用する方法はありますか?

答え1

試してみてくださいprintf "%s\n" 'username:encryptedpassword' | sudo chpasswd -e。これにより、PAM によって実行されるパスワードの確認をバイパスできます。

mkpasswdmuruの例のように、パスワードは事前暗号化する必要があります。たとえば、

p=$(mkpasswd -m sha-512 'mysupersekretpassword')
printf "%s:%s\n" 'username' "$p" | sudo chpasswd -e

printfここでは、特定の文字シーケンスの出力を解釈して変更するechoので、代わりに使用します。echo可能\t、、、(3桁の8進数)など、暗号化されたパスワードで表示されます\n\nnn

または、コマンドを使用しmkpasswd、コマンドの前にスペースを追加して履歴に保存されないようにします。 Bashを使用していない場合は、シェルに適した方法を使用してください。.bash_historyexport HISTCONTROL=ignorespacep=$(...)

答え2

管理者として手動でパスワードを変更できます。ログインして次の操作を行います。

入力する:

# passwd whitecat

出力は次のようになります。

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

答え3

より安全な別の方法があるかもしれませんが、1つの方法は、必要な/etc/shadowパスワードの暗号化された形式を取得することです。

$ mkpasswd -m sha-512
Password: 
$6$zGvnR7mWtj59LfpO$t/VMNTbqyp9ykVMWUhsXghVvJ15iGDiFwvhNYaJIbBy8iM9E/vHSTmbBa0iotCLBA.MGBM949tyoxrjX81Qkg1

foo気になる方のために申し上げると、これは。

編集する/etc/shadow

sudo vipw -s

ユーザーを見つけて、現在のパスワードを生成されたパスワードに置き換えて保存して終了します。めちゃくちゃにすれば地獄になるので、sudo他の端末でセッションを続けてください。

関連情報