우리는 이미 Linux에서 기본 배쉬 프롬프트를 사용자 정의하는 방법을 살펴 보았습니다. 이 튜토리얼에서는 Linux 및 Unix와 같은 시스템의 특정 사용자 그룹에 대한 BASH 프롬프트를 변경하는 방법을 배웁니다.
사용자 그룹에 맞춤형 배쉬 프롬프트를 설정하기 전에이 접근법의 장점과 단점을 이해하는 것이 중요합니다.
목차
그룹 별 명령 프롬프트의 장점과 단점
특정 시나리오에서는 Linux에서 그룹 별 명령 프롬프트를 사용하는 것이 유리할 수 있지만 몇 가지 고려 사항도 제공됩니다. 장점과 단점은 다음과 같습니다.
장점
1. 사용자 역할의 쉽게 식별 :
- 그룹 멤버십을 기반으로 명령 프롬프트를 사용자 정의하면 작업중인 역할 또는 환경을 쉽게 식별 할 수 있습니다. 예를 들어, 개발자 프롬프트는 사용자에게 개발자 그룹 또는 환경에 속한다는 것을 즉시 알려줍니다.
2. 오류 감소 :
- 사용자 정의 프롬프트는 특히 사용자가 여러 역할이나 서버간에 전환하는 환경에서 오류를 줄이는 데 도움이 될 수 있습니다. 예를 들어, 관리자 사용자에게 뚜렷한 프롬프트는 더 높은 수준의 권한을 상기시키고주의를 기울일 수 있습니다.
3. 향상된 사용자 경험 :
- 여러 그룹에 속한 사용자의 경우 사용자 정의 프롬프트는 현재 그룹의 명확하고 시각적 표시를 제공하여 터미널을보다 유익하고 사용자 친화적으로 만들어 사용자 경험을 향상시킵니다.
4. 다중 사용자 시스템에 유용 :
- 많은 사용자가있는 시스템에서 이러한 사용자 정의는 로그인 한 사용자 유형과 액세스 레벨을 신속하게 식별하는 데 도움이 될 수 있으며, 이는 시스템 관리자에게 유리합니다.
단점
1. 관리의 복잡성 :
- 사용자 정의 프롬프트 구현 및 관리는 특히 많은 사용자 또는 그룹이있는 시스템에서 복잡성을 추가 할 수 있습니다. 추가 스크립팅 및 구성이 필요합니다.
2. 오해의 잠재력 :
- 제대로 설정되지 않으면 이러한 스크립트는 잘못된 구성으로 이어질 수 있습니다. 예를 들어 .BASHRC에 잘못 추가하면 사용자의 환경에 영향을 줄 수있는 원치 않는 반복 또는 구문 오류가 발생할 수 있습니다.
3. 보안 고려 사항 :
- .BASHRC와 같은 구성 파일에 자동으로 추가하면 올바르게 처리하지 않으면 보안 위험이 될 수 있습니다. 이러한 스크립트가 실수로 보안 취약점을 열지 않도록하는 것이 중요합니다.
4. 그룹 멤버십에 대한 의존성 :
- 이 방법은 사용자 그룹 멤버십에 의존하여 시간이 지남에 따라 변경 될 수 있습니다. 그룹 멤버십은 적절하게 관리되고 최신 상태가 필요합니다.
5. 시각적 신호에 대한 과도한 관계 :
- 사용자는 이러한 시각적 신호에 대해 과도하게 설립되어 프롬프트만으로 특권이나 환경에 대한 잘못된 가정을 할 수 있으며, 특히 프롬프트 구성에 문제가있는 경우 오류로 이어질 수 있습니다.
요약하면, 그룹 멤버십을 기반으로 명령 프롬프트를 사용자 정의하는 것은 사용자 경험을 향상시키고 다중 사용자 또는 다중 역할 환경에서 오류를 줄이는 데 유용 할 수 있습니다. 그러나 복잡성, 오해 및 잠재적 보안 문제를 피하기 위해 신중한 구현 및 관리가 필요합니다.
계속해서 Linux 및 Unix와 같은 시스템의 특정 사용자 그룹에 대한 명령 프롬프트를 변경하는 방법을 살펴 보겠습니다.
우분투 22.04 LTS 시스템에서 다음 단계를 테스트했습니다. 이 방법이 다른 Linux 배포판에서도 작동하기를 바랍니다.
특정 사용자 그룹의 BASH 프롬프트를 변경하십시오
데모 목적으로 '개발자' 라는 새 그룹과 'Senthil' 이라는 새로운 사용자를 만들 것입니다. 그런 다음 'Senthil' 사용자를 '개발자' 그룹에 추가합니다.
결과적으로 'Senthil'사용자가 로그인 할 때마다 프롬프트가 자동으로 'Developer-Senthil@ubuntu2204 : ~ $' 로 변경됩니다. 단계별로 수행하는 방법을 봅시다.
1 단계 - Linux에서 그룹 생성
그룹 만들기 :
다음 명령을 실행하여 개발자라는 새 그룹을 만듭니다.
$ Sudo GroupAdd 개발자
이 명령은 개발자라는 새로운 그룹을 만듭니다. 프롬프트가있는 경우 비밀번호를 입력해야 할 수도 있습니다.
2 단계 - 새 사용자 추가 및 그룹에 할당
새 사용자 생성 :
Senthil이라는 새 사용자를 만들려면 다음 명령을 사용하십시오.
$ Sudo Adduser Senthil
새 사용자의 비밀번호를 설정하고 일부 선택 사용자 정보를 작성하라는 메시지가 표시됩니다. 필요에 따라 이것을 채우십시오.
그룹에 사용자 추가 :
개발자 그룹에 Senthil을 추가하려면 다음을 사용하십시오.
$ sudo usermod -Ag 개발자 senthil
-AG 옵션은 기존 그룹 멤버십을 유지하면서 사용자를 그룹에 추가합니다.
3 단계 - 특정 사용자 그룹에 대한 사용자 정의 bash 프롬프트 설정
특정 그룹의 구성원 인 사용자의 명령 프롬프트를 변경하려면 사용자 그룹을 확인하고 프롬프트를 변경하는 스크립트를 배치 할 위치에 대한 두 가지 옵션이 있습니다. 선택은 변경 사항이 단일 사용자 또는 여러 사용자에게 적용 할 것인지 여부에 따라 다릅니다.
개별 사용자의 .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
Global 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 () { 프롬프트 _line = $ 1 grep -qf -"$ prompt_line" "$ bashrc_file"|| echo "$ prompt_line">> "$ bashrc_file" } ID ID -NG "$ (WHOAMI)"| Grep -QW "개발자"; 그 다음에 add_or_update_ps1 "$ developer_prompt" fi
위의 코드를 세분화하고 각 옵션이 무엇을하는지 살펴 보겠습니다.
변수 정의 :
- bashrc_file은 사용자의 .bashrc 파일의 경로를 보유합니다.
- 개발자 _prompt 사용자의 PS1 문자열은 개발자 그룹에 속합니다.
함수 add_or_update_ps1 :
- 이 기능은 인수로 프롬프트 줄을 취합니다.
- GREP -QF를 사용하여 정확한 프롬프트 라인이 이미 .bashrc에 존재하는지 확인합니다.
- - - 후속 문자열이 명령 옵션이 아닌 문자로 취급되도록합니다.
- 존재하지 않으면 (||) 프롬프트 라인이 .bashrc에 추가됩니다.
그룹 멤버십을 확인하고 프롬프트를 적용하십시오 .
- 스크립트는 사용자가 개발자 그룹에 있는지 확인합니다.
- 사용자가 Developers Group에 속한 경우 Developer_Prompt로 add_or_update_ps1을 호출합니다.
요약하면,이 스크립트는 .bashrc 파일에 사용자 정의 프롬프트 정의를 추가하여 개발자 그룹에 속한 사용자의 명령 프롬프트를 변경합니다. 중복을 피하기 위해 사용자 정의 프롬프트가 한 번만 추가되도록 합니다.
Ctrl O 와 Ctrl X를 눌러 파일을 저장하고 종료하십시오.
두 파일을 편집 한 후에는 새 쉘 세션이 시작될 때만 변경 사항이 적용됩니다. 사용자는 로그 아웃하거나 다시 들어올 수 있거나 현재 세션에서 소스 ~/.bashrc를 실행하여 즉시 변경 사항을 적용 할 수 있습니다.
명령을 사용하여 변경 사항을 적용하십시오.
$ source /etc/bash.bashrc
4 단계 - bash 프롬프트를 확인하십시오
이제 로그 아웃하고 사용자 'senthil'으로 로그인하십시오. 터미널을 열면 사용자의 프롬프트가 다음과 같은 것으로 변경되었습니다.
시스템에 GUI가없는 경우 SSH로 다른 시스템에서 시스템으로 확인할 수 있습니다.
Developer-Senthil@ubuntu2204 : ~ $
보다? 사용자의 배쉬 프롬프트가 변경되었습니다.
Sudo Group 멤버십을 기반으로 Bash 프롬프트를 변경하십시오
다른 유형의 사용자를 구별하기 위해이 스크립트를 추가로 수정할 수 있습니다.
예를 들어 Linux의 Sudo 그룹에 속한 일반 사용자 및 관리 사용자를 구별 할 수 있습니다. 여기에는 사용자가 Sudo 권한이 있는지 여부에 따라 명령 프롬프트를 수정하는 것이 포함됩니다.
다음 줄을 Global /etc/bash.bashrc 파일 또는 개별 사용자의 .bashrc 파일에 추가하십시오.
bashrc_file = "/home/$ (Whoami)/. bashrc" sudo_prompt = 'ps1 = "sudouser- \ u \ h : \ w \ $"' ' normal_prompt = 'ps1 = "normaluser- \ u@\ h : \ w \ $"' ' # .BASHRC에서 PS1을 추가하거나 업데이트하는 기능 add_or_update_ps1 () { 프롬프트 _line = $ 1 grep -qf -"$ prompt_line" "$ bashrc_file"|| echo "$ prompt_line">> "$ bashrc_file" } ID ID -NG "$ (WHOAMI)"| Grep -QW "Sudo"; 그 다음에 add_or_update_ps1 "$ sudo_prompt" 또 다른 add_or_update_ps1 "$ normal_prompt" fi
이 스크립트는 Sudo Group의 사용자와 Sudo 그룹이 아닌 사용자의 경우 Sudouser-
권장 설정입니까?
이 설정이 권장되는지 여부는 시스템의 컨텍스트 및 요구에 따라 다릅니다.
장점 :
- 명확한 역할 식별 : 그룹 별 프롬프트와 유사하게,이 설정은 현재 사용자 세션에 Sudo 권한이 있는지 여부를 즉시 식별하는 데 도움이되며, 이는 다중 사용자 환경에서 특히 유용 할 수 있습니다.
- 오류 예방 : 사용자의 권한을 지속적으로 상기 시켜서 권한이 높아진 우발적 인 명령을 방지 할 수 있습니다.
단점 :
- 복잡성 및 유지 보수 : 모든 사용자 정의와 마찬가지로 시스템 구성에 복잡성 계층을 추가하고 적절한 유지 보수가 필요합니다.
- 잘못된 보안 감각 : 사용자는 잘못된 보안 또는 만족감을 개발하여 신속한 변화가 자신의 특권을 완전히 반영한다고 생각할 수 있습니다. 그러나 실제 권한은 더 미묘하고 상황에 따라 다릅니다.
- 오해의 가능성 : 잘못 구현하면 혼란이나 오해로 이어질 수 있습니다.
요약하면, 일반 사용자와 Sudo 사용자를 구별하기 위해 명령 프롬프트를 사용자 정의하면 특정 환경에서 특히 사용자 권한을 빠르게 식별하는 경우 유용 할 수 있습니다.
그러나 복잡성을 추가하고 시스템 관리자의 특정 요구 및 관리 기능에 따라 다르므로 보편적으로 권장되지 않습니다.
.BASHRC 파일을 기본 설정으로 복원하십시오
문제가 발생하면 백업에서 .bashrc 파일을 복원하여 변경 사항을 되돌릴 수 있습니다. 백업을하지 않은 경우 파일을 수동으로 수동으로 편집하고 이전 단계에서 추가 한 사용자 정의 스크립트를 제거하거나 댓글을 달 수 있습니다.
또한 Debian 및 Ubuntu 시스템의 /etc/skel/ directory에는 .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---- 1 루트 루트 220 2022 년 1 월 6 일 .bash_logout -rw-r---- 1 루트 루트 4116 1 월 8 일 18:00<strong><mark> .BASHRC</mark> -rw-r---- 1 루트 루트 807 2022 년 1 월 6 일 .profile</strong>
~/.bashrc 파일의 기본 버전을 다음과 같이 현재 버전으로 복사하십시오.
$ cp /etc/skel/.bashrc ~/
마지막으로 다음 명령을 실행하여 변경 사항을 업데이트하십시오.
$ source ~/.bashrc
자세한 내용은 다음 링크를 확인하십시오.
Ubuntu에서 .bashrc 파일을 기본 설정으로 복원하는 방법
결론
이 튜토리얼에서는 특정 그룹의 사용자를위한 사용자 정의 bash 프롬프트를 설정하는 방법과 예제 스크립트와 함께 Linux의 명령 프롬프트를 변경하는 장단점에 대해 논의했습니다.
Bash 프롬프트를 수정하는 것은 특정 환경의 특정 요구에 유용 할 수 있지만 일반적으로 초보자에게는 권장되지 않습니다.
가상 머신 에서이 접근법을 테스트하고 이러한 변경 사항을 구현하기 전에 잠재적 위험과 복잡성에 대한 이점을 평가하는 것이 항상 좋은 관행입니다.
관련 읽기 :
- Linux에서 Sudo 프롬프트를 변경하는 방법
위 내용은 Linux에서 특정 사용자 그룹의 BASH 프롬프트를 변경하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

소개 Linux는 유연성과 효율성으로 인해 개발자, 시스템 관리자 및 전원 사용자가 선호하는 강력한 운영 체제입니다. 그러나 길고 복잡한 명령을 자주 사용하는 것은 지루하고 응급실이 될 수 있습니다.

Linux는 서버, 개발 환경 및 임베디드 시스템에 적합합니다. 1. 서버 운영 체제로서 Linux는 안정적이고 효율적이며 종종 고 대전성 애플리케이션을 배포하는 데 사용됩니다. 2. 개발 환경으로서 Linux는 효율적인 명령 줄 도구 및 패키지 관리 시스템을 제공하여 개발 효율성을 향상시킵니다. 3. 임베디드 시스템에서 Linux는 가볍고 사용자 정의 가능하며 자원이 제한된 환경에 적합합니다.

소개 : Linux 기반의 윤리적 해킹으로 디지털 프론티어 보안 점점 더 상호 연결된 세상에서 사이버 보안이 가장 중요합니다. 윤리적 해킹 및 침투 테스트는 취약점을 적극적으로 식별하고 완화하는 데 필수적입니다.

기본 Linux 학습 방법은 다음과 같습니다. 1. 파일 시스템 및 명령 줄 인터페이스 이해, 2. LS, CD, MKDIR, 3. 파일 생성 및 편집과 같은 파일 작업 배우기, 4. 파이프 라인 및 GREP 명령과 같은 고급 사용법, 5. 연습 및 탐색을 통해 지속적으로 기술을 향상시킵니다.

Linux는 서버, 임베디드 시스템 및 데스크탑 환경에서 널리 사용됩니다. 1) 서버 필드에서 Linux는 안정성 및 보안으로 인해 웹 사이트, 데이터베이스 및 응용 프로그램을 호스팅하기에 이상적인 선택이되었습니다. 2) 임베디드 시스템에서 Linux는 높은 사용자 정의 및 효율성으로 인기가 있습니다. 3) 데스크탑 환경에서 Linux는 다양한 사용자의 요구를 충족시키기 위해 다양한 데스크탑 환경을 제공합니다.

Linux의 단점에는 사용자 경험, 소프트웨어 호환성, 하드웨어 지원 및 학습 곡선이 포함됩니다. 1. 사용자 경험은 Windows 또는 MacOS만큼 친절하지 않으며 명령 줄 인터페이스에 의존합니다. 2. 소프트웨어 호환성은 다른 시스템만큼 좋지 않으며 많은 상용 소프트웨어의 기본 버전이 부족합니다. 3. 하드웨어 지원은 Windows만큼 포괄적이지 않으며 드라이버를 수동으로 컴파일 할 수 있습니다. 4. 학습 곡선은 가파르고 명령 줄 운영을 마스터하는 데 시간과 인내가 필요합니다.

LinuxisNothardTolearn, ButtheDifficulturedsonyourbackground 및 Ggoals.forthosewithoSexperience, 특히 Command-linefamiliarity, BeginnersMayFaceAsTeeperLearneLearneCURVEBUTCANMANAGEWITHPROPERSORCES.LINUX'SOURCENATURY, BAS

Linux의 5 가지 기본 구성 요소는 다음과 같습니다. 1. 커널, 하드웨어 리소스 관리; 2. 기능과 서비스를 제공하는 시스템 라이브러리; 3. 쉘, 사용자가 시스템과 상호 작용할 수있는 인터페이스; 4. 파일 시스템, 데이터 저장 및 구성; 5. 시스템 리소스를 사용하여 기능을 구현합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

드림위버 CS6
시각적 웹 개발 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구
