Linux - パスワードのないユーザーの作成(ログイン時にパスワードプロンプトは不要)

Linux - パスワードのないユーザーの作成(ログイン時にパスワードプロンプトは不要)

パスワードを使用した後も、ユーザーがパスワードを持っていないという記事がたくさん見つかりましたpasswd -d。一部のシステムでは機能しますが、suパスワードを入力せずに権限のないアカウントからアクセスできますが、一部では機能しません。 nullとnullの両方を試しましたが、*次のいずれも機能しません。

lapsio@pi-car1:~ $ sudo useradd potato -p '*'
lapsio@pi-car1:~ $ su potato
Password: 
su: Authentication failure
lapsio@pi-car1:~ $ sudo passwd -d potato
passwd: password expiry information changed.
lapsio@pi-car1:~ $ su potato
Password: 
su: Authentication failure
lapsio@pi-car1:~ $

参考にしてください。いいえ言うパスワード(空の文字列ハッシュで設定可能)はいいいえアカウントロックについてもお話しください。私はPassword:プロンプトがまったく表示されないとは思わない。sugetty私はできます。今このアカウントにログインしてくださいパスワードは必要ありません別言します。古いシステムで動作するようです。この動作を制御できるシステムレベルの設定はありますか?

明確にするために、次のような動作を期待します。

lapsio@pi-car1:~ $ su potato
potato@pi-car1:~ $ #I'm potato user here, without being asked for password

ルートからの起動時に機能するのと似ていますが、su権限のないアカウントでも起動できるようにしたいです。そして、Arch liveCDのrootアカウントを使用しているかのように、suパスワードプロンプトなしでログインしてください。getty

はいわかりましたこれは悪いセキュリティ慣行であり、その結果を知っていますが、まだ何をすべきかを知りたいです。

答え1

PAM設定はsu通常にあり、/etc/pam.d/suこのディレクティブを使用して同じディレクトリにある他のファイルを参照できます@include。ある時点では、で始まり、auth言及する行がありますpam_unix.so。以前のリリースには、空のnullokパスワードを許可するオプションが含まれている可能性があります。最新のディストリビューションでは、通常、リストされているnullok_secureTTYデバイスの1つで「認証」するときにのみ空のパスワードを受け入れます/etc/securetty。また、このオプションの実装はnullok異なる場合があります。

suパスワードプロンプトなしで特定のアカウントへの明示的なアクセスを許可するには、次の行を追加します。

auth sufficient pam_succeed_if.so quiet_fail user = potato

メモ:user=間のスペースがpotato重要です! )

以前に適用してpam_unix.soこのsuコマンドのみを使用するには、行を間に配置する必要があります。/etc/pam.d/su 今後で始まるすべての@includeディレクティブまたは他の行auth

suしかし、このようなPAM構成を介してショートカットを作成することは、PAM構成がどのように機能するのかを最初に理解しておらず、少し危険です。あなたの指定されていないLinuxディストリビューション。使用前に慎重にテストしてください。

関連情報