コマンドを使用してユーザーを作成しました--disabled-login
。次に、ユーザーとしてログインしていくつかの点をテストできるようにパスワードを変更する必要があります。今すぐログインを無効にしたいのですが、次の記事を見ました。
`adduser --disabled-login`は何をしますか?
だからを使ってsudo passwd user
から設定をしました!
。ところでログインしようとするとパスワードを使ってログインになりました!
。では、再び無効にする方法は?
私はこれを*
パスワードとしても試しました。
答え1
私はあなたの混乱がそれが何をしているのか理解していないので起こると思います!
。
暗号化されたパスワードはに保存されます/etc/shadow
。たとえば、新しいユーザーを作成してnew-user
パスワードを割り当てると、12345678
次の項目が表示されます。
$ sudo cat /etc/shadow
(...)
new-user:$6$zVbJcpZE$Bqnxr5cDkwjKOE06iAZu7/qIuH9UGXex28TU/aD0osft9DfdPVzcVwq2j410YxoPlZR310.heZyxaQq4iwWy9.:18038:0:99999:7:::
new-user
これでパスワードを実行しsu new-user
て入力して
12345678
切り替えることができます。new-user
パスワードの前に!
以下を追加してパスワードを無効にできます。
$ sudo cat /etc/shadow
(...)
new-user:!$6$zVbJcpZE$Bqnxr5cDkwjKOE06iAZu7/qIuH9UGXex28TU/aD0osft9DfdPVzcVwq2j410YxoPlZR310.heZyxaQq4iwWy9.:18038:0:99999:7:::
new-user
これから正しいパスワードを入力しても、次のものに切り替えることはできません。
$ su new-user
Password:
su: Authentication failure
手動修正は非常に危険なので推奨/etc/shadow
しません。を使用して同じ効果を得ることができますsudo passwd -l new-user
。言ったようにman passwd
:
-l, --lock Lock the password of the named account. This option disables a password by changing it to a value which matches no possible encrypted value (it adds a ´!´ at the beginning of the password).
たとえば、
$ sudo passwd -l new-user
passwd: password expiry information changed.
ただし、passwd -l
無効にはなりません。アカウント、無効のみ可能パスワードman passwd
これは、ユーザーが次のような他の方法を使用してシステムにログインできることを意味します。
Note that this does not disable the account. The user may still be able to login using another authentication token (e.g. an SSH key). To disable the account, administrators should use usermod --expiredate 1 (this set the account's expire date to Jan 2, 1970). Users with a locked password are not allowed to change their password.
答え2
「パスワード値」で*
、または存在するときに何が起こるのか誤解しているようです。実際にパスワードを1文字またはに変更すると、これはできません。これらの単一文字値は、などのコマンドを使用してユーザーアカウントをロックした結果です。!
/etc/shadow
*
!
usermod -L
もっと知りたい場合は、以下をお読みください。パスワードフィールドの感嘆符とアスタリスク。
答え3
あなたが探しているusermod --lock
。