9. 도서관/__다. UNIX

콘쉘 ( Korn shell )

행복 금융 2008. 7. 3.

▶ 콘쉘

입출력 재지정

ping
 #ping IP (살았으면 IP is alive, 죽었으면 no answer form IP)


Shell Option Setting
 - 자신의 쉘 확인 : #echo $SHELL
  /sbin/sh : 본쉘 (부팅시 떠있는 기본 쉘)
  /sbin/ksh : 콘쉘 (#ksh 입력시 임의로 실행한 쉘)
   * #ksh입력후 #echo $SHELL 입력해보면 기본쉘인 본쉘이 출력
 set -o option_name : 기능을 설정
            set  +o option_name : 기능을 해제

  #set -o noclobber : 출력 재지정 덮어쓰기 방지
  #set -o vi : 명령어 창에서 vi editor처럼 사용할 수 있다
  #set -o ignoreeof : 로그아웃 방지 (Ctrl+D)

콘 쉘 제공 명령어
 #history : 최근 사용한 명령어 16개를 출력한다
 #r : 바로 전에 사용했던 명령어를 재실행
 #alias : 별칭기능 (솔라리스의 명령어를 가지고 새로운 명령어를 생성)
  예1) #alias ls='ls -l'   :: ls라고 치면 다음부터 ls -l 한것처럼 출력
  예2) #alias u='uname -a'   :: u라고치면 시스템정보를 확인

 #unalias : 별칭기능을 해제
 #; : 명령어를 여러개 사용할 경우
  예) #ls ; u          :: ls 실행후 u가 실행



Korn shell Metacharacters
 - 알파벳, 숫자 등을 제외한 특수 기호 중 korn shell에서 정의 한 의미를 가진 특수기호
  *, ?, ~, [ ], ( ), !, + 등등

 - single quotes (' ') : 모두 문자로 취급 (예외상 $PWD 변수는 싱글로 씀)
 - double quotes (" ") : 몇 개의 메타 문자를 제외하고는 모두 문자로 취급
 ', $, \, "
 - back quotes (` `) : pipe기능과 유사



변수 : 필요한 데이터를 저장하는 메모리 영역
 예) aa= 1
                ---------
                변수 | 값

 -환경변수 : 시스템 환경상에서의 변수
 #export VAR=value
 -쉘변수 : 쉘 환경상에서의 변수 (지역변수)
 #VAR=value ; export VAR

중요한 변수
 - EDITOR : 편집에 대한 기능
 예) #EDITOR = vi
                 #export EDITOR
                 #set         :: 확인후 EDITOR이 /usr/dt/bin/dtpad에서 vi로 바뀜
  - Visual : visual변수가 Editor변수보다 우선순위가 높음
  - PS1 : 프롬프트를 나타내는 변수 (기본: #)
 예) 시스템이름 , 로그인한사람 , 현재디렉토리
      #PS1=`hostname`'@$LOGNAME[$PWD]#'  ::결과 Moonlite@root[/]#


  - PATH : 실행파일이 있는 경로명을 저장
         확인) #echo $PATH    또는 #set 으로 확인
 * 직접 찾아가서 실행할때 ./로 실행 (./는 현재 디렉토리를 말함)
 예) PATH에 추가로 지정
    #PATH=$PATH:추가경로 ($PATH는 기존에 설정된 PATH값을 가져옴)
  - MANPATH : 도움말(man) 디렉토리의 경로명 지정
 예) MANPATH에 추가로 지정
    #MANPATH=$MANPATH:추가경로  ($MANPATH는 기존에있는 PATH를 가져옴)
   ★ 주의 :: 사용자 마다 PATH와 MANPATH가 다름 (변수에 대한 설정이 다름)
 
  - LD_LIBRARY_PATH : 명령어가 실행되는데 필요한 라이브러리가 있는 경로명을 지정

 - HOME : 사용자의 홈 디렉토리의 절대 경로명을 가지고 있음.
 - LOGNAME : 현재 로그인한 사용자의 정보를 저장
 - HOSTNAME : 시스템의 이름을 정보를 저장 (**변수가 아닌 명령어형태)
 - PWD : 현재 명령어를 실행하는 디렉토리의 절대 경로명


초기화 파일 - 시스템전반적인 초기화파일 : etc/profile
                  - 사용자마다 부여해주는 초기화파일  :~/.profile
                  - 콘쉘에서만 적용되는 환경 초기화파일 : ~/.kshrc


사용자자 생성 목적
 - 시스템 관리 목적
    + 시스템 로그온, 시스템 제어 및 서비스 개시등을 진행함
    + root 사용자 : 시스템상에 모든 권한을 행사
    + 일반 사용자 : 일반적인 권한만 행사
    + RBAC : 일반 사용자에게 특정 권한을 부여

 - 자원 액세스 목적 : 자원을 액세스하기 위한 목적 (여기서 말하는 자원은 파일이나 디렉토리)

    + 파일 또는 디렉토리의 액세스 권한을 세분화하여 서비스제어 및 자원관리의 효율성 증대
    + root 사용자


사용자 관리 명령어
 - useradd : 사용자 생성 명령어
    + -u (uid) : uid 설정, 사용자를 구분하기 위한 식별 번호
    + -g (gid) : gid 설정, 그룹을 구분하기 위한 식별 번호
    + -G (gid) : 보조 gid설정
    + -d (dir) : 홈 디렉토리의 경로를 설정 (시스템으로 로그인을 수행하는 사용자는 꼭 경로를 설정해줘야 한다.)
    + -m : 홈 디렉토리를 생성 (/export/home), 부팅을 위한 환경을 제공
    + -s (shell) : login shell을 설정 (지정하지않으면 기본쉘인 본쉘로 지정)
    + -c (comment) : 사용자에 대한 설명 작성

 예) 사용자 생성 예제
  #useradd -m -d /export/home/test test  ::사용자 설정 및 홈디렉토리 설정
                        #passwd test         :: 패스워드의 설정

             ** 사용자생성시 default값 변경시 설정파일 : /usr/sadm/defadduser

교제 15p (LAB-사용자생성) <- 실습

 - usermod : 사용자의 설정 변경 (관리) 명령어 (useradd와 옵션 비슷)
    #usermod -u 1000 test2 (test2유저의 UID를 1000번으로 바꿈)
    #usermod -c '테스트2-테스트목적' test2 (test2유저의 코멘트 삽입)

 - userdel : 사용자의 삭제
    #userdel Test :: (Test라는 유저를 삭제, 하지만 export/home 정보는 안지워짐  @유저리스트에서만 지워짐)
    #userdel -r Test :: (Test라는 유저의 홈디렉토리까지 삭제)

 - passwd : 사용자의 패스워드 변경


사용자 정보파일 - /etc/passwd (사용자의 정보)
    user1:x:102:1:User account 1:/export/home/user1:/bin/ksh
    -------------------------------------------------------
    username|Place Holder| UID | GID | Comment | Home Directory | Login Shell


사용자 정보파일 - /etc/shadow (사용자의 패스워드)
    root:hKrivTQFg6DHQ:100336:7:60:5:10:11942
    -------------------------------------------
    username|암호필드|날짜정보 표시
    *** 사용자의 암호필드를 지우면 패스워드 없이 로그인가능
    *** 사용자의 라인을 지우면 암호지정시 권한이 거부됨


로그인과정  - 로컬로그인
                  - 네트워크 로그인
  + 로그인과정에서는 사용자 인증 과정을 거침 (사용자이름, 패스워드)
     - /etc/passwd와 /etc/shadow를 비교하여 인증

Pwconv : 사용자정보파일을 동기화
 > /etc/passwd 파일과 /etc/shadow 파일을 동기화 함 (passwd 기준)

댓글

💲 추천 글