우리는 이미 Linux에서 기본 배쉬 프롬프트를 사용자 정의하는 방법을 살펴 보았습니다. 이 튜토리얼에서는 Linux 및 Unix와 같은 시스템의 특정 사용자 그룹에 대한 BASH 프롬프트를 변경하는 방법을 배웁니다.
사용자 그룹에 맞춤형 배쉬 프롬프트를 설정하기 전에이 접근법의 장점과 단점을 이해하는 것이 중요합니다.
목차
특정 시나리오에서는 Linux에서 그룹 별 명령 프롬프트를 사용하는 것이 유리할 수 있지만 몇 가지 고려 사항도 제공됩니다. 장점과 단점은 다음과 같습니다.
1. 사용자 역할의 쉽게 식별 :
2. 오류 감소 :
3. 향상된 사용자 경험 :
4. 다중 사용자 시스템에 유용 :
1. 관리의 복잡성 :
2. 오해의 잠재력 :
3. 보안 고려 사항 :
4. 그룹 멤버십에 대한 의존성 :
5. 시각적 신호에 대한 과도한 관계 :
요약하면, 그룹 멤버십을 기반으로 명령 프롬프트를 사용자 정의하는 것은 사용자 경험을 향상시키고 다중 사용자 또는 다중 역할 환경에서 오류를 줄이는 데 유용 할 수 있습니다. 그러나 복잡성, 오해 및 잠재적 보안 문제를 피하기 위해 신중한 구현 및 관리가 필요합니다.
계속해서 Linux 및 Unix와 같은 시스템의 특정 사용자 그룹에 대한 명령 프롬프트를 변경하는 방법을 살펴 보겠습니다.
우분투 22.04 LTS 시스템에서 다음 단계를 테스트했습니다. 이 방법이 다른 Linux 배포판에서도 작동하기를 바랍니다.
데모 목적으로 '개발자' 라는 새 그룹과 'Senthil' 이라는 새로운 사용자를 만들 것입니다. 그런 다음 'Senthil' 사용자를 '개발자' 그룹에 추가합니다.
결과적으로 'Senthil'사용자가 로그인 할 때마다 프롬프트가 자동으로 'Developer-Senthil@ubuntu2204 : ~ $' 로 변경됩니다. 단계별로 수행하는 방법을 봅시다.
그룹 만들기 :
다음 명령을 실행하여 개발자라는 새 그룹을 만듭니다.
$ Sudo GroupAdd 개발자
이 명령은 개발자라는 새로운 그룹을 만듭니다. 프롬프트가있는 경우 비밀번호를 입력해야 할 수도 있습니다.
새 사용자 생성 :
Senthil이라는 새 사용자를 만들려면 다음 명령을 사용하십시오.
$ Sudo Adduser Senthil
새 사용자의 비밀번호를 설정하고 일부 선택 사용자 정보를 작성하라는 메시지가 표시됩니다. 필요에 따라 이것을 채우십시오.
그룹에 사용자 추가 :
개발자 그룹에 Senthil을 추가하려면 다음을 사용하십시오.
$ sudo usermod -Ag 개발자 senthil
-AG 옵션은 기존 그룹 멤버십을 유지하면서 사용자를 그룹에 추가합니다.
특정 그룹의 구성원 인 사용자의 명령 프롬프트를 변경하려면 사용자 그룹을 확인하고 프롬프트를 변경하는 스크립트를 배치 할 위치에 대한 두 가지 옵션이 있습니다. 선택은 변경 사항이 단일 사용자 또는 여러 사용자에게 적용 할 것인지 여부에 따라 다릅니다.
개별 사용자의 .bashrc 파일 :
글로벌 구성 파일 /etc/bash.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
위의 코드를 세분화하고 각 옵션이 무엇을하는지 살펴 보겠습니다.
변수 정의 :
함수 add_or_update_ps1 :
그룹 멤버십을 확인하고 프롬프트를 적용하십시오 .
요약하면,이 스크립트는 .bashrc 파일에 사용자 정의 프롬프트 정의를 추가하여 개발자 그룹에 속한 사용자의 명령 프롬프트를 변경합니다. 중복을 피하기 위해 사용자 정의 프롬프트가 한 번만 추가되도록 합니다.
Ctrl O 와 Ctrl X를 눌러 파일을 저장하고 종료하십시오.
두 파일을 편집 한 후에는 새 쉘 세션이 시작될 때만 변경 사항이 적용됩니다. 사용자는 로그 아웃하거나 다시 들어올 수 있거나 현재 세션에서 소스 ~/.bashrc를 실행하여 즉시 변경 사항을 적용 할 수 있습니다.
명령을 사용하여 변경 사항을 적용하십시오.
$ source /etc/bash.bashrc
이제 로그 아웃하고 사용자 'senthil'으로 로그인하십시오. 터미널을 열면 사용자의 프롬프트가 다음과 같은 것으로 변경되었습니다.
시스템에 GUI가없는 경우 SSH로 다른 시스템에서 시스템으로 확인할 수 있습니다.
Developer-Senthil@ubuntu2204 : ~ $
보다? 사용자의 배쉬 프롬프트가 변경되었습니다.
다른 유형의 사용자를 구별하기 위해이 스크립트를 추가로 수정할 수 있습니다.
예를 들어 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 사용자를 구별하기 위해 명령 프롬프트를 사용자 정의하면 특정 환경에서 특히 사용자 권한을 빠르게 식별하는 경우 유용 할 수 있습니다.
그러나 복잡성을 추가하고 시스템 관리자의 특정 요구 및 관리 기능에 따라 다르므로 보편적으로 권장되지 않습니다.
문제가 발생하면 백업에서 .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에서 특정 사용자 그룹의 BASH 프롬프트를 변경하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!