新しく作成されたユーザーの bash 設定をどこに配置すればよいですか?

新しく作成されたユーザーの bash 設定をどこに配置すればよいですか?

課題があり、どの bash 設定ファイルを編集すればよいか迷っています。

bash 構成ファイルを編集して PS1 プロンプトを変更し、ルート ユーザーがコマンドを入力するたびに ~/scripts を検索する環境変数を追加する必要があります。次に、それを適切なディレクトリにコピーして、新しく作成されたすべてのユーザーに変数が使用されるようにする必要があります。

最初の部分は問題なく実行できますが、どの設定ファイルを編集すればよいのかわかりません。2 番目の要件に基づいて、~/.bashrc を編集していますが、どのディレクトリにコピーするかという 2 番目の部分で行き詰まっています。

NDG によると、そのディレクトリ内の .sh 拡張子を持つすべてのファイルは /etc/profile.d/ で自動的に実行されるため、先に進んで ~/.bashrc を bashrc.sh などにコピー/名前変更しました。しかし、新しいユーザー プロファイルでテストすると、ターミナルに空のプロンプトが表示されます。

誰かが私を助けてくれるといいのですが、ありがとう。


課題の正確な文言

  1. 適切な bash シェル構成ファイルで、プライマリ コマンド ライン プロンプトを構成して、姓、@、ホスト名、作業ディレクトリの順に表示するようにします。
  2. ~/scriptsという名前のディレクトリを作成します
  3. 適切な bash シェル構成ファイルで適切な環境変数を変更し、root ユーザーがコマンドを入力したときにシステムが新しく作成された ~/scripts ディレクトリも検索するようにします。
  4. 上記の手順で変更した bash シェル構成ファイルを適切なディレクトリにコピーして、新しいユーザーが作成されるたびに、そのユーザーにもこれらの環境変数値が設定されるようにします。

答え1

編集はうまく行われているようです.bashrc。ユーザーの作成時に複製される構成/スクリプト ファイルのテンプレートをコピーする必要があるディレクトリは、通常 にあります/etc/skel

したがって、次のようにします。

  1. 追加して~/.bashrcそこに配置します:

    PS1="surname@\h\w>"
    
  2. 将来のユーザースクリプト用のプレースホルダーを ~/scripts に作成します。

    mkdir ~/scripts
    
  3. スクリプトを検索するには、$PATH 修飾子を追加します~/.bashrc。セキュリティ上の理由から、原則として、先頭ではなく末尾に追加します。

    PATH=$PATH:~/scripts
    
  4. rootこの最後の部分では、スーパーユーザー権限を得るために、 として、またはグループに属している状態でsudo、コマンドの前に を付けて実行する必要がありますsudo。通常のユーザーのデフォルト権限では、/etc/skel ディレクトリに書き込むのに十分ではありません。

    sudo cp ~/.bashrc /etc/skel
    

    またはrootユーザーとして:

    cp  ~your_user_name/.bashrc /etc/skel
    

関連するリンク/etc/skelの詳細については

/etc/skel ディレクトリには、useradd プログラムによって新しいユーザーが作成されたときに、そのユーザーのホーム ディレクトリに自動的にコピーされるファイルとディレクトリが含まれています。

/etc/skel を使用すると、システム管理者はコンピューターまたはネットワーク上のすべての新規ユーザーのデフォルトのホーム ディレクトリを作成し、すべてのユーザーが同じ設定または環境で開始することを確認できます。

オペレーティング システムがインストールされると、いくつかのユーザー構成ファイルがデフォルトで /etc/skel に配置されます。

ディレクトリ skel の名前は、そこに含まれるファイルがユーザーのホーム ディレクトリの基本構造を形成するため、skeleton という単語に由来しています。

PATH環境変数については、これ

PATH 環境変数は、コマンドを入力したときにシェルが検索するディレクトリのコロンで区切られたリストです。

プログラム ファイル (実行可能ファイル) は、Unix システム上のさまざまな場所に保存されます。パスは、特定のプログラムを要求したときにシステム上のどこを検索するかを Unix シェルに指示します。

PS1でプロンプトを変更するには、.bashrc PS1 ジェネレーター非常に巧妙な Web ページを使用して、変更をリアルタイムで確認できます。

関連情報