あなたがシステム管理者で、Linux システムをより安全にする方法を探している場合、または特定のプロセスを自動化したい場合は、非ログイン ユーザーを作成することが解決策です。非ログイン ユーザーは、Linux システムへのアクセスを制限したり、制限された権限で特定のプロセスを実行したりするなど、さまざまな場合に非常に役立つことがわかります。ここでは、Linux で非ログイン ユーザーを作成し、それらのユーザーに適切な権限を設定する手順を説明します。
Linux の非ログイン ユーザーとは何ですか?
非ログイン ユーザーは 、Linux システムへのアクセスが制限され 、システムにログインせずに特定のタスクを実行したり、特定のプロセスを実行したりすることしかできないユーザー アカウントのタイプです。通常のユーザーとは異なり、非ログイン ユーザーは通常のシェルやホーム ディレクトリにアクセスできません。したがって、Linux PC にログインできません。非ログイン ユーザーを作成する一般的な用途には、タスクの自動化、特定のプロセスの実行、またはアクセスを制限することによるシステム全体のセキュリティの向上があります。
Linux でログインせずにユーザーを作成する方法
Linux で非ログイン ユーザーを作成するには、簡単で簡単な 2 つの方法があります。ただし、注意する必要がある前提条件がいくつかあります。
- Linux ベースのオペレーティング システム (最新バージョンが望ましい)
- root アクセス権または sudo 権限を持つユーザー
前提条件が整ったので、Linux で adduser コマンドを使用し、passwd ファイルを編集して非ログイン ユーザーを作成する方法について説明します。
1. adduserコマンドの使用
そのシンプルで使いやすい構文のおかげで、Linux で新しいユーザーを作成するには通常「adduser」コマンドを使用します。 adduser コマンドを使用してユーザーを作成する基本的な構文は次のとおりです。
sudo adduser <username> --system --no-create-home
上記の構文では、
「-system」
オプションにより、パスワードやシェルを使用しない新しいユーザー アカウントが作成されます。さらに、コマンドが新しいホーム ディレクトリを作成しないようにするために、ここでは「-no-create-home」オプションを使用します。コマンドと組み合わせることができるその他の一般的なオプションは次のとおりです。
オプション
説明
--disabled-login
使用すると、ユーザーはパスワードが設定されるまでアカウントを使用できなくなります。
--gid ID
ユーザーを作成するときに、このオプションを選択すると、そのユーザーがそのグループに追加されます。
--home <directory_name>
デフォルトの場所ではなく、ユーザーのホーム ディレクトリとして <directory_name> を使用します。
--shell <shell_path>
デフォルトのシェルではなく、ユーザーのログイン シェルとして <shell_path> を使用します。
--debug
実行中のすべての操作に関する情報メッセージを表示します。
たとえば、Linux でユーザー名「test_user」の非ログイン ユーザーを作成するには、次のコマンドを使用します。
sudo adduser test_user --system --no-create-home
新しいユーザーを作成したら、さまざまなプロセスやタスクの権限を設定できるようになります。リンクされた記事を使用して、Linux ファイルのアクセス許可がどのように機能するかを学ぶことができます。
2.「/etc/passwd」ファイルの編集
「/etc/passwd」ファイルは、Linux システム上のすべてのユーザー アカウントに関する情報を保存するシステム ファイルです。このファイルにはすべてのユーザー タイプに対する読み取り権限があり、スーパーユーザーのみが書き込み権限を保持します。 「 passwd 」ファイルの内容については、Linux でユーザーを一覧表示する方法に関する最近の記事で説明しました。 Linux で非ログイン ユーザーを作成するには、次の手順で /etc/passwd ファイルを手動で編集し、新しいアカウントの新しいエントリを追加します。
- Linux システムでターミナルを開きます。
- 次に、Linux で nano コマンドを使用して、「/etc/passwd」ファイルを開きます。他の任意の Linux テキスト エディターを使用できますが、手順に従っている場合は、コマンド ラインに次のコマンドを貼り付けます。
sudo nano /etc/passwd
- 次に、リストの一番下までスクロールし、次のコマンドを使用して新しい非ログイン ユーザーを追加します。
<username>:x:<UID>:<GID>:<user_description>:/dev/null:/bin/false
たとえば、次のコマンドを使用して、Linux システム上に「new_user」という名前の非ログイン ユーザーを作成します。
new_user:x:1001:1001:New Non-Login User:/dev/null:/bin/false
- 最後に、保存して nano エディターを終了し、変更を有効にします。 Vim エディターを使用している場合は、ガイドに従って Linux で Vim エディターを終了する方法を学習してください。
- 新しいユーザーを作成したら、さまざまなプロセスやタスクに対するそのユーザーの権限を調整できるようになります。
注記:
「/etc/passwd」ファイルの変更には危険が伴い、最悪の場合、システムが使用できなくなる可能性があるため、常に「/etc/passwd」ファイルのバックアップを保管してください。
Linux には 3 種類のユーザーがあります。1. スーパー ユーザー : システム内で最高レベルの権限を持つユーザーのタイプです。 「root ユーザー」とも呼ばれます2。 通常ユーザー : これらのタイプのユーザーは、コマンドとファイル、およびシェルとホーム ディレクトリへのアクセスが制限されています。 システム ユーザー : 「非ログイン」ユーザーとも呼ばれます。彼らはシェルにもホームディレクトリにもアクセスできません。彼らがアクセスできるのは、実行が許可されている特定のコマンドだけです。
Linux システムに存在するすべてのユーザーを表示するには、次のコマンドを使用します:
cat /etc/passwd