찾다
시스템 튜토리얼리눅스Linux에서 특정 사용자 그룹의 BASH 프롬프트를 변경하는 방법

우리는 이미 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 OCtrl X를 눌러 파일을 저장하고 종료하십시오.

두 파일을 편집 한 후에는 새 쉘 세션이 시작될 때만 변경 사항이 적용됩니다. 사용자는 로그 아웃하거나 다시 들어올 수 있거나 현재 세션에서 소스 ~/.bashrc를 실행하여 즉시 변경 사항을 적용 할 수 있습니다.

명령을 사용하여 변경 사항을 적용하십시오.

 $ source /etc/bash.bashrc

4 단계 - bash 프롬프트를 확인하십시오

이제 로그 아웃하고 사용자 'senthil'으로 로그인하십시오. 터미널을 열면 사용자의 프롬프트가 다음과 같은 것으로 변경되었습니다.

Linux에서 특정 사용자 그룹의 BASH 프롬프트를 변경하는 방법

시스템에 GUI가없는 경우 SSH로 다른 시스템에서 시스템으로 확인할 수 있습니다.

 Developer-Senthil@ubuntu2204 : ~ $

Linux에서 특정 사용자 그룹의 BASH 프롬프트를 변경하는 방법

보다? 사용자의 배쉬 프롬프트가 변경되었습니다.

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- @hostName : ~ $로 프롬프트를 변경합니다.

권장 설정입니까?

이 설정이 권장되는지 여부는 시스템의 컨텍스트 및 요구에 따라 다릅니다.

장점 :

  • 명확한 역할 식별 : 그룹 별 프롬프트와 유사하게,이 설정은 현재 사용자 세션에 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Linux 별칭을 사용하여 사용자 정의 명령 바로 가기로 생산성을 높이십시오Linux 별칭을 사용하여 사용자 정의 명령 바로 가기로 생산성을 높이십시오Apr 12, 2025 am 11:43 AM

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

Linux는 실제로 좋은 것은 무엇입니까?Linux는 실제로 좋은 것은 무엇입니까?Apr 12, 2025 am 12:20 AM

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

Linux에서 윤리적 해킹을 마스터하기위한 필수 도구 및 프레임 워크Linux에서 윤리적 해킹을 마스터하기위한 필수 도구 및 프레임 워크Apr 11, 2025 am 09:11 AM

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

Linux 기본 사항을 배우는 방법?Linux 기본 사항을 배우는 방법?Apr 10, 2025 am 09:32 AM

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

Linux를 가장 많이 사용하는 것은 무엇입니까?Linux를 가장 많이 사용하는 것은 무엇입니까?Apr 09, 2025 am 12:02 AM

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

리눅스의 단점은 무엇입니까?리눅스의 단점은 무엇입니까?Apr 08, 2025 am 12:01 AM

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

Linux는 배우기가 어렵습니까?Linux는 배우기가 어렵습니까?Apr 07, 2025 am 12:01 AM

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

Linux의 5 가지 기본 구성 요소는 무엇입니까?Linux의 5 가지 기본 구성 요소는 무엇입니까?Apr 06, 2025 am 12:05 AM

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

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SecList

SecList

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

DVWA

DVWA

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

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구