ウェブサイト検索

Linux におけるユーザー管理の完全ガイド


ユーザーの管理は、すべての Linux システム管理者が熟達している必要がある重要なタスクです。これは、Linux のための究極のユーザー管理ガイドです。

ユーザー アカウントの管理は、Linux システム管理者の多くの課題の 1 つです。システム管理者の責任には、ユーザー アカウントの有効化/無効化、ホーム ディレクトリの保存、ユーザー権限の設定、ユーザーへのグループ/シェルの割り当て、パスワードの管理などがあります。

ユーザー アカウントを効果的に制御するには、Linux アカウント管理の基本を理解した上でのみ可能です。したがって、この記事はユーザー アカウントを保護するための足がかりとなります。ユーザー アカウントを作成、削除、変更し、事前定義された設定やファイルを管理して、Linux ユーザーに最適で安全な環境を構築する方法を示します。

Linux でユーザー アカウントを追加する方法

予防措置として、Linux マシンを使用するすべてのユーザーは別のユーザー アカウントを持っている必要があります。ユーザー アカウントを使用すると、ホーム ディレクトリ、パス、環境変数などを調整できる機能を使用して、ファイルを安全なスペースに分離できます。

新しいユーザーの作成を始める前に、次のように cut コマンドを使用して利用可能なユーザー アカウントをリストします。

cut -d: -f1 /etc/passwd

Linux で新しいユーザー アカウントを作成する最も簡単な方法は、useradd を使用することです。このユーティリティは、新しいユーザーを追加する際に追加情報を指定するためのさまざまなパラメーターを提供します。オプションの一部は次のとおりです。

  • -c: ユーザー アカウントに説明/コメントを追加します。

    useradd -c "John Wise" john
  • -d: 指定されたユーザーのホーム ディレクトリを設定します。デフォルトでは、useradd コマンドはユーザー名 (/home/john) に設定しますが、次のように選択したディレクトリに置き換えることもできます。

    useradd -d /mnt/home/john
  • -g: ユーザーのプライマリ グループを設定できます。作成プロセス中にユーザーを追加しなかった場合、ユーザーはデフォルトでグループに追加されます。

  • -G: ユーザーを複数のグループに追加します。

    useradd -G juice,apple,linux,tech john
  • -o: 既存のユーザーの UID を使用して新しいユーザー アカウントを作成します。

  • -p: 暗号化されたパスワードをアカウントに追加するために使用されます。 passwd コマンドを使用して、後でパスワードを追加することもできます。

    passwd john

たとえば、useradd コマンドと上記のパラメーターの一部を使用して新しいユーザーを追加する方法は次のとおりです。

useradd -g tech -G apple,linux -s /bin/zsh -c "James Adem" adem

ユーザー作成プロセスでは、前述のコマンドがいくつかのアクションを実行します。

  • tech をユーザーのプライマリ グループとして設定します

  • Zsh をユーザーのデフォルトのシェルとして設定します

  • adem を apple グループと Linux グループに追加します。この操作により、/etc/group ファイル内に新しいエントリも作成されます。

  • /home/adem をデフォルトのホーム ディレクトリとして設定します

  • /etc/passwd および /etc/shadow ファイル内に新しいエントリを作成します。このコマンドは、/etc/passwd ファイルに次の行を追加します。

    adem:x:1002:1007:James Adem:/home/sara:/bin/zsh

デフォルトのユーザー設定を変更する

useradd コマンドは、/etc/login.defs/etc/useradd、および /etc/default/useradd からデフォルト値を読み取ります。 Linux のお気に入りのテキスト エディタでファイルを開き、コマンドを使用する前に適切な変更を加えて保存できます。

次のコマンドを使用すると、login.defs 内で使用可能な設定の一部を表示できます。

cat /etc/login.defs | grep 'PASS\|UID\|GID'

コメントのない行は、値を含むキーワードです。たとえば、PASS_MAX_DAYS キーワードは、パスワードの有効期限の最大 9999 日を設定します。同様に、PASS_MIN_LEN キーワードでは、パスワードの長さが 5 文字以上である必要があります。最後に、UID および GID キーワードを使用すると、新しいユーザー アカウントのユーザー ID およびグループ ID 範囲をカスタマイズできます。

-D フラグを指定して useradd コマンドを使用すると、ファイル内に存在するデフォルト設定を表示/変更することもできます。

新しいアカウントの作成には -D フラグを使用しないことに注意してください。代わりに、デフォルト設定のみを変更できます。また、useradd コマンドがアカウントの作成に使用するいくつかのパラメーターの変更のみがサポートされています。

Flags

Description

-b

Modifies the default home directory (/home) for new user accounts.

-g

Modifies the default new user primary group (username) with another default group.

-s

Replaces the default /bin/bash shell with another default shell.

-e

Modifies the default expiration date to disable a user account in YYYY-MM-DD format.

-f

Allows to set inactive days before the account is disabled and after password expiration

たとえば、次のコマンドはデフォルトのシェルを /bin/sh に変更し、ホーム ディレクトリを /home/new に変更します。

useradd -D -b /home/new -s /bin/sh

Linux でのユーザー グループの変更

usermod は、ユーザー アカウントの詳細を変更するための、もう 1 つのシンプルかつ簡単な Linux ユーティリティです。 useradd コマンドと同様のパラメータやフラグをサポートしているため、使用方法は非常に簡単です。

たとえば、次のようにユーザー adem のデフォルトのシェルを /bin/sh から /bin/bash に変更できます。

usermod -s /bin/bash adem

ここで ademsales グループに含めるには、-aG フラグを単純な -G として使用する必要があります。 フラグは、以前に追加された補助グループ applelinux からユーザーを削除します。

usermod -aG sales adem
cat /etc/group | grep adem

関連: Linux でファイル コンテンツを表示するための最適なコマンド ライン ユーティリティ

Linux でユーザー アカウントを削除する方法

Linux には、ユーザー アカウントを削除するための別のコマンドライン ユーティリティ userdel が用意されています。基本的な構文は次のとおりです。

userdel username

ただし、/etc/passwd ファイルからアカウントの詳細が削除されるだけです。ユーザーのホーム ディレクトリも削除するには、次のように -r フラグを使用します。

userdel -r username

予防措置として、ユーザーが所有するすべてのファイルを検索し、それらを他の既存のユーザー アカウントに再割り当てすることをお勧めします。 find コマンドを使用して、ユーザーが所有するファイル、または削除したユーザー ID に割り当てられたファイル、またはどのユーザーにも関連付けられていないファイルをすべてリストします。

find / -user username -ls
find / -uid 504 -ls
find / -nouser -ls 

Linux ユーザーアカウント管理の概要

この記事では、システム管理を追求し、ユーザー アカウント管理を学びたい初心者 Linux ユーザー向けに、Linux ユーザー アカウントの作成、削除、変更の例とヒントを示します。

また、構成ファイルを編集して UID および GID 範囲を定義し、Linux でのユーザー アカウント作成のデフォルト設定を変更する方法も示します。

関連記事: