パスワードを使用した後も、ユーザーがパスワードを持っていないという記事がたくさん見つかりました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:
プロンプトがまったく表示されないとは思わない。su
getty
私はできます。今このアカウントにログインしてくださいパスワードは必要ありません別言します。古いシステムで動作するようです。この動作を制御できるシステムレベルの設定はありますか?
明確にするために、次のような動作を期待します。
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_secure
TTYデバイスの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ディストリビューション。使用前に慎重にテストしてください。