ノート:
- このチュートリアルは、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.