JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 11.1에서 사용자 계정 및 사용자 환경 관리     Oracle Solaris 11.1 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

1.  사용자 계정 및 사용자 환경 관리(개요)

사용자 계정 및 사용자 환경 관리의 새로운 기능 또는 변경된 기능

사용자 계정 관리에 영향을 주는 보안 변경 사항

User Manager GUI 소개

관리 편집기(pfedit)

/var/user/$USER 하위 디렉토리

groupadd 명령 변경 사항

실패한 로그인 횟수 알림

사용자 계정 및 그룹이란?

사용자 계정 구성 요소

사용자(로그인) 이름

사용자 ID 번호

큰 사용자 ID 및 그룹 ID 사용

UNIX 그룹

사용자 암호

홈 디렉토리

이름 지정 서비스

사용자 작업 환경

사용자 이름, 사용자 ID 및 그룹 ID 지정 지침

사용자 계정 및 그룹 정보가 저장되는 위치

passwd 파일의 필드

기본 passwd 파일

shadow 파일의 필드

group 파일의 필드

기본 group 파일

사용자 계정 정보를 가져오기 위한 명령

사용자, 역할 및 그룹을 관리하는 데 사용되는 명령

사용자 작업 환경 사용자 정의

사이트 초기화 파일 사용

로컬 시스템 참조 피하기

셸 기능

Bash 및 ksh93 셸 내역

Bash 및 ksh93 셸 환경 변수

Bash 셸 사용자 정의

MANPATH 환경 변수

PATH 환경 변수

경로 설정 지침

로켈 변수

기본 파일 사용 권한(umask)

사용자 초기화 파일 사용자 정의

2.  명령줄 인터페이스를 사용하여 사용자 계정 관리(작업)

3.  User Manager GUI를 사용하여 사용자 계정 관리(작업)

색인

사용자 작업 환경 사용자 정의

이 단원에서는 다음과 같은 정보에 대해 설명합니다.

사용자의 홈 디렉토리 설정 중 하나는, 사용자의 로그인 셸에 대한 사용자 초기화 파일을 제공하는 것입니다. 사용자 초기화 파일은 사용자가 시스템에 로그인한 후 사용자 작업 환경을 설정하는 셸 스크립트입니다. 기본적으로, 셸 스크립트에 가능한 모든 작업을 사용자 초기화 파일에서 수행할 수 있습니다. 그러나 사용자 초기화 파일의 주 작업은 사용자의 검색 경로, 환경 변수, 윈도우화 환경과 같은 사용자 작업 환경의 특성을 정의하는 것입니다. 각 로그인 셸에는 다음 표에 나열된 것과 같은 고유의 사용자 초기화 파일이 있습니다. bash 및 ksh93 셸 모두의 기본 사용자 초기화 파일은 /etc/skel/local.profile입니다.

표 1-7 Bash 및 ksh93 사용자 초기화 파일

사용자 초기화 파일
목적
bash
$HOME/.bash_profile

$HOME/.bash_login

$HOME/.profile

로그인 시 사용자 환경을 정의합니다.
ksh93
/etc/profile

$HOME/.profile

로그인 시 사용자 환경을 정의합니다.
$ENV
파일에 로그인 시 사용자 환경을 정의합니다. Korn 셸의 ENV 환경 변수로 지정됩니다.

이러한 파일을 시작점으로 사용하여 내용을 수정한 후 모든 사용자에 공통되는 작업 환경을 제공하는 표준 파일 세트를 만들 수 있습니다. 또한 이러한 파일을 수정하여 여러 유형의 사용자에 대한 작업 환경을 제공할 수 있습니다.

여러 유형의 사용자에 대한 사용자 초기화 파일을 만드는 방법에 대한 단계별 지침은 사용자 초기화 파일을 사용자가 정의하는 방법을 참조하십시오.

사이트 초기화 파일 사용

사용자 초기화 파일은 관리자와 사용자가 모두 사용자 정의할 수 있습니다. 이 중요한 작업은 사이트 초기화 파일이라는, 중앙에 위치하여 전역적으로 배포되는 사용자 초기화 파일을 사용하여 완성할 수 있습니다. 사이트 초기화 파일을 사용하면 사용자 작업 환경에 새 기능을 지속적으로 도입하면서 사용자 초기화 파일을 사용자가 정의할 수 있습니다.

사용자 초기화 파일에서 사이트 초기화 파일을 참조할 경우, 사용자가 시스템에 로그인하거나 새 셸을 시작할 때 사이트 초기화 파일에 대한 모든 업데이트가 자동으로 반영됩니다. 사이트 초기화 파일은 사용자 추가 당시 예상하지 못한 사이트 차원의 변경 사항을 사용자 작업 환경에 배포하기 위해 만들어졌습니다.

사용자 초기화 파일을 사용자 정의하는 것과 같은 방법으로 사이트 초기화 파일을 사용자 정의할 수 있습니다. 이러한 파일은 일반적으로 서버에 상주하고 사용자 초기화 파일의 첫번째 명령문으로 나타납니다. 또한 각 사이트 초기화 파일은 그것을 참조하는 사용자 초기화 파일과 셸 스크립트 유형이 같아야 합니다.

bash 또는 ksh93 사용자 초기화 파일에서 사이트 초기화 파일을 참조하려면 사용자 초기화 파일의 시작 부분에 다음과 비슷한 행을 넣으십시오.

. /net/machine-name/export/site-files/site-init-file

로컬 시스템 참조 피하기

사용자 초기화 파일에서 로컬 시스템에 대한 특정 참조를 추가하지 마십시오. 사용자 초기화 파일의 명령은 사용자가 로그인하는 시스템에 관계없이 유효해야 합니다.

예를 들면 다음과 같습니다.

셸 기능

이 Oracle Solaris 릴리스에서는 다음과 같은 셸 기능 및 동작이 지원됩니다.

다음 표에서는 Oracle Solaris에서 지원되는 셸 옵션을 설명합니다.

표 1-8 Oracle Solaris 릴리스의 기본 셸 기능

경로
설명
Bourne-Again 셸(bash)
/usr/bin/bash
설치 프로그램 및 root 역할이 만든 사용자를 위한 기본 셸

useradd 명령 및 root 역할이 만든 사용자를 위한 기본 (대화식) 셸은 /usr/bin/bash입니다. 기본 경로는 /usr/bin:/usr/sbin입니다.

Korn 셸
/usr/bin/ksh
ksh93은 이 Oracle Solaris 릴리스의 기본 셸입니다.
C 셸 및 향상된 C 셸
/usr/bin/csh/usr/bin/tcsh
C 셸 및 향상된 C 셸
POSIX 호환 셸
/usr/xpg4/bin/sh
POSIX 호환 셸
Z 셸
/usr/bin/zsh
Z 셸

주 - Z 셸(zsh) 및 향상된 C 셸(tsch)은 기본적으로 시스템에 설치되지 않습니다. 이러한 셸 중 하나를 사용하려면 먼저 필요한 소프트웨어 패키지를 설치해야 합니다.


Bash 및 ksh93 셸 내역

bashksh93 셸은 둘 다 사용자가 실행한 모든 명령의 내역을 기록합니다. 이 내역은 사용자별로 기록되므로 로그인 세션 간에 일관되게 유지되고 사용자의 모든 로그인 세션을 나타냅니다.

예를 들어, bash 셸에 있는 경우 실행한 명령의 전체 내역을 다음과 같이 볼 수 있습니다.

$ history
1 ls
2 ls -a
3 pwd
4 whoami
.
.
.

여러 이전 명령을 표시하려면 명령에 정수를 포함합니다.

$ history 2
12 date
13 history

자세한 내용은 history(1) 매뉴얼 페이지를 참조하십시오.

Bash 및 ksh93 셸 환경 변수

bash 및 ksh93 셸은 해당 셸에 알려진 특수한 변수 정보를 환경 변수로 저장합니다. bash 셸에 대한 현재 환경 변수의 전체 목록을 보려면 declare 명령을 사용합니다.

$ declare
BASH=/usr/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINEND=()
BASH_SOuRCE=()
BASH_VERSINFO=([0]=''3'' [1]=''2'' [2]=''25'' [3]=''1''
[4]=''release'' [5]''
.
.
.

ksh93 셸의 경우 bash 셸의 declare 명령에 해당하는 set 명령을 사용합니다.

$ set
  COLUMNS=80
  ENV='$HOME/.kshrc'
  FCEDIT=/bin/ed
  HISTCMD=3
  HZ=''
  IFS=$' \t\n'
  KSH_VERSION=.sh.version
  LANG=C
  LINENO=1
  .
  .
  .

두 셸 중 하나에 대한 환경 변수를 출력하려면 echo 또는 printf 명령을 사용합니다. 예를 들면 다음과 같습니다.

$ echo $SHELL
/usr/bin/bash
$ printf ''$PATH\n''
/usr/bin:/usr/sbin

주 - 환경 변수는 세션 간에 유지되지 않습니다. 로그인 간에 일관되게 유지되는 환경 변수를 설정하려면 .bashrc 파일에서 변경을 수행해야 합니다.


셸은 두 가지 유형의 변수를 가질 수 있습니다.

환경 변수

셸이 생성하는 모든 프로세스로 내보내지는 변수를 지정합니다. export 명령은 변수를 내보내는 데 사용됩니다. 예를 들면 다음과 같습니다.

export VARIABLE=value

이러한 설정은 env 명령을 사용하여 표시할 수 있습니다. PATH와 같은 일부 환경 변수는 셸 자체의 동작에 영향을 줍니다.

셸(로컬) 변수

현재 셸에만 영향을 주는 변수를 지정합니다.

사용자 초기화 파일에서 미리 정의된 변수의 값을 변경하거나 추가 변수를 지정하여 사용자의 셸 환경을 사용자 정의할 수 있습니다.

다음 표에서는 Oracle Solaris 릴리스에서 사용할 수 있는 셸 및 환경 변수에 대한 세부 정보를 제공합니다.

표 1-9 셸 및 환경 변수 설명

변수
설명
CDPATH
cd 명령에서 사용되는 변수를 설정합니다. cd 명령의 대상 디렉토리가 상대적 경로 이름으로 지정된 경우 cd 명령이 처음에 현재 디렉토리(.)에서 대상 디렉토리를 찾습니다. 대상을 찾을 수 없는 경우, 대상 디렉토리를 찾고 디렉토리 변경이 완료될 때까지 CDPATH 변수에 나열된 경로 이름을 연속해서 검색합니다. 대상 디렉토리를 찾을 수 없는 경우 현재 작업 디렉토리가 수정되지 않은 채 남습니다. 예를 들어, CDPATH 변수가 /home/jean으로 설정되고 두 디렉토리가 /home/jean, bin, rje 아래에 있습니다. /home/jean/bin 디렉토리에 위치하고 cd rje를 입력하면 전체 경로를 지정하지 않더라도 디렉토리가 /home/jean/rje로 변경됩니다.
HOME
사용자의 홈 디렉토리에 대한 경로를 설정합니다.
LANG
로케일을 설정합니다.
LOGNAME
현재 로그인한 사용자의 이름을 정의합니다. LOGNAME의 기본값은 로그인 프로그램에서 passwd 파일에 지정한 사용자 이름으로 자동으로 설정됩니다. 이 변수는 참조만 해야 하고 재설정하면 안됩니다.
MAIL
사용자의 메일함에 대한 경로를 설정합니다.
MANPATH
사용 가능한 매뉴얼 페이지의 계층을 설정합니다.

주 - Oracle Solaris 11부터 MANPATH 환경 변수는 더 이상 필요하지 않습니다. man 명령은 PATH 환경 변수 설정에 따라 적합한 MANPATH를 결정합니다.


PATH
사용자가 명령을 입력할 때 실행할 프로그램을 찾기 위해 셸이 검색하는 디렉토리를 순서대로 지정합니다. 디렉토리가 검색 경로에 없으면 사용자가 명령의 전체 경로 이름을 입력해야 합니다.

로그인 프로세스의 일부로 기본 PATH가 자동으로 정의되고 .profile에 지정된 대로 설정됩니다.

검색 경로의 순서가 중요합니다. 동일한 명령이 다른 위치에 존재하면 해당 이름으로 찾은 첫번째 명령이 사용됩니다. 예를 들어, PATH가 셸 구문에서 PATH=/usr/bin:/usr/sbin:$HOME/bin으로 정의되고 sample이라는 파일이 /usr/bin /home/jean/bin에 상주한다고 가정해 보겠습니다. 사용자가 전체 경로 이름을 지정하지 않고 명령 sample을 입력하면 /usr/bin에서 찾은 버전이 사용됩니다.

PS1
bash 또는 ksh93 셸에 대한 셸 프롬프트를 정의합니다.
SHELL
make, vi 및 다른 도구에서 사용되는 기본 셸을 설정합니다.
TERMINFO
대체 terminfo 데이터베이스가 저장되는 디렉토리의 이름을 지정합니다. /etc/profile 또는 /etc/.login 파일에서 TERMINFO 변수를 사용합니다. 자세한 내용은 terminfo(4)매뉴얼 페이지를 참조하십시오.

TERMINFO 환경 변수를 설정할 때 시스템은 먼저 사용자가 정의한 TERMINFO 경로를 검사합니다. 사용자가 정의한 TERMINFO 디렉토리에서 터미널의 정의를 찾지 못하면 기본 디렉토리 /usr/share/lib/terminfo를 검색합니다. 시스템이 어느 위치에서도 정의를 찾지 못하면 터미널이 "dumb"로 식별됩니다.

TERM
터미널을 정의합니다. 이 변수는 /etc/profile 또는 /etc/.login 파일에서 재설정해야 합니다. 사용자가 편집기를 호출할 때 시스템이 이 환경 변수에 정의된 동일한 이름의 파일을 찾습니다. 그리고 터미널 특성을 확인하기 위해 TERMINFO로 참조된 디렉토리를 검색합니다.
TZ
시간대를 설정합니다. 시간대는 ls -l 명령에서 날짜를 표시하는 데 사용됩니다. TZ가 사용자 환경에 설정되지 않은 경우 시스템 설정이 사용됩니다. 그렇지 않으면 GMT(Greenwich Mean Time)가 사용됩니다.

Bash 셸 사용자 정의

Bash 셸을 사용자 정의하려면 홈 디렉토리에 위치한 .bashrc 파일에 정보를 추가합니다. Oracle Solaris를 설치할 때 만들어진 초기 사용자에 .bashrc 파일이 있어서 PATH, MANPATH 및 명령 프롬프트를 설정할 수 있습니다. 자세한 내용은 bash(1) 매뉴얼 페이지를 참조하십시오.

MANPATH 환경 변수

MANPATH 환경 변수는 man 명령이 참조 매뉴얼 페이지를 찾는 위치를 지정합니다. MANPATH는 사용자의 PATH 값에 기초하여 자동으로 설정되지만 일반적으로 /usr/share/man usr/gnu/share/man을 포함합니다.

사용자의 MANPATH 환경 변수는 PATH 환경 변수와 무관하게 수정할 수 있습니다. 연관된 매뉴얼 페이지 위치와 사용자의 $PATH에 있는 디렉토리가 일대일로 대응할 필요는 없습니다.

PATH 환경 변수

사용자가 전체 경로를 사용하여 명령을 실행할 때 셸이 해당 경로를 사용하여 명령을 찾습니다. 그러나 사용자가 명령 이름만 지정하면 셸이 PATH 변수로 지정된 순서대로 명령의 디렉토리를 검색합니다. 디렉토리 중 하나에서 명령을 찾으면 셸이 명령을 실행합니다.

기본 경로는 시스템에서 설정합니다. 그러나 대부분의 사용자가 이를 수정하여 다른 명령 디렉토리를 추가합니다. 환경 설정 및 올바른 버전의 명령/도구 액세스와 관련된 많은 사용자 문제로 인해 잘못 정의된 경로를 추적할 수 있습니다.

경로 설정 지침

효율적인 PATH 변수 설정을 위한 지침은 다음과 같습니다.

로켈 변수

LANGLC 환경 변수는 셸에 대한 로켈별 변환 및 규약을 지정합니다. 이러한 변환 및 규약에는 시간대, 조합 순서 및 날짜/시간/통화/숫자의 형식이 포함됩니다. 더불어, 사용자 초기화 파일에서 stty 명령을 사용하여 터미널 세션이 멀티바이트 문자를 지원할지 여부를 나타낼 수 있습니다.

LANG 변수는 제공된 로켈에 대한 모든 가능한 변환 및 규약을 설정합니다. LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_NUMERIC, LC_MONETARY, LC_TIME과 같은 LC 변수를 통해 각각 다양한 측면의 지역화를 설정할 수 있습니다.


주 - 기본적으로 Oracle Solaris 11은 UTF-8 기반 로켈만 설치합니다.


다음 표에서는 핵심 Oracle Solaris 11 로켈에 대한 환경 변수 값을 설명합니다.

표 1-10 LANGLC 변수의 값

로켈
en_US.UTF-8
영어, 미국(UTF-8)
fr_FR.UTF-8
프랑스어, 프랑스(UTF-8)
de_DE.UTF-8
독일어, 독일(UTF-8)
it_IT.UTF-8
이탈리아어, 이탈리아(UTF-8)
ja_JP.UTF-8
일본어, 일본(UTF-8)
ko_KR.UTF-8
한국어, 한국(UTF-8)
pt_BT.UTF-8
포르투칼어, 브라질(UTF-8)
zh_CN.UTF-8
중국어 간체, 중국(UTF-8)
es_ES.UTF-8
스페인어, 스페인(UTF-8)
zh_TW.UTF-8
중국어 번체, 대만(UTF-8)

예 1-1 LANG 변수를 사용하여 로켈 설정

Bourne 또는 Korn 셸 사용자 초기화 파일에서 다음을 추가합니다.

LANG=de_DE.ISO8859-1; export LANG

LANG-de_DE.UTF-8; export LANG

기본 파일 사용 권한(umask)

파일이나 디렉토리를 만들 때 파일이나 디렉토리에 지정된 기본 파일 사용 권한은 사용자 마스크로 제어합니다. 사용자 마스크는 사용자 초기화 파일에서 umask 명령으로 설정됩니다. umask를 입력하고 Return을 누르면 사용자 마스크의 현재 값을 표시할 수 있습니다.

사용자 마스크는 다음 8진수 값을 포함합니다.

첫번째 자릿수가 0이면 표시되지 않습니다. 예를 들어, 사용자 마스크를 022로 설정하면 22가 표시됩니다.

설정할 umask 값을 결정하려면 666(파일용) 또는 777(디렉토리용)에서 원하는 사용 권한 값을 빼십시오. 그 나머지가 umask 명령에 사용할 값입니다. 예를 들어, 파일의 기본 모드를 644(rw-r--r--)로 변경한다고 가정해 보겠습니다. 666과 644의 차는 022이며, 이것이 umask 명령에 인수로 사용할 값입니다.

다음 표를 사용하여 설정할 umask 값을 결정할 수 있습니다. 이 표는 각각의 umask 8진수 값에 대해 만들어진 파일 및 디렉토리 사용 권한을 보여줍니다.

표 1-11 umask 값에 대한 사용 권한

umask 8진수 값
파일 사용 권한
디렉토리 사용 권한
0
rw-
rwx
1
rw-
rw-
2
r--
r-x
3
r--
r--
4
-w-
-wx
5
-w-
-w-
6
--x
--x
7
---(없음)
---(없음)

다음 라인은 사용자 초기화 파일에서 기본 파일 사용 권한을 rw-rw-rw-로 설정합니다.

umask 000

사용자 초기화 파일 사용자 정의

다음은 .profile 사용자 초기화 파일의 예입니다. 이 파일을 사용하여 고유한 사용자 초기화 파일을 사용자 정의할 수 있습니다. 이 예에서는 특정 사이트에 맞게 수정해야 하는 시스템 이름과 경로가 사용됩니다.

예 1-2 .profile 파일

(Line 1) PATH=$PATH:$HOME/bin:/usr/local/bin:/usr/gnu/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
  1. 사용자의 셸 검색 경로를 정의합니다.

  2. 사용자의 메일 파일 경로를 정의합니다.

  3. 사용자의 시간/시계 서버를 정의합니다.

  4. 매뉴얼 페이지에 대한 사용자의 검색 경로를 정의합니다.

  5. 사용자의 기본 프린터를 정의합니다.

  6. 사용자의 기본 파일 생성 권한을 설정합니다.

  7. 나열된 환경 변수를 설정합니다.