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

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

Joseph Gordon-Levitt
풀어 주다: 2025-03-20 09:37:10
원래의
705명이 탐색했습니다.

우리는 이미 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿