탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
시스템 관리 설명서: 기본 관리 Oracle Solaris 10 8/11 Information Library (한국어) |
2. Solaris Management Console 작업(작업)
3. Oracle Java Web Console 작업(작업)
11. Oracle Solaris 부트 동작 수정(작업)
13. Oracle Solaris 부트 아카이브 관리(작업)
14. Oracle Solaris 시스템 부트(작업) 문제 해결
16. x86: GRUB가 구현되지 않은 시스템 부트(작업)
17. Oracle Solaris 자동 등록 regadm 명령 작업(작업)
21. Oracle Solaris 시스템 관리 도구를 사용하여 소프트웨어 관리(작업)
사용자의 홈 디렉토리 설정 중 하나는, 사용자의 로그인 셸에 대한 사용자 초기화 파일을 제공하는 것입니다. 사용자 초기화 파일은 사용자가 시스템에 로그인한 후 사용자 작업 환경을 설정하는 셸 스크립트입니다. 기본적으로, 셸 스크립트에 가능한 모든 작업을 사용자 초기화 파일에서 수행할 수 있습니다. 그러나 사용자 초기화 파일의 주 작업은 사용자의 검색 경로, 환경 변수, 윈도우화 환경과 같은 사용자 작업 환경의 특성을 정의하는 것입니다. 각 로그인 셸에는 다음 표에 나열된 것과 같은 고유의 사용자 초기화 파일이 있습니다.
표 4-15 Bourne, C, Korn 셸에 대한 사용자 초기화 파일
|
표 4-16 기본 사용자 초기화 파일
|
이러한 파일을 시작점으로 사용하여 내용을 수정한 후 모든 사용자에 공통되는 작업 환경을 제공하는 표준 파일 세트를 만들 수 있습니다. 또한 이러한 파일을 수정하여 여러 유형의 사용자에 대한 작업 환경을 제공할 수 있습니다. 사용자 도구로 사용자가 정의한 사용자 초기화 파일을 만들 수 없더라도, 지정된 "골격" 디렉토리에 있는 사용자 초기화 파일로 사용자의 홈 디렉토리를 채울 수 있습니다. 사용자 템플리트 도구로 사용자 템플리트를 만들고 사용자 초기화 파일을 복사할 골격 디렉토리를 지정하면 이 작업이 완성됩니다.
여러 유형의 사용자에 대한 사용자 초기화 파일을 만드는 방법에 대한 단계별 지침은 사용자 초기화 파일을 사용자가 정의하는 방법을 참조하십시오.
사용자 도구를 사용하여 새 사용자 계정을 만들고 홈 디렉토리 만들기 옵션을 선택하면, 선택한 로그인 셸에 따라 다음 파일이 만들어집니다.
표 4-17 사용자를 추가할 때 사용자 도구로 만든 파일
|
Bash 셸을 사용자 정의하려면 홈 디렉토리에 위치한 .bashrc 파일에 정보를 추가합니다. Oracle Solaris를 설치할 때 만들어진 초기 사용자에 .bashrc 파일이 있어서 PATH, MANPATH 및 명령 프롬프트를 설정할 수 있습니다. 자세한 내용은 bash(1) 매뉴얼 페이지를 참조하십시오.
사용자 초기화 파일은 관리자와 사용자가 모두 사용자 정의할 수 있습니다. 이 중요한 작업은 사이트 초기화 파일이라는, 중앙에 위치하여 전역적으로 배포되는 사용자 초기화 파일을 사용하여 완성할 수 있습니다. 사이트 초기화 파일을 사용하면 사용자 작업 환경에 새 기능을 지속적으로 도입하면서 사용자 초기화 파일을 사용자가 정의할 수 있습니다.
사용자 초기화 파일에서 사이트 초기화 파일을 참조할 경우, 사용자가 시스템에 로그인하거나 새 셸을 시작할 때 사이트 초기화 파일에 대한 모든 업데이트가 자동으로 반영됩니다. 사이트 초기화 파일은 사용자 추가 당시 예상하지 못한 사이트 차원의 변경 사항을 사용자 작업 환경에 배포하기 위해 만들어졌습니다.
사용자 초기화 파일을 사용자 정의하는 것과 같은 방법으로 사이트 초기화 파일을 사용자 정의할 수 있습니다. 이러한 파일은 일반적으로 서버에 상주하고 사용자 초기화 파일의 첫번째 명령문으로 나타납니다. 또한 각 사이트 초기화 파일은 그것을 참조하는 사용자 초기화 파일과 셸 스크립트 유형이 같아야 합니다.
C-셸 사용자 초기화 파일에서 사이트 초기화 파일을 참조하려면 사용자 초기화 파일의 시작 부분에 다음과 비슷한 줄을 넣으십시오.
source /net/machine-name/export/site-files/site-init-file
Bourne-셸이나 Korn-셸 사용자 초기화 파일에서 사이트 초기화 파일을 참조하려면 사용자 초기화 파일의 시작 부분에 다음과 비슷한 줄을 넣으십시오.
. /net/machine-name/export/site-files/site-init-file
사용자 초기화 파일에서 로컬 시스템에 대한 특정 참조를 추가하지 마십시오. 사용자 초기화 파일의 명령은 사용자가 로그인하는 시스템에 관계없이 유효해야 합니다.
예를 들면 다음과 같습니다.
사용자의 홈 디렉토리가 네트워크 어디서든 사용 가능하도록 하려면 항상 $HOME 변수를 사용하여 홈 디렉토리를 참조하십시오. 예를 들어, /export/home/ username/bin 대신 $HOME/bin을 사용하십시오. 사용자가 다른 시스템에 로그인할 때 $HOME 변수가 작동하고 홈 디렉토리가 자동 마운트됩니다.
로컬 디스크의 파일에 액세스하려면 /net/system-name/directory-name과 같은 전역 경로 이름을 사용하십시오. /net/system-name으로 참조된 디렉토리가 사용자가 로그인하는 시스템에 자동으로 마운트될 수 있습니다(시스템에 AutoFS가 실행 중이라고 가정).
다음 표는 각 셸이 제공하는 기본 셸 기능을 나열합니다. 이를 통해 각 셸에 대한 사용자 초기화 파일을 만들 때 할 수 있는 것과 없는 것을 결정할 수 있습니다.
표 4-18 Bourne, C, Korn 셸의 기본 기능
|
셸은 login 프로그램으로 정의된 변수, 시스템 초기화 파일, 사용자 초기화 파일이 포함된 환경을 유지 관리합니다. 더불어, 일부 변수는 기본적으로 정의되어 있습니다.
셸은 두 가지 유형의 변수를 가질 수 있습니다.
환경 변수 – 셸에서 생성된 모든 프로세스로 내보내는 변수. 해당 설정은 env 명령으로 볼 수 있습니다. PATH와 같은 일부 환경 변수는 셸 자체의 동작에 영향을 줍니다.
셸(로컬) 변수 – 현재 셸에만 영향을 주는 변수. C 셸에서 이러한 셸 변수는 해당하는 환경 변수와 특별한 관계를 갖습니다. 이러한 셸 변수는 user, term, home, path입니다. 환경 변수 대응 항목의 값은 초기에 셸 변수를 설정하는 데 사용됩니다.
C 셸에서, 셸 변수를 설정하려면 set 명령과 함께 소문자 이름을 사용합니다. 환경 변수를 설정하려면 setenv 명령과 함께 대문자 이름을 사용합니다. 셸 변수를 설정하면 해당하는 환경 변수가 설정됩니다. 마찬가지로, 환경 변수를 설정하면 해당하는 셸 변수도 업데이트됩니다. 예를 들어, path 셸 변수를 새 경로로 업데이트하면 PATH 환경 변수도 새 경로로 업데이트됩니다.
Bourne 및 Korn 셸에서, 어떤 값에 해당하는 대문자 변수 이름을 사용하여 셸 및 환경 변수를 모두 설정할 수 있습니다. 또한 export 명령을 사용하여 이어서 실행된 명령에 대해 변수를 활성화할 수 있습니다.
모든 셸의 경우, 일반적으로 셀 및 환경 변수를 해당 대문자 이름으로 참조합니다.
사용자 초기화 파일에서 미리 정의된 변수의 값을 변경하거나 추가 변수를 지정하여 사용자의 셸 환경을 사용자 정의할 수 있습니다. 다음 표는 사용자 초기화 파일에서 환경 변수를 설정하는 방법을 보여줍니다.
표 4-19 사용자 초기화 파일에서 환경 변수 설정
|
다음 표는 사용자 초기화 파일에서 사용자가 정의할 수 있는 환경 변수 및 셸 변수를 설명합니다. 여러 셸에서 사용되는 변수에 대한 자세한 내용은 sh(1), ksh(1), csh(1) 매뉴얼 페이지를 참조하십시오.
표 4-20 셸 및 환경 변수 설명
|
사용자가 전체 경로를 사용하여 명령을 실행할 때 셸이 해당 경로를 사용하여 명령을 찾습니다. 그러나 사용자가 명령 이름만 지정하면 셸이 PATH 변수로 지정된 순서대로 명령의 디렉토리를 검색합니다. 디렉토리 중 하나에서 명령을 찾으면 셸이 명령을 실행합니다.
기본 경로는 시스템에서 설정합니다. 그러나 대부분의 사용자가 이를 수정하여 다른 명령 디렉토리를 추가합니다. 환경 설정 및 올바른 버전의 명령/도구 액세스와 관련된 많은 사용자 문제로 인해 잘못 정의된 경로를 추적할 수 있습니다.
효율적인 PATH 변수 설정을 위한 지침은 다음과 같습니다.
보안에 문제가 없으면 현재 작업 디렉토리(.)를 경로에 첫번째로 넣으십시오. 그러나 경로에 현재 작업 디렉토리를 넣으면, 특히 수퍼유저의 경우 피할 수 없는 보안 위험에 노출됩니다.
검색 경로를 가능한 짧게 유지하십시오. 셸이 경로의 각 디렉토리를 검색합니다. 명령을 찾을 수 없으면 지리한 검색으로 시스템 성능이 저하될 수 있습니다.
검색 경로는 왼쪽에서 오른쪽으로 읽으므로 경로의 시작 부분에 자주 사용되는 명령의 디렉토리를 넣어야 합니다.
디렉토리가 경로에서 중복되지 않는지 확인하십시오.
가능한 경우, 대형 디렉토리의 검색은 피하십시오. 대형 디렉토리는 경로의 끝에 넣으십시오.
NFS 서버가 응답하지 않을 때 "정지" 위험을 줄이려면 NFS 마운트 디렉토리 앞에 로컬 디렉토리를 넣으십시오. 이 전략은 불필요한 네트워크 트래픽도 줄입니다.
이것은 사용자의 기본 경로를 설정하는 방법의 예입니다.
다음 예는 홈 디렉토리 및 다른 NFS 마운트 디렉토리를 포함하도록 사용자의 기본 경로를 설정하는 방법을 보여줍니다. 현재 작업 디렉토리가 경로에 첫번째로 지정됩니다. C-셸 사용자 초기화 파일에서 다음을 추가하십시오.
set path=(. /usr/bin $HOME/bin /net/glrr/files1/bin)
Bourne 셸이나 Korn 셸 사용자 초기화 파일에서 다음을 추가하십시오.
PATH=.:/usr/bin:/$HOME/bin:/net/glrr/files1/bin export PATH
LANG 및 LC 환경 변수는 셸에 대한 로켈별 변환 및 규약을 지정합니다. 이러한 변환 및 규약에는 시간대, 조합 순서 및 날짜/시간/통화/숫자의 형식이 포함됩니다. 더불어, 사용자 초기화 파일에서 stty 명령을 사용하여 터미널 세션이 멀티바이트 문자를 지원할지 여부를 나타낼 수 있습니다.
LANG 변수는 제공된 로켈에 대한 모든 가능한 변환 및 규약을 설정합니다. LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_NUMERIC, LC_MONETARY, LC_TIME과 같은 LC 변수를 통해 각각 다양한 측면의 지역화를 설정할 수 있습니다.
다음 표는 LANG 및 LC 환경 변수에 대한 일부 값을 설명합니다.
표 4-21 LANG 및 LC 변수의 값
|
지원되는 로켈에 대한 자세한 내용은 International Language Environments Guide를 참조하십시오.
예 4-1 LANG 변수를 사용하여 로켈 설정
다음 예는 LANG 환경 변수를 사용하여 로켈을 설정하는 방법을 보여줍니다. C-셸 사용자 초기화 파일에서 다음을 추가하십시오.
setenv LANG de_DE.ISO8859-1
Bourne 셸이나 Korn 셸 사용자 초기화 파일에서 다음을 추가하십시오.
LANG=de_DE.ISO8859-1; export LANG
파일이나 디렉토리를 만들 때 파일이나 디렉토리에 할당된 기본 파일 사용 권한은 사용자 마스크로 제어합니다. 사용자 마스크는 사용자 초기화 파일에서 umask 명령으로 설정됩니다. umask를 입력하고 Return을 누르면 사용자 마스크의 현재 값을 표시할 수 있습니다.
사용자 마스크는 다음 8진수 값을 포함합니다.
첫번째 자릿수는 사용자에 대한 사용 권한을 설정합니다.
두번째 자릿수는 그룹에 대한 사용 권한을 설정합니다.
세번째 자릿수는 기타 항목(world라고도 함)에 대한 사용 권한을 설정합니다.
첫번째 자릿수가 0이면 표시되지 않습니다. 예를 들어, 사용자 마스크를 022로 설정하면 22가 표시됩니다.
설정할 umask 값을 결정하려면 666(파일용) 또는 777(디렉토리용)에서 원하는 사용 권한 값을 빼십시오. 그 나머지가 umask 명령에 사용할 값입니다. 예를 들어, 파일의 기본 모드를 644(rw-r--r--)로 변경한다고 가정해 보겠습니다. 666과 644의 차는 022이며, 이것이 umask 명령에 인수로 사용할 값입니다.
다음 표를 사용하여 설정할 umask 값을 결정할 수 있습니다. 이 표는 각각의 umask 8진수 값에 대해 만들어진 파일 및 디렉토리 사용 권한을 보여줍니다.
표 4-22 umask 값에 대한 사용 권한
|
다음 줄은 사용자 초기화 파일에서 기본 파일 사용 권한을 rw-rw-rw-로 설정합니다.
umask 000
다음 단원에서는 고유의 초기화 파일을 사용자 정의하는 데 사용할 수 있는 사용자 및 사이트 초기화 파일의 예를 보여줍니다. 이 예제의 시스템 이름 및 경로는 사용자가 특정 사이트용으로 변경해야 합니다.
예 4-2 .profile 파일
(Line 1) PATH=$PATH:$HOME/bin:/usr/local/bin:/usr/ccs/bin:. (Line 2) MAIL=/var/mail/$LOGNAME (Line 3) NNTPSERVER=server1 (Line 4) MANPATH=/usr/share/man:/usr/local/man (Line 5) PRINTER=printer1 (Line 6) umask 022 (Line 7) export PATH MAIL NNTPSERVER MANPATH PRINTER
사용자의 셸 검색 경로를 정의합니다.
사용자의 메일 파일 경로를 정의합니다.
사용자의 Usenet 뉴스 서버를 정의합니다.
매뉴얼 페이지에 대한 사용자의 검색 경로를 정의합니다.
사용자의 기본 프린터를 정의합니다.
사용자의 기본 파일 생성 권한을 설정합니다.
나열된 환경 변수를 설정합니다.
예 4-3 .cshrc 파일
(Line 1) set path=($PATH $HOME/bin /usr/local/bin /usr/ccs/bin) (Line 2) setenv MAIL /var/mail/$LOGNAME (Line 3) setenv NNTPSERVER server1 (Line 4) setenv PRINTER printer1 (Line 5) alias h history (Line 6) umask 022 (Line 7) source /net/server2/site-init-files/site.login
사용자의 셸 검색 경로를 정의합니다.
사용자의 메일 파일 경로를 정의합니다.
사용자의 Usenet 뉴스 서버를 정의합니다.
사용자의 기본 프린터를 정의합니다.
history 명령에 대한 별명을 만듭니다. history 명령을 실행하려면 h만 입력해야 합니다.
사용자의 기본 파일 생성 권한을 설정합니다.
사이트 초기화 파일을 소싱합니다.
예 4-4 사이트 초기화 파일
다음은 사용자가 특정 버전의 응용 프로그램을 선택할 수 있는 사이트 초기화 파일의 예를 보여줍니다.
# @(#)site.login main: echo "Application Environment Selection" echo "" echo "1. Application, Version 1" echo "2. Application, Version 2" echo "" echo -n "Type 1 or 2 and press Return to set your application environment: " set choice = $< if ( $choice !~ [1-2] ) then goto main endif switch ($choice) case "1": setenv APPHOME /opt/app-v.1 breaksw case "2": setenv APPHOME /opt/app-v.2 endsw
이 사이트 초기화 파일은 다음 줄을 사용하여 사용자의 .cshrc 파일(C 셸 사용자 전용)에서 참조할 수 있습니다.
source /net/server2/site-init-files/site.login
이 줄에서 사이트 초기화 파일의 이름은 site.login이고 server2라는 서버에 위치합니다. 또한 사용자의 시스템에서 자동 마운트가 실행 중이라고 가정합니다.