티스토리 뷰

※ Directory 구조와 vi editor


1. Linux Directory 구조
- Linux는 기본적으로 windows의 드라이브 개념과 달리 모든 파티션은 Directory 형태로 지정되어 사용되는것이 일반적이다.
- 각각의 directory는 용도에 맞게 정의 되어 있으며, 관리자는 Directory의 용도에 대해서 정확하게 숙지하고 있어야 한다.

/ 최상위 directory. 모든 파일들이나 directory는 / 이하에 구성된다.

/root 관리자의 home directory
/home 일반 사용자들의 계정 home directory
/etc system 설정값들이 있는 directory. 대부분 .conf형태의 파일들이있다.
/usr windows의 Program filed와 비슷한 부분.
Linux의 기본 package와 외부 프로그램들이 설치되는 default 경로
/bin system 설정과 관련 없는 실행명령어들이 있는 부분
-> cp, ls, ...etc... 등의 명령어들
/sbin system 설정과 직접적인 관련이 있는 실행명령어들이 있는 부분
->poweroff, reboot, init ...
/dev 장치를 관리하거나 사용하기 위해서, 장치의 정보를 file 형태로

놓고 사용하는 directory

hda

hdb

hdc (보통 cd드라이브)

hdd

- 1~4번째 하드

lp0 - 프린트

/var system의 로그들이 쌓이는 곳
/boot 부팅에 필요한 정보들이 들어있는 곳
/proc Linux에서 Process들을 관리하기 위해서 File 형태로 위치하는 곳
/etc/skel 일반 사용자 계정 생성시 자동으로 복사될 Data들이 위치하는 곳
/misc CD-ROM, Floppy 등의 외부장치가 Mount되면 자동 연결 지정되는 곳

2. Vi editor
1) vi
- Emacs(프로그래머 전용)와 함께 Unix계열 운영체제 환경에서 가장 많이 사용되는 문서 편집기
- 1976년 빌 조이가 초기 BSD출시에 포함될 편집기로 개발함
- 한 줄식 편집하는 줄 단위 편집기가 아닌 한 화면에서 편집할 수 있는 visual editor라는 뜻에서 이름이 유래

2) vi 편집기의 세가지 모드
 a. command mode
   - 문서 내에서 삭제 복사 이동 등을 실시할 수 있으며, 키보드의 화살표로 문서내를 이동하여 원하는 작업에 대한 단축키를 이용해서 작업을 할 수 있다.
 b. insert mode
   - 실질적으로 키보드를 이용하여 원하는 내용의 글을 적을 수 있다.
 c. Last line mode
   - 저장, 불러오기나, 검색 등에 사용되는 부분


3. accounts
1) 계정 추가
 a. /etc/passwd

test : x : 501 : 502 :  : /home/test : /bin/bash

 1     2     3        4    5          6                 7

1) 계정명
2) 패스워드 - 현재는 사용안하며 /etc/shadow 파일에 정보를 따로 관리
3) UID - 유저 계정 번호
4) Primart group - test라는 계정이 속해있는 기본 그룹
5) 계정의 일반 정보 - 이름, 부서, 부서 전화번호, 개인 전화번호 etc...
6) 계정의 home directory 위치
7) 계정이 로그인할 때 로딩될 default shell의 실행파일 경로
 b. /etc/shadow

test : !! : 14987 : 0 : 99999 : 7 :   :   :

 1      2       3       4       5        6   7   8

1) 계정명
2) MD5로 암호화된 Password 정보
3) 암호 수정 일자 (비밀번호를 부여한 적이 없을 경우 계정 생성일자)
4) 암호 변경 후 변경 가능한 최소 일 수
   ex> 3이면 3일 후에 password 변경 가능. 0이면 언제든지 변경 가능
5) 암호 변경 유예 기간( 이 시간이 지나면 반드시 암호를 변경해야 한다.)
6) 암호 변경 유예 기간이 지난 후 경고일수
7) 계정 사용 불가 날짜 - 암호에 lock 이 걸리는 형태로 계정 정지
8) 계정 만료 날짜 - 계정이 사라진다.
 c. /etc/group
   -그룹은 게정 생성시에 옵션을 통하여 다로 지정을 해주지 않으면 계정의 이름과 동일한
    이름을 가진 그룹이 생성된다.

test : x : 501 : aa,bb,cc,dd

 1     2     3             4

1) 계정명
2) 패스워드 - 그룹 암호로 사용되었지만 /etc/gshadow 에서 사용
3) GID
4) test라는 그룹을 secondary group으로 사용하고 있는 계정들
 d. useradd
   - 계정을 추가하는 명령
   - 사용법 : useradd [option] [account name]
   - 계정이 추가 될 때에는 다음과 같은 정보가 생성된다.
      i) /etc/passwd
      ii) /etc/shadow
      iii) /etc/group
      iv) /home 디렉토리에 계정의 이름으로 된 home directory가 생성됨
   - option
      -u [UID] UID값을 지정하여 계정 생성(일반적으로 500번부터 생성)
      -g [GID] GID값(primary group)을 지정하여 계정 생성(숫자 혹은 그룹이름)
      -s [shell] 사용자의 login shell을 지정하여 계정 생성
**login shell : 사용자 계정 생성시에 기본적으로 주게되는 옵션을

설정하는 파일

** bourn shell 은 /bin/sh 로 지정하면됨
      -d [dir] home directory를 지정하여 계정을 생성
      -G [GID] GID(secondary group)값을 지정하여 계성 생성
 e. passwd
   - 계정에 비밀번호를 부여하는 명령어
   - 명령어만 사용하면, 현재 로그인한 계정의 암호를 변경하게 된다.
   - option
      -l 지정한 계정의 암호를 잠금
      -u 지정한 계정의 암호 잠금해제
      -d 지정한 계정의 암호 삭제(비밀번호 입력을 안해도 로그인됨)
 f. chage
   - 계정 암호 정보(/etc/shadow)를 대화식으로 입력하는 명령어
   - 사용법 : chage [option] [계정명]
   - option : -l   정보확인
 g. finger
   - 계정의 일반 정보를 확인하는 명령
   - 사용법 : finger [계정명]
 h. chfn
   - 계정의 일반 정보를 대화식으로 지정할 수 있는 명령
      ** 이름, 부서, 부서전화번호, 개인전화번호

2) 계정 수정
 a. usermod
   - 계정명을 받아서 옵션에 적용된 값을 지정 계정의 정보를 변경하는 명령어
   - /etc/passwd 에 적용되므로 로그인 할 때 적용. 변경즉시 시스템에서 받아들여
     적용하는것이 아니라, 재 로그인을 해야만 적용된다는 뜻.
   - option
      i) 기본적인 사용 옵션은 useradd에서 사용했던 옵션들과 동일하다
      ii) 추가옵션
        -l 계정의 이름을 변경하는 옵션(home directory는 변경되지 않음)
        ex> useradd -l [변경될 계정 이름] [변경할 계정 이름]

3) 계정 삭제
 a. userdel
   i) 계정 삭제. 옵션이 없으면 home directory는 삭제되지 않음
   ii) home directory까지 삭제 하고 싶으면 -r 옵션을 부여하여 삭제

4) 그룹
 a. groupadd
   - 그룹 추가 명령. /etc/group에 정보가 생성된다.
   - 그룹을 생성할 때, 특정 GID값을 부여하고 싶다면, -g 옵션을 사용한다.
     ex> groupadd -g 800 linux ==> linux라는 그룹을 800번 GID값으로 생성
 b. groupdel
   - 그룹을 삭제하는 명령 (그룹에 primary그룹을 갖고있는 계정이 있으면 삭제가안됨)

5) 계정 관리
 a. usermod 명령어를 통해서 계정 막기
   i. usermod -s /bin/false [계정명]
   ii. usermod -s /sbin/nologin [계정명]
 b. passwd 로 계정막기
   i. passwd -l [계정명]
 c. /etc/nologin 생성
   i. touch /etc/nologin
   ii. 이 파일이 생성되면 관리자를 제외한 모든 사용자가 접근이 금지된다.






댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday