티스토리 뷰
※ 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. 이 파일이 생성되면 관리자를 제외한 모든 사용자가 접근이 금지된다.
'study > Linux' 카테고리의 다른 글
Linux리눅스_ grep, find, Man page (0) | 2011.01.18 |
---|---|
Linux리눅스_ 기본명령어 종합예제 (0) | 2011.01.18 |
Linux리눅스_ 기본명령어 예제 (0) | 2011.01.18 |
Linux리눅스_ 리눅스의 파일구조와 허가권, 소유권 (0) | 2011.01.18 |
Linux리눅스_ 기본 명령어 (0) | 2011.01.18 |
댓글