ノート:
- このチュートリアルは、Oracle提供の無料ラボ環境で提供されています。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときは、これらの値をクラウド環境に固有の値に置き換えます。
Oracle Linuxでのユーザーおよびグループの作成
イントロダクション
次のチュートリアルでは、Oracle Linuxでユーザーおよびグループの管理を実行するための手順について説明します。ユーザーとグループを作成し、ユーザー・プライベート・グループを実装し、ユーザーに昇格された権限を付与します。
目的
この演習では、次のことを行います。
- 新規ユーザーを作成し、ユーザーのホーム・ディレクトリを確認します
- 新しいグループの作成とグループへのユーザーの追加
- ユーザーのプライベート・グループ・スキームを利用し、ディレクトリへの書込みアクセスを実装します。
- root権限を付与するための
sudo
コマンドを管理します
必要事項
- Oracle Linuxがインストールされたシステム
ノート: 無料ラボ環境を使用する場合、接続およびその他の使用手順については、Oracle Linux Labの基本を参照してください。
ユーザー・アカウントの管理
このセクションでは、コマンド行ユーティリティーを使用して新しいユーザーアカウントを作成し、新しいユーザーを追加したときに更新されたファイルを表示したり、ユーザーアカウントを変更したり、新しいユーザーのパスワードを設定したり、新しいユーザーとしてログインしたりできます。
-
端末を開き、Oracle Linuxインスタンスに接続します。
-
rootユーザーになります。
sudo su -
-
rootユーザーとして、aliceという名前のユーザーを追加します。
useradd alice
ユーザーが
/etc/passwd
ファイルに追加されます。 -
/etc/passwd
ファイルの aliceエントリを表示します。grep alice /etc/passwd
次が出力に表示されます。
- 新しいユーザーのUIDとGIDは同じ(
1001
)です。 - 新しいユーザー(
/home/alice
)にホーム・ディレクトリが作成されました。 - 新しいユーザーのデフォルトのシェルは
/bin/bash
です。
- 新しいユーザーのUIDとGIDは同じ(
-
ホームディレクトリを表示します。
ls -l /home
この例では、opcユーザーがすでに存在しています。
/etc/login.defs
のCREATE_HOMEパラメータがyes
に設定されているため、新しいユーザーに対してホーム・ディレクトリが作成されました。 -
/etc/login.defs
ファイルのCREATE_HOMEパラメータを表示します。grep CREATE_HOME /etc/login.defs
-
/etc/default/useradd
に保存されている新しいユーザーのデフォルトの設定を表示します。cat /etc/default/useradd
SKELパラメータが
/etc/skel
に設定されています。 -
/etc/skel
ディレクトリのコンテンツを表示します。ls -la /etc/skel
-
aliceホームディレクトリの内容を表示します。
ls -la /home/alice
SKEL (
/etc/skel
)の内容が新しいユーザーのホームディレクトリにコピーされます。 -
/etc/group
ファイルの新しい aliceエントリを表示します。grep alice /etc/group
Oracle Linuxはユーザープライベートグループ(UPG)スキームを使用するため、aliceユーザーを作成したときに、新しいプライベートグループ(alice、GID= 1001)が作成されました。
-
aliceユーザーのGECOS情報を変更します。GECOS情報を変更する前に、
/etc/passwd
ファイルの aliceエントリを表示します。grep alice /etc/passwd usermod -c "Alice Smith" alice grep alice /etc/passwd
-
aliceユーザーのパスワード
AB*gh246
を作成します。aliceのパスワードを作成する前に、/etc/shadow
ファイル内の aliceエントリを表示します。grep alice /etc/shadow passwd alice grep alice /etc/shadow
aliceの
!!
は、ハッシュされたパスワード値に置き換えられます。 -
rootログインを終了し、aliceユーザーとしてログインします。プロンプトが表示されたら、
AB*gh246
のパスワードを指定します。exit su - alice
-
aliceユーザーであり、現在のディレクトリが aliceユーザーのホームディレクトリであることを確認します。
whoami pwd
-
aliceユーザーのシェルを終了し、rootユーザーになります。
exit sudo su -
-
rootユーザーとして、この演習の後半で使用されるoracleというユーザーを追加します。
useradd oracle
-
oracleユーザーのパスワード
XY*gh579
を作成します。passwd oracle
グループ・アカウントの管理
この項では、新しいグループ・アカウントを作成し、この新しいグループにユーザーを追加します。
-
rootユーザーとして、staffという名前のグループを追加します。
groupadd staff
グループが
/etc/group
ファイルに追加されます。 -
/etc/group
ファイルの最後の10エントリを表示します。tail /etc/group
新しいグループのGID (
1003
)が1つ増分されます。 -
aliceユーザーを staffグループに追加します。
/etc/group
ファイルの staffグループエントリを表示します。usermod -aG 1003 alice grep staff /etc/group
aliceユーザーは、staffグループにセカンダリグループメンバーシップを持っています。
-
aliceのプライマリグループメンバーシップを表示します。
grep alice /etc/passwd
aliceユーザーのプライマリグループはまだ
1001
です。
ユーザー・プライベート・グループの実装
この項では、ユーザー・プライベート・グループ・スキームを使用して、単一のディレクトリのファイルへの書込みアクセスを様々なユーザーに付与します。
-
rootユーザーとして、
/staff
ディレクトリを作成します。mkdir /staff
-
/staff
ディレクトリとその権限を表示します。ls -ld /staff
-
/staff
ディレクトリのグループ所有権をstaffグループに変更します。-R
オプション(再帰的)は、/staff
内のファイルおよびディレクトリにグループを設定します。グループ所有権の変更後、/staff
ディレクトリとその権限を表示します。chgrp -R staff /staff ls -ld /staff
/staff
ディレクトリの所有者はまだ rootですが、グループは現在 staffです。 -
/staff
ディレクトリに setgidビットを設定します。次に、/staff
ディレクトリの権限を表示します。chmod -R 2775 /staff ls -ld /staff
/staff
ディレクトリのグループ権限が変更されました。 -
oracleユーザーを staffグループに追加します。oracleユーザーの追加後に、
/etc/group
ファイルのstaffエントリを表示します。usermod -aG staff oracle grep staff /etc/group
aliceユーザーと oracleユーザーのどちらも、staffグループにセカンダリグループメンバーシップを持っています。
-
oracleユーザーになります。現在 rootユーザーであるため、oracleユーザーのパスワードの入力は求められません。oracleユーザーであり、現在のディレクトリがoracleユーザーのホーム・ディレクトリであることを確認します。
su - oracle whoami pwd
-
oracleユーザーのグループ・メンバーシップを表示します。
groups
oracleユーザーは2つのグループ(oracleと staff)に属しています。
-
/staff
ディレクトリに移動します。oracle_file
という名前の/staff
ディレクトリに新しいファイルを作成します。新しいファイルの権限と所有権を表示します。cd /staff touch oracle_file ls -l oracle_file
staffグループのアクセス権は読み取り/書き込み可能です。
-
aliceユーザーになります。プロンプトが表示されたら、
AB*gh246
のパスワードを指定します。aliceユーザーであることを確認します。su - alice whoami
-
aliceユーザーのグループメンバーシップを表示します。
groups
aliceユーザーは、aliceと staffの2つのグループに属しています。
-
/staff
ディレクトリに移動します。alice_file
という名前の/staff
ディレクトリに新しいファイルを作成します。新しいファイルのアクセス権と所有権を表示します。cd /staff touch alice_file ls -l
このアクセス権は、staffグループの両方のファイルで読み取り/書き込み可能です。
-
aliceユーザーとして、
touch
コマンドを使用してoracle_file
のタイムスタンプを更新します。ファイルを表示して時間が変更されたことを確認します。touch oracle_file ls -l
タイムスタンプを更新すると、ファイルが oracleユーザーによって作成された場合でも、aliceユーザーとしてファイルに対する書き込み権限が暗黙的に示されます。
-
aliceユーザーのシェルと oracleユーザーのシェルの両方を終了して、rootユーザーのシェルに戻ります。rootユーザーであることを確認します。
exit exit whoami
オプション1: ユーザーへの昇格された権限の付与
この項では、/etc/sudoers
ファイルにエントリを追加して、sudo
権限をユーザーに付与します。
-
aliceユーザーになります。現在 rootユーザーであるため、aliceパスワードの入力を求められません。aliceユーザーであることを確認します。
su - alice whoami
-
aliceユーザーとして、newuserを追加しようとします。
useradd newuser
aliceユーザーには、newuserを追加する権限がありません。
-
前の
useradd
コマンドの前にsudo
コマンドを挿入して、newuserを追加します。プロンプトが表示されたら、AB*gh246
のパスワードを指定します。sudo useradd newuser
適切な承認なしでこの管理者コマンドを発行しようとすると、
/var/log/secure
ファイルに報告されます。 -
aliceユーザーのシェルを終了して、rootユーザーのシェルに戻ります。
/var/log/secure
ファイルの sudoersエントリを表示します。exit grep sudoers /var/log/secure
/sbin/useradd
コマンドの使用を試みた場合の alice : user NOT in sudoersエントリは、/var/log/secure
ファイル内にあります。例には複数のエントリが示されています。エントリが1つしかない場合があります。 -
rootユーザーとして、
visudo
コマンドを使用して/etc/sudoers
ファイルを編集します。visudo
このコマンドは、
vim
エディタを使用して/etc/sudoers
ファイルを開きます。 -
/etc/sudoers
ファイルで、次の行を追加して、/sbin/useradd
コマンドを実行する権限をaliceユーザーに付与します。alice ALL=(ALL) /sbin/useradd
新しいエントリが強調表示されます。変更内容を保存し、
visudo
コマンドを終了します。 -
aliceユーザーになります。
sudo
コマンドなしで newuserを追加しようとします。sudo
コマンドを挿入し、newuserを2回追加しようとします。プロンプトが表示されたら、AB*gh246
のパスワードを指定します。su - alice useradd newuser sudo useradd newuser
-
newuserが追加されたことを確認します。
grep newuser /etc/passwd ls -l /home
これで newuserが存在します。
/etc/sudoers
ファイル内の aliceエントリを使用すると、aliceユーザーには/sbin/useradd
コマンドを実行するためのsudo
権限があります。 -
aliceシェルを終了して、rootシェルに戻ります。
visudo
コマンドを使用し、この演習で以前に追加した/etc/sudoers
ファイルからaliceエントリを削除します。exit visudo
削除するエントリが強調表示されています。行全体を削除するか、この例では
#
文字を挿入して行をコメント・アウトします。変更内容を保存し、visudo
コマンドを終了します。 -
aliceユーザーが新しいユーザーを追加できなくなったことを確認します。aliceユーザーになります。
sudo
コマンドで anotheruserを追加してみてください。su - alice sudo useradd anotheruser
適切な承認なしでこの管理者コマンドを発行しようとすると、
/var/log/secure
ファイルに報告されます。 -
aliceユーザーのシェルを終了して、rootユーザーのシェルに戻ります。
exit
オプション2: ユーザーへの昇格された権限の付与
この項では、wheelグループにユーザーを追加して、sudo
権限を付与します。
-
rootユーザーとして、
/etc/sudoers
ファイル内の wheelエントリを表示します。grep wheel /etc/sudoers
/etc/sudoers
ファイルの%wheel ALL= (ALL) ALLエントリを使用すると、wheelグループの任意のメンバーがsudo
で始まるときに任意のコマンドを実行できます。 -
aliceユーザーをwheelグループに追加します。aliceユーザーがwheelグループにあることを確認します。
usermod -aG wheel alice grep wheel /etc/group
ユーザーaliceのwheelグループには、セカンダリ・グループ・メンバーシップがあります。
-
aliceユーザーになります。現在 rootユーザーであるため、aliceパスワードの入力を求められません。aliceユーザーであることを確認します。
su - alice whoami
-
aliceユーザーとして、
sudo useradd
コマンドを使用して thirduserを追加します。プロンプトが表示されたら、AB*gh246
のパスワードを指定します。sudo useradd thirduser
-
thirduserが追加されたことを確認します。
ls
コマンドは、sudo
を挿入して aliceパスワードを指定するまで失敗します。これにより、aliceユーザーにsudo
権限があることが確認されます。grep thirduser /etc/passwd ls -la /home/thirduser sudo ls -la /home/thirduser
その他の学習リソース
他のラボをdocs.oracle.com/learnで探すか、Oracle Learning YouTubeチャネルでより無料の学習コンテンツにアクセスします。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品のドキュメントは、Oracle Help Centerを参照してください。
Create users and groups on Oracle Linux
F49507-05
July 2022
Copyright © 2021, Oracle and/or its affiliates.