web-dev-qa-db-ja.com

アカウントを無効にせずにユーザーのログインを無効にする

adduserコマンドを使用して「bogus」という名前のユーザーを作成するとします。アカウントを無効にせずに、このユーザーが実行可能なログインオプションにならないようにするにはどうすればよいですか。つまり、su - bogusを介してアカウントにアクセスできるようにしたいのですが、通常のログインプロンプトを介してアクセスできないようにしたいのです。

あちこち検索して、そのユーザーのパスワードを無効にする必要があるようですが、passwd -d bogusを実行しても解決しませんでした。実際、パスワードを入力しなくても偽にログインできるようになったため、事態はさらに悪化しました。

特定のアカウントの通常のログインを無効にする方法はありますか?

注:明確にするために、gdmなどのグラフィカルログイン画面のメニューオプションからユーザーを削除する方法は知っていますが、これらのメソッドは、実際にログインを無効にすることなくアカウントを非表示にするだけです。通常のログインを完全に無効にし、テキストモードを含めます。

92
Malabarba
passwd -l user

あなたが欲しいものです。

これにより、ユーザーアカウントがロックされます。しかし、あなたはまだできるでしょう

su - user

ただし、ルートとしてsu - userを使用する必要があります。

または、!のユーザーのパスワードの前に/etc/shadowを付加することで同じことを実現できます(これはpasswd -lが舞台裏で行うすべてのことです)。そしてpasswd -uはこれを元に戻します。

105
Chad Feller

passwd(1)のmanページはpasswd -lについて述べています:

これによってアカウントが無効になるわけではないことに注意してください。ユーザーは、別の認証トークン(SSHキーなど)を使用してログインできる場合があります。アカウントを無効にするには、管理者はusermod --expiredate 1を使用する必要があります(これにより、アカウントの有効期限が1970年1月2日に設定されます)。

そう

usermod --expiredate 1 [LOGIN]

ユーザーがもう使用できないはずのアカウントを無効にする正しい方法が好きなようです(たとえば、彼が退職したため)。

39

ユーザーがログインできないようにする方法は2つあります。

  1. /etc/passwdを編集してユーザーをロックできます
  2. -lスイッチを使用してpasswdコマンドを直接発行する

2番目のケースでは、ユーザーは別の認証トークン(SSHキーなど)を使用してログインできます。

方法#1

  1. Nologinの場所を見つける:/ bin/nologinまたは/ bin/sbin/nologin
  2. ターミナルを開き、ルートとしてログインします
  3. タイプvi /etc/passwd

今、あなたはpasswdファイルプレスにいます Ins ファイルを編集します。

以下の行をnologinオプションで変更します(/bin/bashはユーザーがログインできることを意味します)。

root:x:0:0:root:/root:/bin/bash

これに。 nologinは、ユーザーがログインできないことを意味します。

root:x:0:0:root:/root:/bin/nologin

(または/ bin/sbin/nologinを使用)

  1. Viを閉じる Esc:wq

方法#2

ユーザーをロックするには:passwd -l username

ユーザーのロックを解除するには:passwd -u username

28
Mansur Ul Hasan

/etc/passwdファイルに変更を加えるだけの簡単な作業です。

通常はデフォルトで/bin/bashであるシェルを変更する必要があります。つまり、このシェルを使用してログインすると、/bin/nologinまたは/bin/falseに変更できます。 /bin/nologinは古くなっているため、/bin/falseに変更することをお勧めします。

7

セットする /bin/falseのシェルとして/etc/passwd

4
danadam

passwd -l userコマンドを使用してユーザーをロックすると、!!ファイルに "/etc/shadow"が示されます。ただし、ルートアカウントからユーザーシェルに切り替えることはできますが、他の通常のユーザーログインシェルからユーザーアカウントに切り替えることはできません。

/bin/nologinファイルに/bin/falseまたは/etc/passwdを提供して、アカウントを無効にすることもできます。そのため、ユーザーがログインできない場合があります。

0
Sushil Musande