ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • LINUX 2nd | 리눅스 기본 명령어 1
    기타/LINUX 2020. 7. 9. 01:00

    기본 명령어

    명령어 which

    명령어의 위치를 찾아주거나 alias를 보여주는 명령어.

    which <명령어>

    명령어 alias

    자주 사용하는 명령어를 특정 별칭으로 지정해, 명령어 대신 해당 별칭을 대신 사용할 수 있게 해주는 명령어.

    alias [별칭='명령어']

    그냥 alias라고 명령을 사용하면 현재 사용하고 있는 별칭들을 살펴볼 수 있다.

    새로운 별칭을 새로 만들고 싶을 때는 alias 명령어 뒤에 [별칭='명령어']의 형태로 사용한다.

     

    예시)

    alias m='ls -l'

    ls -l 이라는 명령어를 m으로 사용할 수 있게 된다.

    명령어 unalias

    alias 기능을 해제하는 명령어.

    unalias [옵션][별칭]
    Options Description
    -a 설정된 모든 alias 해제

     

    예시)

    unalias m

    'm'이라는 별칭을 더 이상 사용하지 않는다.

    환경변수 PATH

    환경변수
    운영체제가 참조하는 변수
    echo $PATH

    현재 설정된 PATH를 확인한다.

     

    export PATH=$PATH:<변수값>

    새로운 환경변수 PATH를 추가한다.


    리눅스 도움말

    명령어 man

    리눅스에서 사용하는 명령어들의 매뉴얼을 제공하는 명령어.

    man [섹션][옵션]<명령어>
    Options Description
    -a 찾고자 하는 명령어의 검색된 매뉴얼 페이지를 모두 출력
    -h 사용법을 출력
    -f 키워드와 동일한 man 페이지만 출력
    -k 키워드가 포함된 man 페이지 출력
    -w 찾고자 하는 문자의 매뉴얼 페이지가 있는 위치를 출력
    Section Description
    1 일반 명령어 관련 매뉴얼이 들어있는 영역
    2 시스템 호출 관련 매뉴얼이 들어있는 영역
    3 C 표준 라이브러리 함수 관련 매뉴얼이 들어있는 영역
    4 장치 드라이버 또는 특수 파일에 대한 정보가 들어있는 영역
    5 특정 파일들에 대한 정보가 들어있는 영역
    6 게임과 화면보호기에 대한 정보가 들어있는 영역
    7 리눅스 파일 표준, 프로토콜, 시그널 목록 정보가 들어있는 영역
    8 시스템 관리 명령어와 데몬 정보가 들어있는 영역
    9 커널 관리 정보가 들어있는 영역

    명령어 info

    리눅스 명령어의 사용 방법, 옵션 등을 나타내는 명령어.

    info <명령어>

    명령어 man에 비해 지원되는 명령어가 한정적이지만, man에 비해 더 상세화된 매뉴얼이다.

    명령어 whatis

    명령어에 대한 기능을 간략하게 나타내는 명령어. 이때 명령어는 정확히 일치해야 한다.

    whatis <명령어>

    명령어 manpath

    man 페이지의 위치 경로를 표시해주는 명령어.

    manpath [명령어]

    명령어를 적지 않고 사용할 경우 매뉴얼 페이지의 경로를 표시한다.

    명령어 whereis

    찾고자 하는 명령어의 실행 파일의 절대 경로, 소스코드, 설정 파일 및 매뉴얼 페이지를 찾아 출력하는 명령어.

    whereis [옵션]<명령어>

    명령어 apropos

    whatis DB에서 해당 문자열을 포함하는 것을 검색해 출력하는 명령어.

    apropos <문자열>

    사용자 생성 명령어

    명령어 useradd

    사용자 계정을 생성하는 명령어. adduser 명령어와 동일하다.

    useradd [옵션]<계정명>
    Options Description
    -s 사용자의 로그인 기본 셸을 지정
    -d 계정의 홈 디렉터리를 지정
    -f 패스워드가 만기된 후 계정이 영구히 말소될 때까지의 기간 지정
    -e 사용자 계정의 유효기간을 설정
    보통 임시 계정을 만들때 사용
    -c 파일 /etc/passwd에 새로운 사용자 설명을 추가
    -G 계정이 속한 그룹 외에 다른 그룹에 계정 추가

    계정의 홈 디렉터리는 기본적으로 /home/<계정명>이다.

    생성된 계정 정보는 파일 /etc/passwd, /etc/shadow, /etc/group에 저장된다.

    명령어 passwd

    생성된 계정의 패스워드를 입력 & 변경하는 명령어.

    passwd [옵션]<계정명>
    Options Description
    -S 계정 상태 표시
    PS: 정상, NP: 패스워드가 없음, LK: Lock 상태거나 NP 상태
    -d 계정 패스워드 삭제
    -l 계정을 lock 상태로 변경
    -u 계정의 lock 상태를 해제

    생성된 계정의 패스워드는 /etc/shadow 파일에 기록된다.

    명령어 su

    현재의 사용자 계정에서 로그아웃하지 않고 다른 사용자 계정으로 로그인하여 해당 사용자의 권한을 획득하는 명령어.

    su [옵션][사용자][셸변수]
    Options Description
    -, -l, --login 지정한 사용자의 환경변수를 적용하여 로그인
    -s 지정된 셸로 로그인
    -c 셸을 실행하지 않고 주어진 명령어 수행

    사용자를 명시하지 않을 경우 자동으로 root로 실행된다.


    사용자 관련 파일

    파일 /etc/default/useradd

    명령어 useradd로 사용자 계정을 추가할 때 사용되는 정보를 참조하는 파일.

    파일 안의 내용은 아래와 같이 나타낸다.

    KEY Description
    GROUP 새로 생성되는 계정의 GID
    HOME 새로 생성되는 계정의 홈 디렉터리 위치
    INACTIVE 새로 생성되는 계정의 비밀번호 유예기간
    (비밀번호 사용기간이 만료된 후 실제 계정이 정지되기 까지의 시간)
    0이면 바로 사용불가능, -1이면 기능을 사용하지 않음
    EXPIRE 새로 생성되는 계정의 비밀번호 만료일
    YYYY-MM-DD 형식
    SHELL 새로 생성되는 계정의 기본 셸
    SKEL 새로 생성되는 계정의 홈 디렉터리로 복사될 초기 환경설정 파일들이 저장된 디렉터리
    CREATE_EMAIL_SPOOL 새로 생성되는 계정의 메일 파일 저장 여부

     

    /etc/defualt/useradd 파일은 useradd -D 명령어로 변경할 수 있다.

    useradd -D [옵션]
    Options Description
    -g 그룹 수정
    -b 홈 디렉터리 수정
    -f INACTIVE 수정
    -e 계정 종료일 수정
    -s 셸 수정

     

    예시)

    useradd -D -g 500 -b /home/here -s /bin/sh

    새로운 계정이 추가될 때 GID는 500으로, 홈 디렉터리는 /home/here로, 기본 셸은 /bin/sh로 설정된다.

    정확하게는 사용자 계정이 추가될 때 참조하는 파일인 /etc/default/useradd 파일이 변경된 것이다.

    파일 /etc/passwd

    계정의 정보를 가지고 있는 파일로 리눅스에 로그인할 때 사용된다.

    파일 내용은 여러 개의 필드로 구성되어 있으며, 각각의 필드는 콜론(colon, ':')으로 구분된다.

     

    필드의 구성은 아래와 같다.

    UserName:Password:UID:GID:Comment:HomeDirectory:Shell
    Field Description
    UserName 사용자 계정명을 나타내는 필드
    Password 암호화된 비밀번호를 나타내는 필드
    pwconv가 활성화되어 있는 경우 x로 표시되며 실제 비밀번호는 /etc/shadow에 저장됨
    pwunconv가 활성화되어 있는 경우 실제 비밀번호를 보여줌
    UID 사용자의 UID를 나타내는 필드
    GID 사용자의 GID를 나타내는 필드
    Comment 설명문을 나타내는 필드 (보안상 사용하지 않음)
    HomeDirectory 사용자의 홈 디렉터리를 나타내는 필드
    Shell 실행할 프로그램을 나타내는 필드 (일반적으로 사용자의 로그인 셸)

    파일 /etc/shadow

    사용자 계정의 비밀번호 정보가 암호화되어 있는 파일.

    파일 내용은 여러 개의 필드로 구성되어 있으며, 각각의 필드는 콜론(colon, ':')으로 구분된다.

     

    필드의 구성은 아래와 같다.

    UserName:Password:LastChange:MinDays:MaxDays:WarnDays:Inactive:Expire:Flag
    Field Description
    UserName 계정 사용자명을 나타내는 필드
    Password 암호화된 비밀번호를 나타내는 필드 (역으로 풀 수 없다)
    LastChange 최근 비밀번호 변경일을 나타내는 필드 (1970/01/01 기준 날짜 수)
    MinDays 비밀번호 변경 후, 재설정을 위한 대기일을 나타내는 필드
    MaxDays 비밀번호 유효기간을 나타내는 필드
    WarnDays 비밀번호 변경 경고 시간을 나타내는 필드
    Inactive 비밀번호 유예기간을 나타내는 필드
    Expire 비밀번호 만료와 상관없이 계정이 정지되는 시간을 나타내는 필드 (1970/01/01 기준 날짜 수)
    Flag 나중에 사용하기 위해 예약으로 세팅된 필드

    파일 /etc/login.defs

    사용자 계정 설정과 관련된 시본 값을 정의한 파일.

    새로운 계정을 생성할 때 /etc/default/useradd 파일을 참조 후 참조하는 파일이다.

     

    파일의 구성은 아래와 같다.

    Key Description
    MAIL_DIR 메일 디렉터리
    PASS_MAX_DAYS 비밀번호 변경 없이 사용할 수 있는 최대일자
    PASS_MIN_DAYS 비밀번호 설정 후 최소 사용기간
    PASS_MIN_LEN 비밀번호 최소 바이트 수
    PASS_WARN_AGE 비밀번호 만료 경고일
    UID_MIN 생성할 수 있는 UID 최소번호
    UID_MAX 생성할 수 있는 UID 최대번호
    GID_MIN 새로 생성되는 그룹의 GID 최소번호
    GID_MAX 새로 생성되는 그룹의 GID 최대번호
    CREATE_HOME 홈 디렉터리 생성 여부 (yes / no)

    사용자 계정 관리

    명령어 usermod

    사용자 계정이 관한 정보를 변경하는 명령어.

    usermod [옵션]<계정명>
    Options Description
    -u 새로운 UID 지정
    -g 새로운 GID 지정
    -G 새로운 보조그룹 지정
    -d 새로운 홈 디렉터리 지정
    -s 새로운 셸 지정
    -c 새로운 주석 지정
    -l 새로운 계정명으로 변경

    명령어 userdel

    기존 계정 정보를 삭제하는 명령어.

    userdel [옵션]<계정명>
    Options Description
    -r 계정명의 /var/spool/mail의 메일 파일과 홈 디렉터리의 내용 모두를 삭제

    옵션 없이 사용하면 디렉터리 /etc/passwd, /etc/shadow, /etc/group에서 해당 계정의 정보가 삭제된다.

    명령어 chage

    패스워드의 만료 정보를 변경하는 명령어.

    chage [옵션]<계정명>
    Options Description
    -l 사용자 계정 정보를 출력
    -m 패스워드 최소 사용 일자
    -M 패스워드 최대 사용 일자
    -E 패스워드 만기일 지정 (YYYY-MM-DD 형식)
    -W 패스워드 변경 경고 날짜

    그룹관리

    파일 /etc/group

    사용자 그룹에 대해 정의된 파일. (모든 계정은 한 개 이상의 그룹에 포함되어 있다.)

    파일 내용은 여러 개의 필드로 구성되어 있으며, 각각의 필드는 콜론(colon, ':')으로 구분된다.

     

    필드의 구성은 아래와 같다.

    Group:Password:GID:Members
    Field Description
    Group 그룹명을 나타내는 필드
    Password 그룹 비밀번호를 나타내는 필드 ('x'로 표시됨)
    GID 그룹 번호
    Members 그룹 멤버 리스트 (여러 멤버가 존재할 경우 콤마(',')로 구분함)

    파일 /etc/gshadow

    그룹의 암호를 MD5 해시 함수를 이용해 저장해둔 파일.

    파일 내용은 여러 개의 필드로 구성되어 있으며, 각각의 필드는 콜론(colon, ':')으로 구분된다.

     

    필드의 구성은 아래와 같다.

    Group:Password:Owner:Members
    Field Description
    Group 그룹명을 나타내는 필드
    Password 그룹 비밀번호를 나타내는 필드 ('!'일 경우 부여되지 않은것이다.)
    GID 그룹의 소유주
    Members 그룹 멤버 리스트 (여러 멤버가 존재할 경우 콤마(',')로 구분함)

    명령어 groupadd

    새로운 그룹을 생성하는 명령어.

    groupadd [옵션]<그룹명>
    Options Description
    -g GID를 지정
    -r 시스템 그룹 생성 시 사용 (500번 이하의 값으로 지정하되 가장 높은 범위로 할당)

    명령어 groupdel

    기존의 그룹을 삭제하는 명령어.

    그룹 안에 소속된 계정이 있을 경우 삭제되지 않는다.

    groupdel <그룹명>

    명령어 groupmod

    그룹의 설정을 변경하는 명령어.

    groupmod [옵션]<그룹명>
    Options Description
    -g GID를 변경
    -n 새로운 그룹명으로 변경

     


    사용자 조회 명령어

    명령어 users

    시스템에 로그인한 사용자 정보를 출력하는 명령어.

    users [옵션]

    명령어 who

    현재 시스템에 접속해 있는 사용자들을 조회하는 명령어.

    who [옵션]
    Options Description
    -b 마지막 시스템 부팅 시간 출력
    -q 로그인한 사용자와 사용자 수를 모두 출력
    -r 현재 시스템의 실행 레벨 출력

     

    댓글