CodeGym /コース /Docker SELF /ユーザーとグループの作成、アクセス権の設定、プロセス管理

ユーザーとグループの作成、アクセス権の設定、プロセス管理

Docker SELF
レベル 2 , レッスン 6
使用可能

ユーザーとグループの作成、アクセス権の設定、プロセス管理

1. 課題の設定

さて、これから実践的な作業が始まるよ!前回の講義で学んだ知識を活用できる場面だね。ユーザーを作成して、グループにまとめて、独自のアクセス権を割り当てたり、システム内のプロセスを操作したりしていくよ。「これ何に役立つの?」って思うかもしれないけど、想像してみて。君がシステム管理者やDevOpsエンジニアで、チームが共同作業するためのサーバーを設定する必要があるとしたら?または、単純に自分のPCをカオスから救うとか!実際にはこういう状況に結構出くわすんだ。

今回の目標は、以下のユーザーやプロセスの設定だよ:

  1. 2人のユーザーを作成する:user1user2。2人はdevelopersというグループで一緒に作業するよ。
  2. ファイル(例えばproject.txt)を設定して、developersグループのメンバーだけが編集できるようにする。
  3. いくつかのプロセスを作成する(例えばsleepコマンドを使って)し、必要に応じてそれらを終了させる方法を学ぶ。
  4. アクティブなプロセスを確認して、どのプロセスが最もリソースを消費しているかを特定する。

どう?これでプランは整ったね。さあ一歩ずつ進めていこう!


2. ステップ 1: ユーザーの作成

1. ユーザーを作成する

まず、2人のユーザーを作成します:

sudo adduser user1
sudo adduser user2

これらのコマンドを実行すると、システムがパスワードの設定を求め、各ユーザーの説明を入力するようになります。ここでは余計なデータを入力せず、Enterキーを押すだけで構いません。

各ユーザーには自動的に/homeディレクトリにホームディレクトリが作成されます。それを確認することができます:

ls /home
注意:

ローカルで作業する場合は、管理者権限を得るために必ずsudoを使用してください。また、WSLで作業している場合、ユーザーに関して特有の問題が発生する可能性があります。例えば、WSLではデフォルトのユーザーがすでにシステム管理者であることがあります。


3. ステップ2: グループを作成してユーザーを追加する

1. グループを作成する

プロジェクトで共同作業をするために、ユーザーをグループに追加します。最初にdevelopersというグループを作成します:

sudo groupadd developers

2. ユーザーをグループに追加する

次に、user1user2developersグループに追加します。このタスクにはusermodコマンドを使用します:

sudo usermod -aG developers user1
sudo usermod -aG developers user2

3. グループメンバーシップを確認する

ユーザーが正しくグループに追加されていることを確認するには、以下を実行します:

groups user1
groups user2

user1user2developersグループのメンバーであることが表示されるはずです。


4. ステップ3: ファイルとアクセス権の操作

1. プロジェクト用のファイルを作成する

ユーザーのホームディレクトリ(例:user1)にproject.txtファイルを作成します:

sudo -u user1 touch /home/user1/project.txt

sudo -uコマンドを使用して、他のユーザーとして操作を実行できます。

2. ファイルの所有者とグループを変更する

user1を所有者に、developersをグループに設定し、両方のユーザーが同じアクセス権を持つようにします:

sudo chown user1:developers /home/user1/project.txt

3. アクセス権を設定する

次に、ファイルのアクセス権を変更します。コマンドchmodを使用します:

sudo chmod 660 /home/user1/project.txt

何をしたのか?所有者user1とグループdevelopersには読み書き権限rw-を与え、その他の人にはアクセス権がありません。

コマンドlsを使用してアクセス権を確認できます:

ls -l /home/user1/project.txt

期待される結果:

-rw-rw---- 1 user1 developers 0 日付 時間 /home/user1/project.txt

5. 手順 4: プロセスの起動

1. プロセスを起動する

実験のために、コマンドsleepを使っていくつかの「長生きする」プロセスを作成しよう:

sleep 300 &
sleep 400 &
sleep 500 &

それぞれのsleepコマンドは、&記号のおかげでバックグラウンドで実行されるよ。

プロセスのリストを確認するには、psコマンドを使おう:

ps

ps auxを使うともっと詳しい情報が見れるよ:

ps aux | grep sleep

6. ステップ5: プロセスの終了

1. PIDでプロセスを終了する

プロセスのPIDを特定して(例えば、sleep)それを終了します:

kill PID

ここで、PID はプロセスIDです。これは ps コマンドで確認できます。

2. 名前でプロセスを終了する

全てのsleepプロセスを終了したい場合、killallコマンドを使ってください:

killall sleep

3. pkillを使用する

正確なプロセス名を覚えていない場合は、pkill を使用して名前の一部一致でプロセスを終了できます:

pkill slee

7. ステップ6: プロセスの監視

システムの負荷を監視するには、以下を使用しよう:

  1. top — リアルタイムで操作するために使うよ:

       top
    

    ここで、CPUやメモリの負荷、アクティブなプロセスを確認できるよ。インターフェースから直接プロセスを終了するには、kキーを使おう。

  2. htop — もっと使いやすいインターフェースを提供するよ(インストール済みの場合):

    htop
    
    終了するには、F10を押してね。

8. チェックリスト

すべてのステップを完了した後、以下を確認してください:

  1. 2人のユーザー user1user2 が作成されている。
  2. グループ developers を作成して設定し、2人のユーザーを追加した。
  3. developers グループだけがアクセスできるファイル project.txt を作成した。
  4. kill, killall, pkill コマンドを使用していくつかのプロセスを作成して終了した。
  5. ps, top, または htop でプロセスリストを確認した。

すべてが完了したなら、おめでとう!Linuxシステムでのユーザー、グループ、アクセス権、プロセス管理の主要なステップをすべて通過しました。コンソールの力が君とともにあれ!

1
Опрос
最初のLinuxコマンド,  2 уровень,  6 лекция
недоступен
最初のLinuxコマンド
最初のLinuxコマンド
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION