본문 바로가기

Linux

2025.01.10 vi 환경 및 명령어, 유저 생성, group 생성, passwd 생성 및 삭제 및 변경

# 샘플 파일 생성

 

■ vi (visual editor)

  - 문서 편집기

  

   1. 명령 모드 (command mode)

      - vi 명령어로 편집기를 시작할 시 단축키를 사용하여 커서의 이동, 수정, 삭제, 복사, 붙이기 등 다양한 명령을 수행한다.

    2. 입력 모드 (insert mode)

       - 명령모드 상태에서 i, a, o ,l, A, O의 단축키를 입력하여 입력모드로 전환할 수 있다. 

       - 입력모드에서는 글을 입력할 수 있다.

    3. 마지막 행 모드 (last line mode)

       - 마지막 행 모드는 명령모드 상태일 때 :(콜론)을 입력하면 화면 제일 밑에서 명령을 수행하는 모드이다. 

       - 저장, 종료, 검색등의 기능을 수행할 수 있다.

 

모드를 변경할 때는 [ESC] 키를 누르면 된다.

 

# 편집기를 시작하는 명령어

  - 읽기, 쓰기가 가능한 상태로 파일이 열린다

    ex) vi 파일이름

  - 읽기만 가능한 상태로 파일이 열린다.

    ex) view 파일이름

   - 손상된 파일을 복구하는 명령어

    ex) vi -r 파일이름

 

# 커서 이동 명령어 (방향키가 안 먹을 시 대체로 사용할 수 있지만 알파벳으로 이동하는 습관 가지기.)

   1. h : 왼쪽으로 이동

   2. j : 아래로 이동

   3. k : 위로 이동

   4. l : 오른쪽으로 이동

   5. H : 화면 맨 위로 이동

   6. M : 화면 중간으로 이동

   7. L : 화면 맨 아래로 이동

   8. G : 문서 맨 아래로 이동

   9. gg : 문서 맨 위로 이동

  10. 숫자G : 숫자 라인으로 이동

  11. ^ : 커서가 있는 줄의 맨 앞으로 이동

  12. $ : 커서가 있는 줄 맨뒤로 이동

  13. + : 커서를 다음 행의 처음으로 이동

  14. - : 커서를 이전 행의 처음으로 이동

  15. w : 커서를 다음 단어 첫 글자녀로 이동

  16. b : 커서를 이전 글자 첫 글자로 이동

  17. e : 커서를 다음 단어 마지막 글자로 이동

  18. :숫자 : 숫자 라인으로 이동

       ex)

:숫자

 

 

# 행 번호를 출력

   - 라인 번호가 보이게 한다.(set nu)

   

- 라인 번호가 안 보이게 한다.(set nonu)

 

# 입력 명령어

  1. i : 커서의 왼쪽부터 입력

  2. a : 커서의 오른쪽부터 입력

  3. I : 커서의 줄 맨 앞에서부터 입력

  4. A : 커서의 줄 맨 뒤에서부터 입력

  5. o : 커서의 다음 줄부터 입력

  6. O (영어) : 커서의 윗 줄에 입력

  7. s : 커서 위치한 글자를 지우고 입력

  8. S : 커서가 위치한 한 줄을 다 지우고 입력

  9. cw : 커서가 위치한 단어를 지우고 입력

 

# 취소 명령어

  - u : 방금 수행한 작업 취소 (Ctrl + z와 같은 성격)

 

# 삭제 명령어

  1. x : 철자 하나 삭제

  2. dd : 커서가 위치한 한 행 삭제

  3. dw : 커서에 있는 단어 삭제

  4. :숫자 d (명령문 라인): 숫자 행 삭제, 2개까지만 삭제 가능하다.

     ex) :5 d : 5행 삭제

     ex) :5,6 d : 5,6행 삭제

   5. D : 커서 기준으로 오른쪽 행 삭제

 

# 복사, 붙여 넣기

  1. yy : 커서의 행 복사 

     ex) 숫자 yy : 커서부터 숫자 행만큼 복사가 된다.

  2. p : 복사한 내용을 현재 행 이후 붙여 넣기

  3. P : 복사한 내용을 현재 행 이전에 붙여 넣기

  4. 명령문 모드(: 숫자, 숫자 co 3) : 숫자행, 숫자행을 복사해서 3번 행 다음 행에 붙여 넣기 한다는 의미

  5. 명령문 모드 (: 숫자, 숫자 m 3) : 숫자행~숫자행을 3행 다음으로 이동하기

  6. yG : 현재부터 문서 제일 끝까지 복사 

 

# 문자열 검색 (vi 창에서 / 치면 :대신 / 나옴)

  1. /문자 : 문자 검색

  2. n : 검색된 다음 문자로 이동

  3. shift + n : 검색된 문자 앞으로 이동

  

# 문자열 검색해서 수정

  1. :s/기존문자/변경문자 :커서가 있는 위치에서 첫 번째 나오는 기존문자를 변경할 문자로 수정한다.

  2. :s/기존문자/변경문자/g : 커서가 있는 행의 기존문자를 변경할 문자로 수정한다.

  3. :%s/기존문자/변경문자/g : 문서 전체에서 기존문자를 변경할 문자로 수정한다.

 

# 파일 저장 및 종료

  1. :q! : 저장하지 않고 종료 

  2. :wq : 저장 후 종료 (기존이름으로 저장)

  3. :w : 저장만 한다.

  4. :w 파일이름 : 파일 이름으로 저장 (다른 이름으로 저장, 새로운 파일 생성)

  5. :wq 파일이름 : 파일 이름으로 저장하고 종료 (다른 이름으로 저장하는 개념, 새로운 파일 생성)

 

■ 사용자 계정 관리

  - Linux는 다중 사용자 시스템(multi user system

  - 1대의 Linux에 사용자 여러 명이 동시에 접속해서 사용할 수 있는 시스템

  - 사용자는 하나 이상의 그룹에 소속되어 있어야 한다.

 

# 사용자 계정 정보 보는 법 :

 - 사용자이름:암호:사용자ID:사용자가 소속된 그룹ID:전체이름:홈디렉터리:기본셸

 

# 그룹에 대한 정보

  - 그룹이름:비밀번호:그룹ID:그룹에 속한 유저

 

■ useradd, adduser

  - 유저를 생성하는 명령어

  - 그룹을 지정하지 않고 생성하면 내부적으로 기본그룹으로 생성된다.

  - useradd [옵션] 유저이름

  - -u : 사용자ID를 내가 만들고 싶을 때 사용 (안 쓰면 디폴트로 작성됨)

  - -g : 기본그룹(1차 그룹)

  - -G : 2차 그룹

  - -d : 사용자를 생성하면서 홈 디렉터리 생성

  - -s : 사용자를 생성하면서 기본 셸을 지정

  

# 유저 생성

▶ 유저ID : 1001, 그룹ID : 1001

 

# 유저 확인

생성 및 조회

 

■ passwd (패스워드)

  - 사용자의 비밀번호를 지정하거나 변경하는 명령어

  - passwd [옵션] 유저이름

  - root 유저는 비번 설정 시 예전 비밀번호를 묻지 않는다.

  - -S : 사용자의 패스워드 정보 출력

  - -l : 사용자 계정 lock

  - -u : 사용자 계정 unlock

   ex)

계정 잠금

 

계정 해제

 

   - -d : 사용자 패스워드 제거

    ex)

패스워드 제거

 

■ chage

  - 사용자 암호를 주기적으로 변경

  - chage [옵션] 유저이름

  - -M : 패스워드 만료일 (최대로 사용 가능한 일 수 : 90일)

  - -m : 패스워드 최소 사용일 수

  - -E : 패스워드 만료되는 날짜 (계정이 만료되는 날짜)

  - -W : 패스워드 만료되기 전에 경고하는 기간(기본값 : 7일)

  - -I : 패스워드 만료 시 비활성화 상태로 전환되기까지의 유예기간을 설정

  - -d : 패스워드 변경일자를 수정

chage -l
chage -M
chage -m
chage -E 날짜
chage -W 일수
chage -I 일수
chage -d 날짜

# 초기값 설정하는 법

 

# 유저 생성 시 패스워드를 설정하지도 않았는데 변경 날짜가 뜨는 걸 볼 수 있다.

▶ 리눅스에선 기본값으로 그냥 들어간다 생각하면 된다.

 

■ userdel

  - 유저 삭제하는 명령어

  - userdel [옵션] 유저이름

  - -r : 유저에게 할당된 모든 파일, 디렉터리 삭제

  - -f : 유저가 Linux에 접속을 했더라도 kill 시킨 후 삭제

 

 

 ■ group 

   - 사용자를 하나로 묶어 관리 가능하게 하는 기능으로 모든 사용자는 그룹에 속하도록 되어있다.

   - 사용자를 그룹을 통하여 관리하면 각 그룹에게 보안설정, 접근설정, 권한등을 주고 일괄적으로 그룹에 속한 사용자에게 적용할 수 있다.

 

# 현재 사용자 그룹확인

 

# 그룹 정보

 

■ groupadd

  - 그룹을 생성하는 명령어

  - groupadd oinstall 필수 입력 (오라클 설치할 때만 필요한 옵션)

 

■ usermod

  - 유저 정보를 변경하는 명령어

  - usermod [옵션] 유저이름

  - -g : 기본그룹(1차 그룹)

  - -G : 2차 그룹

 

ex)

▶ 유저 정보를 변경하는데 oinstall은 기본그룹으로 지정하고 dba,oper는 2차그룹을 oracle안에 넣는다는 의미이다.

 

ex)

 

 

# 1차 그룹에 대해서 보이지 않는다.

 

■ groupdel

  - 그룹을 삭제하는 명령어

  - groupdel 그룹이름

  - 1차 그룹은 삭제가 안 된다.

   ex)

 

ex) 2차 그룹 삭제

▶ 2차 그룹으로 만든 dba, oper가 삭제된 걸 볼 수 있다.

 

ex) 1차 그룹까지 삭제하고 싶을 경우

▶ 기본그룹 

 

■ groupmod

  - 그룹이름, 그룹번호를 변경하는 명령어

  - groupmod [옵션] 그룹이름

  - -n : 그룹이름 변경 (groupmod -n 새로운 그룹이름 변경 전 그룹이름)

  - -g : 그룹번호 변경

 

ex) oper라는 이름을 수정하고 싶을 경우

 

ex) 그룹 ID 수정

 

■ gpasswd

  - 특정 그룹에 유저를 추가, 제거하는 명령어

  - gpasswd [옵션] 유저그룹

  - -a : 특정 그룹에 새로운 유저 추가

  - -d : 특정 그룹에 기존 유저 제거

 

ex) oracle유저한테 dbaoper 추가

▶ grep을 통해 oper를 찾아서 출력결과를 보면 john, oracle이 나오는 걸 볼 수 있다.

 

ex) 제거