LinuxでデフォルトのBASHプロンプトをカスタマイズする方法をすでに検討しました。このチュートリアルでは、LinuxおよびUnixのようなシステムの特定のユーザーグループのBashプロンプトを変更する方法を学びます。
カスタムバッシュプロンプトをユーザーグループに設定する前に、このアプローチの利点と短所を理解することが重要です。
目次
グループ固有のコマンドプロンプトの利点と短所
Linuxでグループ固有のコマンドプロンプトを使用することは、特定のシナリオで有利になる可能性がありますが、いくつかの考慮事項もあります。ここに利点と短所があります。
利点
1.ユーザーの役割の簡単な識別:
- グループメンバーシップに基づいてコマンドプロンプトをカスタマイズすることにより、作業中の役割や環境を識別するのが簡単になります。たとえば、開発者プロンプトは、開発者グループまたは環境に属していることをユーザーに即座に通知します。
2。エラーの削減:
- カスタムプロンプトは、特にユーザーが複数のロールまたはサーバーを切り替える環境で、エラーの削減に役立ちます。たとえば、管理者ユーザーにとって明確なプロンプトは、より高いレベルの権限を思い出させ、注意を促すことができます。
3。ユーザーエクスペリエンスの強化:
- 複数のグループに属しているユーザーの場合、カスタマイズされたプロンプトは、現在のグループを明確で視覚的に示すことを提供し、端末をより有益でユーザーフレンドリーにすることでユーザーエクスペリエンスを向上させます。
4.マルチユーザーシステムで役立つ:
- 多くのユーザーがいるシステムでは、このようなカスタマイズは、ログインしたユーザーのタイプとそのアクセスレベルをすばやく識別するのに役立ちます。これは、システム管理者にとって有益です。
短所
1。管理の複雑さ:
- カスタムプロンプトの実装と管理は、特に多数のユーザーまたはグループを持つシステムに複雑さを追加することができます。追加のスクリプトと構成が必要です。
2。誤解の可能性:
- 適切にセットアップされていない場合、そのようなスクリプトは誤解につながる可能性があります。たとえば、.bashrcに誤ってアプリを行うと、ユーザーの環境に影響を与える可能性のある不要な繰り返しや構文エラーさえもつながる可能性があります。
3。セキュリティ上の考慮事項:
- .bashrcのような構成ファイルに自動的にアプリがある場合、正しく処理されないとセキュリティリスクになる可能性があります。そのようなスクリプトがセキュリティの脆弱性を誤って開かないようにすることが重要です。
4。グループメンバーシップへの依存:
- この方法は、ユーザーのグループメンバーシップに依存しており、時間とともに変化する可能性があります。グループメンバーシップが適切に管理され、最新の状態であることが必要です。
5。視覚的な手がかりに依存する:
- ユーザーは、これらの視覚的な手がかりで過度に依存し、プロンプトのみに基づいて特権や環境について誤った仮定を行う可能性があります。これは、特にプロンプトの構成に問題がある場合、エラーにつながる可能性があります。
要約すると、グループメンバーシップに基づいてコマンドプロンプトをカスタマイズすることは、ユーザーエクスペリエンスの強化とマルチユーザーまたはマルチロール環境でのエラーの削減に役立ちます。ただし、複雑さ、誤解、および潜在的なセキュリティの問題を回避するために、慎重な実装と管理が必要です。
先に進んで、LinuxおよびUnixのようなシステムの特定のユーザーグループのコマンドプロンプトを変更する方法を見てみましょう。
次の手順は、Ubuntu 22.04 LTSシステムでテストされました。この方法が他のLinux分布でも機能することを願っています。
特定のユーザーグループのバッシュプロンプトを変更します
デモンストレーションのために、 「開発者」と呼ばれる新しいグループと「Senthil」という名前の新しいユーザーを作成します。そして、 「Developers」グループに「Senthil」ユーザーを追加します。
その結果、「Senthil」ユーザーがログインするたびに、プロンプトは自動的に「開発者Senthil@ubuntu2204:〜$」に変更されます。段階的に行う方法を見てみましょう。
ステップ1- Linuxでグループを作成します
グループを作成します:
次のコマンドを実行して、開発者という新しいグループを作成します。
$ Sudo GroupAdd開発者
このコマンドは、開発者と呼ばれる新しいグループを作成します。プロンプトが表示されれば、パスワードを入力する必要がある場合があります。
ステップ2-新しいユーザーを追加してグループに割り当てる
新しいユーザーを作成します:
Senthilという名前の新しいユーザーを作成するには、コマンドを使用します。
$ sudo adduser senthil
新しいユーザーのパスワードを設定し、オプションのユーザー情報を入力するように求められます。必要に応じてこれらを入力してください。
ユーザーをグループに追加します。
開発者グループにSenthilを追加するには、以下を使用してください。
$ sudo usermod -ag開発者Senthil
-AGオプションは、既存のグループメンバーシップを維持しながら、ユーザーをグループに追加します。
ステップ3-特定のユーザーグループにカスタムバッシュプロンプトを設定します
特定のグループのメンバーであるユーザーのコマンドプロンプトを変更する場合、ユーザーのグループをチェックしてプロンプトを変更するスクリプトを配置する場所に2つのオプションがあります。選択は、1人のユーザーまたは複数のユーザーに変更を適用するかどうかによって異なります。
個々のユーザーの.bashrcファイル:
- 変更を特定のユーザーにのみ適用する場合は、ホームディレクトリ(〜/.bashrc)にあるユーザーの.bashrcファイルに行を追加する必要があります。
- このアプローチはユーザー固有です。この変更を適用したい各ユーザーは、自分の.bashrcファイルにスクリプトを追加する必要があります。
- たとえば、Senthilのみが開発者グループの一部であるときに別のプロンプトを持たせたい場合は、Senthilの.bashrcファイルにのみ行を追加します。
グローバル構成ファイル/etc/bash.bashrc :
- この変更をシステム上のすべてのユーザーに適用する場合は、Global /etc/bash.bashrcファイルを編集できます。
- この方法は、すべてのユーザーの環境に変更を適用しますが、スクリプトは、指定されたグループにいるユーザーのプロンプトのみを変更します。
- これは、グループに複数のユーザーがいて、個々の.bashrcファイルを編集せずにすべてのユーザーに同じ動作を必要とする場合に役立ちます。
ローカル〜/.bashrcまたはglobal/etc/bash.bashrcファイルに変更を加える前に、それらをバックアップすることを強くお勧めします。これにより、何かがうまくいかない場合は、元の設定を復元できます。
ユーザーの〜/.bashrcファイルをバックアップするには、実行します。
$ cp〜/.bashrc〜/.bashrc_backup
グローバルbashrcファイルをバックアップするには、実行してください。
$ sudo cp /etc/bash.bashrc /etc/bash.bashrc_backup
適切なBashRCファイルをバックアップした後、お気に入りのエディターを使用して開きます。
ここでは、この方法をシステム内のすべてのユーザーに適用するため、Global /etc/bash.bashrcファイルを編集します。
$ sudo nano /etc/bash.bashrc
最後に次の行を追加します。
bashrc_file = "/home/$(whoami)/。bashrc" developer_prompt = 'ps1 = "developer- \ u@\ h:\ w \ $"' #.bashrcにps1を追加または更新する関数 add_or_update_ps1(){ prompt_line = $ 1 grep -qf- "$ prospt_line" "$ bashrc_file" || echo "$ prompt_line" >> "$ bashrc_file" } id -ng "$(whoami)" | GREP -QW「開発者」;それから add_or_update_ps1 "$ developer_prompt" fi
上記のコードを分解して、各オプションが何をするかを見てみましょう。
変数の定義:
- bashrc_fileは、ユーザーの.bashrcファイルへのパスを保持します。
- Developer_Promptは、ユーザーのPS1文字列を開発者グループに属します。
関数add_or_update_ps1 :
- この関数は、引数として迅速な行を取ります。
- Grep -QFを使用して、正確なプロンプトラインが.bashrcに既に存在するかどうかを確認します。
- - 後続の文字列がコマンドオプションとしてではなく、文字通りとして扱われることを保証します。
- 存在しない場合(||)、プロンプト行は.bashrcに追加されます。
グループメンバーシップを確認し、プロンプトを適用します。
- スクリプトは、ユーザーが開発者グループにいるかどうかを確認します。
- ユーザーが開発者グループに属している場合、developer_promptを使用してadd_or_update_ps1を呼び出します。
要約すると、このスクリプトは、.bashrcファイルにカスタムプロンプト定義を追加することにより、開発者グループに属するユーザーのコマンドプロンプトを変更します。重複を避けるために、カスタムプロンプトが一度だけ追加されることを保証します。
Ctrl oを押し続けてCtrl Xを続けてファイルを保存して終了します。
いずれかのファイルを編集した後、変更は新しいシェルセッションが開始されたときにのみ有効になることを忘れないでください。ユーザーはログアウトして戻ってくるか、現在のセッションでソース〜/.bashrcを実行してすぐに変更を適用できます。
コマンドを使用して変更を適用します。
$ source /etc/bash.bashrc
ステップ4-バッシュプロンプトを確認します
ここで、ログアウトして、ユーザー「Senthil」としてログインします。ターミナルを開くと、ユーザーのプロンプトがこのようなものに変更されていることがわかります。
システムにGUIがない場合は、SSHによって他のシステムからシステムにそれを確認できます。
開発者Senthil@ubuntu2204:〜$
見る?ユーザーのBASHプロンプトが変更されました。
Sudo Groupメンバーシップに基づいて、Bashプロンプトを変更します
このスクリプトをさらに変更して、さまざまなタイプのユーザーを区別できます。
たとえば、LinuxのSudoグループに属している通常のユーザーと管理者ユーザーを区別できます。これには、ユーザーがSUDO特権を持っているかどうかに基づいてコマンドプロンプトを変更することが含まれます。
次の行をGlobal /etc/bash.bashrcファイルに追加するか、個々のユーザーの.bashrcファイルに追加します。
bashrc_file = "/home/$(whoami)/。bashrc" sudo_prompt = 'ps1 = "sudouser- \ u@\ h:\ w \ $"' remorm_prompt = 'ps1 = "normaluser- \ u@\ h:\ w \ $"' #.bashrcにps1を追加または更新する関数 add_or_update_ps1(){ prompt_line = $ 1 grep -qf- "$ prospt_line" "$ bashrc_file" || echo "$ prompt_line" >> "$ bashrc_file" } id -ng "$(whoami)" | grep -qw "sudo";それから add_or_update_ps1 "$ sudo_prompt" それ以外 add_or_update_ps1 "$ normal_prompt" fi
このスクリプトは、プロンプトをSudouser-
これは推奨されるセットアップですか?
このセットアップが推奨されるかどうかは、システムのコンテキストとニーズによって異なります。
利点:
- クリアロール識別:グループ固有のプロンプトと同様に、このセットアップは、現在のユーザーセッションにSUDO特権があるかどうかを即座に識別するのに役立ちます。これは、マルチユーザー環境で特に役立ちます。
- エラー防止:ユーザーの特権を絶えずリマインダーとして機能し、潜在的に高度な特権を伴う偶発的なコマンドを防止します。
短所:
- 複雑さとメンテナンス:カスタマイズと同様に、システム構成に複雑さの層を追加し、適切なメンテナンスが必要です。
- 誤ったセキュリティの感覚:ユーザーは、セキュリティまたは自己満足の誤った感覚を開発する可能性があります。ただし、実際のアクセス許可はより微妙でコンテキスト依存しています。
- 誤解の可能性:誤って実装されているため、混乱や誤解につながる可能性があります。
要約すると、コマンドプロンプトをカスタマイズして通常のユーザーとSUDOユーザーを区別することは、特にユーザー特権の迅速な識別が重要な場合、特定の環境で役立ちます。
ただし、複雑さを追加し、システム管理者の特定のニーズと管理機能に依存するため、普遍的に推奨されていません。
.bashrcファイルをデフォルト設定に復元します
問題が発生した場合、バックアップから.bashrcファイルを復元することで変更を戻すことができます。バックアップを作成しなかった場合は、ファイルをもう一度手動で編集して、前の手順に追加したカスタムスクリプトを削除またはコメントすることができます。
また、DebianおよびUbuntuシステムには/etc/skel/ディレクトリに.bashrcファイルのデフォルトバージョンがあります。
$ ls -al/etc/skel/ 合計32 DRWXR-XR-X 2ルートルート4096 1月8日18:02。 DRWXR-XR-X 138ルートルート12288 1月8日17:55 .. -rw-r - r-- 1ルートルート220 2022年1月6日.bash_logout -RW-R - R-- 1ルートルート4116 1月8日18:00<strong><mark> .bashrc</mark> -rw-r - r-- 1ルートルート807 2022年1月6日.profile</strong>
〜/.bashrcファイルのデフォルトバージョンを以下のように現在のバージョンにコピーします。
$ cp /etc/skel/.bashrc〜/
最後に、次のコマンドを実行して変更を更新します。
$ source〜/.bashrc
詳細については、次のリンクを確認してください。
.bashrcファイルをubuntuのデフォルト設定に復元する方法
結論
このチュートリアルでは、特定のグループのユーザーにカスタムバッシュプロンプトを設定する方法、およびLinuxのコマンドプロンプトをサンプルスクリプトで変更する利点と短所について説明しました。
BASHプロンプトを変更することは、特定の環境での特定のニーズに役立ちますが、一般的に初心者にはお勧めしません。
これらの変更を実装する前に、このアプローチを仮想マシンでテストし、潜在的なリスクと複雑さに対する利点を比較検討することを常に習得することをお勧めします。
関連する読み取り:
- LinuxでSudoプロンプトを変更する方法
以上がLinuxの特定のユーザーグループのバッシュプロンプトを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このガイドでは、ディスクI/Oのパフォーマンスを監視およびトラブルシューティングするための必須のLinuxツールを調査します。これは、サーバーの速度とアプリケーションの応答性に影響を与える重要なメトリックです。 ディスクI/Oパフォーマンスは、データの読み取りと書き込みの速さに直接影響します

新しいLinuxユーザーの場合、接続されたデバイスを識別することが非常に重要です。特にUSBドライブです。 このガイドは、フォーマットなどのタスクに不可欠なUSBデバイスの名前を決定するためのいくつかのコマンドラインメソッドを提供します。 しばしばUSBドライブが自動マウントされることがよくあります(例: /

Linuxシステム、特にディスクスペースが限られている問題の最も一般的な問題の1つは、ルートパーティション(/)スペースの消耗です。 この問題が発生した場合、次のエラーに遭遇する可能性があります。 デバイスにスペースが残っていません 慌てないで!これは、ルートディレクトリ(/パーティション)がいっぱいであることを意味します。これは、特に24時間年中無休で実行されているディスクスペースが限られているシステムまたはサーバーが限られているシステムでの一般的な問題です。 これが発生した場合、次の問題に遭遇する可能性があります。 パッケージをインストールまたはアップグレードすることはできません。 システムの起動に失敗しました。 サービスを開始できません。 ログまたは一時ファイルに書き込むことができません。 この記事では、問題を特定し、空間を安全に清掃し、それらが再び発生するのを防ぐための実用的な手順について説明します。これらの指示は初心者に適しています

この記事では、Linuxユーザー向けのトップノッチパッドの代替品について説明します。 Notepadは、Windowsでは優れていますが、Linuxバージョンがありません。 このガイドは、さまざまなニーズや好みに合わせて多様なオプションを提供します。 のトップメモ帳の代替品

数日前、私は32ビットのCentos 8分布に遭遇し、古い32ビットシステムでテストすることにしました。 起動後、ネットワーク接続の問題を発見しました。接続が低下し、再起動するたびに手動の修復が必要になります。このPR

悪いセクターまたは悪いブロックを構成するものを明確にしましょう。これは、通常、ディスク表面に物理的な損傷またはフラッシュメモリトランジスタの誤動作があるため、読み取れない、または手書きのハードドライブまたはフラッシュメモリの一部です。 蓄積

「コピー」の略であるCPコマンドは、ファイルとディレクトリを複製するためのLinuxおよびその他のUNIXのようなシステムの基本ツールです。 ローカルファイルの転送には効率的ですが、ネットワークベースのコピーの場合、iによりSCP(セキュアコピー)が推奨されます。

RMコマンドを使用してLinuxシステムのファイルまたはディレクトリを削除する場合、次のエラーが発生した場合は次のとおりです。 RM:「ファイルまたはディレクトリ」を削除できません:デバイスまたはリソースはビジーです 心配しないでください。これは一般的な問題です。つまり、削除しようとしているファイルまたはディレクトリが現在、システムまたは実行プロセスで使用されていることを意味します。 エラーの原因 「デバイスまたはリソースビジー」メッセージは、ファイルまたはディレクトリが使用されていることを示しています。システムの損傷やデータの損失の原因を避けるために、Linuxは使用中のファイルの削除を防ぎます。 一般的な理由は次のとおりです。 ターミナルは現在、削除するディレクトリにあります。 プログラムまたはプロセスは、ファイルまたはディレクトリを使用しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ホットトピック









