ユーザーとグループの作成と削除のバッチ処理

LinuxBeginner
オンラインで実践に進む

はじめに

このプロジェクトでは、教室サーバ環境における教師と学生用のユーザーアカウントを作成および管理する方法を学びます。手動で行うと面倒なタスクであるユーザーアカウントの追加と削除のプロセスを自動化するために、userctr.sh と呼ばれる bash スクリプトを使用します。

👀 プレビュー

## 1 人の教師用ユーザーと 6 人の学生用ユーザー(stu1 から stu6)を追加する
$ sh userctr.sh add teacher stu 6
teacher:617533
stu1:345893
stu2:183263
stu3:404525
stu4:571165
stu5:251940
stu6:716130

## 1 人の教師用ユーザーと 6 人の学生用ユーザー(stu1 から stu6)を削除する
$ sh userctr.sh del teacher stu 6

🎯 タスク

このプロジェクトでは、以下のことを学びます。

  • プロジェクトに必要な環境をセットアップする方法
  • ユーザーとグループを追加および削除する関数を実装する方法
  • userctr.sh スクリプトをテストして、期待通りに機能することを確認する方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • ユーザー管理タスクの自動化の重要性を理解する
  • bash スクリプトを使用して教師と学生用のユーザーアカウントを作成および管理する
  • 既定のシェルや sudo 特権などの適切な設定でユーザーアカウントを作成することを確認する
  • 教室サーバ環境で効率的にユーザーアカウントを追加および削除する

環境を準備する

このステップでは、プロジェクトに必要な環境をセットアップします。

  1. ターミナルを開き、/home/labex/project ディレクトリに移動します。

  2. 以下のコマンドを使用して、/home/labex/project ディレクトリに新しい userctr.sh ファイルを作成します。

    touch userctr.sh
    
  3. テキストエディタで userctr.sh ファイルを開き、ファイルの先頭に以下のシェバン行を追加します。

    #!/bin/zsh
    

    この行は、スクリプトを zsh シェルを使用して実行することを指定します。

ユーザーとグループ管理機能を実装する

このステップでは、ユーザーとグループを追加および削除する関数を実装します。

  1. userctr.sh ファイルに以下のコードを追加します。

    ## このスクリプトは、教師と学生用のユーザーアカウントを管理するために使用されます。
    
    ## パラメータの数が正しいかどうかを確認する
    
    ## 学生数のパラメータが正の整数で 10 以下であることを確認する
    
    ## 学生名の接頭辞が小文字のみで構成されていることを確認する
    
    ## ランダムな 6 桁のパスワードを生成する関数
    

    このコードは、パラメータの検証とランダムなパスワードを生成する関数を含む、スクリプトの基本構造をセットアップします。

  2. userctr.sh ファイルに以下のコードを追加して、「add」操作を処理します。

    ## ユーザーを追加する
    ## 教師用ユーザーを追加する
    
    ## 学生用ユーザーを追加する
    

    このコードは、教師用ユーザーと指定された数の学生用ユーザーを追加します。既に存在するユーザーの場合、ユーザーのパスワードを 6 つのアスタリスクで表示します。

  3. userctr.sh ファイルに以下のコードを追加して、「del」操作を処理します。

    ## ユーザーを削除する
    ## 教師用ユーザーを削除する
    
    ## 学生用ユーザーを削除する
    

    このコードは、教師用ユーザーと指定された数の学生用ユーザーを削除します。

  4. userctr.sh ファイルを保存する

スクリプトをテストする

このステップでは、userctr.sh スクリプトをテストして、期待通りに機能することを確認します。

  1. ターミナルを開き、/home/labex/project ディレクトリに移動します。

  2. 以下のコマンドを実行して、「add」操作をテストします。

    sh userctr.sh add teacher stu 6
    

    これにより、1 人の教師用ユーザーと 6 人の学生用ユーザーが作成され、それらのランダムに生成されたパスワードが表示されるはずです。

    teacher:617533
    stu1:345893
    stu2:183263
    stu3:404525
    stu4:571165
    stu5:251940
    stu6:716130
    
  3. 以下のコマンドを実行して、「del」操作をテストします。

    sh userctr.sh del teacher stu 6
    

    これにより、教師用ユーザーと 6 人の学生用ユーザーが削除されるはずです。

おめでとうございます!あなたはこのプロジェクトを完了しました。これで、教室サーバーにおける教師と学生用のユーザーアカウントを管理するために userctr.sh スクリプトを使用できるようになりました。

まとめ

おめでとうございます!あなたはこのプロジェクトを完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行って練習してください。

✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習