はじめに
Linux のユーザー管理は、システム管理者にとって基本的なスキルです。これには、ユーザーアカウントの作成、変更、および管理が含まれ、適切なシステムアクセスとセキュリティを確保します。この実験では、Linux 環境でのユーザー管理方法を学びます。特に、ユーザーの追加と権限の設定に焦点を当てます。これらのスキルは、すべての Linux システムのセキュリティと整合性を維持するために不可欠です。
Linux のユーザー管理は、システム管理者にとって基本的なスキルです。これには、ユーザーアカウントの作成、変更、および管理が含まれ、適切なシステムアクセスとセキュリティを確保します。この実験では、Linux 環境でのユーザー管理方法を学びます。特に、ユーザーの追加と権限の設定に焦点を当てます。これらのスキルは、すべての Linux システムのセキュリティと整合性を維持するために不可欠です。
Linux のユーザーアカウントは、特定の権限でシステムにアクセスできるようにします。各ユーザーには、一意のユーザー名、ユーザーID (UID)、ホームディレクトリ、およびデフォルトのシェルがあります。
このステップでは、システム上に "cipher" という名前の新しいユーザーを作成します。
LabEx の仮想マシン (VM) 環境でターミナルを開きます。ターミナルはすでにデフォルトの場所 /home/labex/project
にあるはずです。
適切なオプションを指定して useradd
コマンドを使用し、新しいユーザーを作成します。
sudo useradd -m -s /bin/bash cipher
このコマンドを理解しましょう。
sudo
: これは、ユーザー管理に必要なスーパーユーザー権限でコマンドを実行します。useradd
: これは、新しいユーザーを作成するためのコマンドです。-m
: このオプションは、新しいユーザーのホームディレクトリを /home/cipher
に作成します。-s /bin/bash
: これは、ユーザーのデフォルトのシェルを bash に設定します。cipher
: これは、作成する新しいユーザーのユーザー名です。ls -l /home
以下のような出力が表示されるはずです。
total 8
drwxr-xr-x 2 cipher cipher 4096 Oct 15 10:30 cipher
drwxr-xr-x 5 labex labex 4096 Oct 15 10:00 labex
cipher
のエントリがあることで、ユーザーとそのホームディレクトリが正常に作成されたことが確認できます。
すべてのユーザーアカウントには、不正アクセスを防ぐために安全なパスワードが必要です。このステップでは、前のステップで作成した「cipher」ユーザーのパスワードを設定します。
passwd
コマンドを使用して、ユーザーのパスワードを設定します。sudo passwd cipher
New password:
Retype new password:
2 つのパスワードが一致すると、確認メッセージが表示されます。
passwd: password updated successfully
sudo grep cipher /etc/shadow | cut -d: -f2 | grep -v '!'
文字列が返された場合、パスワードが正常に設定されたことを意味します。出力には実際のパスワードではなく、その暗号化された形式が表示されます。
検証コマンドを詳しく理解しましょう。
grep cipher /etc/shadow
は、ユーザーを含む行を検索します。cut -d: -f2
は、パスワードフィールド(2 番目のフィールド)を抽出します。grep -v '!'
は、'!' を含まない行のみを表示します。最後の部分 (grep -v '!'
) は特に重要です。なぜなら、Linux では以下のようになっているからです。
したがって、コマンドが出力を返す場合、実際のパスワードハッシュを公開することなく、有効なパスワードが設定されていることが確認できます。
ユーザーを作成した後、そのユーザーに関する情報を表示する方法を知ることは重要です。Linux にはこの目的のためのいくつかのコマンドが用意されています。
id
コマンドを使用して "cipher" ユーザーの基本情報を確認しましょう。id cipher
これにより、ユーザーID (uid)、グループ ID (gid)、およびユーザーが所属するグループが表示されます。出力は以下のようになります。
uid=1001(cipher) gid=1001(cipher) groups=1001(cipher)
/etc/passwd
ファイル内のユーザーのエントリを確認しましょう。grep cipher /etc/passwd
出力は、コロンで区切られたフィールドを含む 1 行になります。例えば:
cipher:x:1001:1001::/home/cipher:/bin/bash
これらのフィールドは以下を表します。
finger
コマンドを使用することもできます。まず、finger パッケージをインストールします。sudo apt-get update
sudo apt-get install -y finger
finger cipher
出力は、ログイン状態やホームディレクトリを含む、より人間が読みやすい形式で情報を表示します。
Login: cipher Name:
Directory: /home/cipher Shell: /bin/bash
Never logged in.
No mail.
No Plan.
Linux では、グループを使用してユーザーを組織化し、ファイルやリソースへのアクセスを制御します。このステップでは、既存のグループにユーザーを追加する方法を学びます。
sudo groupadd crypto
usermod
コマンドを使用して "cipher" ユーザーを "crypto" グループに追加します。sudo usermod -aG crypto cipher
このコマンドでは:
sudo
:スーパーユーザー権限でコマンドを実行します。usermod
:ユーザーアカウントを変更するコマンドです。-aG
:ユーザーをグループに追加するオプションです(-a は追加、-G は補助グループ)。crypto
:グループの名前です。cipher
:ユーザー名です。groups cipher
出力には "cipher" と "crypto" の両方のグループが含まれるはずです。
cipher : cipher crypto
/etc/group
ファイル内のグループのエントリを確認することもできます。grep crypto /etc/group
出力にはグループとそのメンバーが表示されるはずです。
crypto:x:1002:cipher
管理タスクを行う場合、ユーザーはしばしば管理者権限が必要になります。sudo(superuser do)コマンドは、一般ユーザーが管理者権限でコマンドを実行できるようにします。このステップでは、ユーザーに sudo アクセス権を付与する方法を学びます。
sudo usermod -aG sudo cipher
groups cipher
出力には現在 "sudo" グループが含まれるはずです。
cipher : cipher crypto sudo
sudo su - cipher
sudo ls /root
cipher ユーザーに設定したパスワードを入力するように求められます。正しく入力すると、コマンドは正常に実行され、/root ディレクトリの内容が表示されます。
cipher ユーザーのセッションを終了して、labex ユーザーに戻ります。
exit
この実験では、Linux におけるユーザー管理の基本概念を学びました。新しいユーザーを作成し、パスワードを設定し、ユーザー情報を表示し、ユーザーをグループに追加し、sudo アクセス権を付与することに成功しました。これらのスキルは、Linux システムのセキュリティを維持し、リソースへのアクセスを制御するためにシステム管理者にとって不可欠です。
ユーザー管理はシステム管理の重要な側面であり、ここで学んだコマンドと概念は、より高度なユーザーと権限管理タスクの基礎を形成します。これらの基本を習得することで、Linux システム管理の熟練者への道が開けます。