728x90
반응형
SMALL

*이기적 영진닷컴 Youtube Link - https://www.youtube.com/watch?v=unF3lrTZs78&list=PL6i7rGeEmTvp_MYm0zuiFe7COrM3endfu&index=7

 

리눅스 기본 명령어들에 대해서 살펴보겠다.

크게 사용자 생성 및 계정 관리 명령어, 디렉터리 및 파일 관리 명령어 그리고 기타 명령어

3개의 파트로 나누어서 설명하겠다.

<리눅스 명령어>

which

- 지정된 명령어 위치를 찾아 주거나

- alias가 설정되어 있다면 alias의 값을 보여주는 명령어이다.

which httpd: httpd 파일이 저장된 위치를 확인할 수 있다. 

만일 명령어가 아니면 예를 들어 alias이면 

이 alias에 어떤 명령어가 단축돼서 이와 같은 기능을 실행하는지를 확인할 수 있다.

패스 환경변수로 설정되어 있을 때만 해당 명령어의 경로를 찾아준다.

지정된 패스안에 해당 명령어가 위치하지 않으면 경로를 찾아낼 수 없다.

alias

자주 사용하는 명령어를 특정 문자로 입력해 두고 명령어 대신 해당 문자로 간략하게 축약해서 사용할 때 사용하는 명령어이다.

예를 들어 ls 옵션 al 필터 모어 같은 긴 명령어를 만약 자주 사용하게 되면 긴 문자를 m이라는 문자로 간략화시키면 작업에 편의성을 도모할 수 있다.

unalias

만약 설정된 alias 기능을 해제하고 싶으면 unalias 명령어로 해제가 가능하다.

패스는 실행 파일들의 디렉토리를 지정해 놓는 환경변수이다.

현재 작업 디렉토리가 아닌 다른 디렉토리에서 특정 명령어로 수행하거나 다른 디렉토리 안에 있는 내용을 확인하려고 할 때 환경변수 패스에서 경로를 찾아서 실행하게 된다.

굳이 실행파일을 실행시킬 때 해당 디렉토리가 찾아가서 실행시키지 않아도 되는 번거로움을 해결하는 환경 변수라고 보면 된다.

현재 환경변수 패스를 확인하고자 하면 echo $PATH를 입력하면 설정되어 있는 패스를 확인할 수 있다.

기존에 설정되어 있는 패스에 새로운 경로를 추가할 때는 콜론으로 기존 경로와 새 경로를 구분해서 추가할 수 있다.

지정된 패스를 현재 패스를 찍고 콜론 한 다음 dv를 추가시켜놓으면 새롭게 dv 디렉토리도 패스 설정에 걸려서 실행 파일을 찾을 때 dv 디렉토리까지 실행파일을 찾게 된다.

환경변수 패스는 2가지를 확인해야 한다.

설정된 패스를 어떻게 확인하는지: echo $PATH

기존 패스에 새로운 패스를 설정하는 방법도 명확하게 알아야 한다. : 예시 export PATH=$PATH:/home/ubuntu/Document

 

<리눅스 도움말>

man, info, whatis, manpath, whereis, apropos 같은 다양한 명령어들이 있다.

man 

리눅스에서 가장 일반적으로 사용하는 명령어로 특정 명령어에 대한 매뉴얼을 제공을 해준다. 

총 9개의 섹션으로 구분이 되서 해당 섹션마다 해당 영역의 정보들을, 명령어들의 정보들을 확인할 수 있다.

info

man에 비해서 제공되는 명령어가 한정적이지만 다양한 리눅스 명령어에 대한 사용방법이나 옵션들을 확인할 수 있다.

whatis

명령어에 대한 세부적인 설명 보다는 간략하게 기능들을 나타낸다. 

명령어 기능을 파악했지만 더 자세히 알아보고 싶으면 man이나 info를 이용해서 좀 더 자세한 해당 명령어들의 기능을 파악할 수 있다.

데이터베이스에서 원하는 특정 문자열을 검색하는 것이라고 확인하면 될 것 같다.

manpath

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

man에 대한 매뉴얼 페이지를 경로로 표시한다.

whereis

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

whereis shutdown 명령어 shutdown의 소스 파일 위치나 메뉴얼 파일의 위치 정보를 확인할 수 있다.

apropos

man 페이지 설명에서 지정된 키워드를 포함하고 있는 명령어이다.

apropos system 명령어를 주게 되면 man 페이지 중에서 system 문자열이 포함된 명령어 목록들을 쭉 확인할 수 있다.

<사용자 생성 명령어>

useradd

계정을 생성하는 명령어

다양한 옵션 사용 가능

s: 기본 셸 지정

d: 계정자의 홈 디렉토리를 지

이러한 옵션을 사용하게 되면 명령어 adduser와 동일한 기능을 갖게 된다.

계정자의 홈 디렉토리는 /home/계정명

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

g: 계정자가 속한 그룹외에 다른 그룹에 계정자를 추가할 때 /etc/group 과 연관하여 작업을 할 수 있다.

password

계정자의 패스워드를 입력하거나 변경할 때 사용한다.

기본적으로 계정자의 패스워드는 /etc/shadow 파일에 기록된다. 암호화되어 기록이 된다. 확인하기는 어렵다.

su

switch user의 줄임말로 현재 사용자 계정에서 다른 사용자 계정으로 로그인할 때 보통 사용하는 명령어이다.

su 다음에 하이픈을 쓰고 계정자명을 쓰게 되면 현재 작업했던 세션이 다 종료된 다음 진행이 되고 만약 하이픈을 쓰지 않고 그냥 계정명을 입력할 경우 기존의 세션을 그대로 유지한채 사용자로 전환이 되는 차이점이 있다.

<사용자 계정에 관련된 파일>

/etc/default/useradd

useradd 명령어를 사용할 때 다양한 옵션들을 지정해서 사용자 계정 설정을 할 수 있는데 

이 폴더에는 useradd를 사용해서 속성값들이 확인된다. 그룹 설정이나 홈 디렉토리 설정이나 패스워드 만료일 지정, 셸을 지정했던 내용들을, 사용자 계성 생성 때 설정했던 모든 정보들을 확인할 수 있다.

/etc/passwd

계정자의 정보를 갖고 있는 파일

리눅스에 로그인할 때 사용자의 정보를 확인할 때 사용한다.

패스워드가 저장되어 있을 것 같이 생각되지만 패스워드 외에 여러개의 필드로 구성되어 있어서 사용자의 userid 번호나, 그룹id, 홈 디렉토리 이런 다양한 정보들이 필드로 구분되서 저장되어 있다.

/etc/shadow

실제 계정자의 패스워드가 암호화 되어 있는 파일이다.

한 9개 정도의 필드로 구성되어 있다.

사용자명, 암호화된 비밀번호, 최근 비밀번호 변경일 등 해당 계정자의 패스워드 뿐만 아니라 해당 패스워드의 만료일이나 혹은 유예기간들을 모두 확인할 수 있다.

/etc/login.defs

사용자 계정 설정과 관련된 기본값들이 정의된 파일이다.

새로운 계정을 생성할 때는 어떠한 설정값들이 있는지 참조하면 

계정 생성시에 유용하게 사용할 수가 있다.

<사용자 계정 관리>

usermod

사용자의 정보를 변경하는 명령어

홈 디렉토리를 변경하거나 그룹을 변경하거나 유효기간을 변경하는 다양한 값들을 변경할 수 있다.

usermod 명령어와 옵션들만을 구분하면 여러 명령어를 쓰는 것 보다 좀 더 쉽게 다양한 정보들을 수정 변경할 수 있는 장점을 갖게 된다.

userdel

기존 계정 정보를 삭제할 때 사용하는 명령어

사용자의 홈 디렉토리를 변경하거나 그룹 변경, 유효 기간 등을 변경한다.

옵션 없이 userdel를 사용하면 /etc/passwd, /etc/shadow, /etc/group 에서 해당 계정 정보가 삭제가 된다. 조심해야 한다.

change

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

다양한 옵션들, l,m,M,E,W 등을 이용해서 사용자 계정 정보도 출력할 수 있고 설정 암호 취소 문자도 확인할 수 있으며 사용 가능일자도 확인할 수 있다.

예를 들어서 패스워드 사용일자로 이틀로 지정하고 싶으면 change -M 변경할 날짜 계정자명

패스워드 사용일자를 변경할 수 있다.

/etc/group

사용자 그룹에 대한 정보들이 저장

어떤 사용자가 어떤 그룹에 허용되는지를 확인할 수 있는 파일

한 명의 계정자는 여러 그룹에 포함될 수 있다.

해당 파일을 통해 사용자의 그룹 확인 뿐만 아니라 사용자를 그룹에 추가, 삭제, 변경등이 가능하다.

/etc/gshadow

group의 암호를 md5로 저장해놓은 파일이다.

그룹도 패스워드를 지정해서 관리할 수 있고 암호화를 한다.

md5를 통해서 그룹 패스워드를 지정할 수 있다.

그룹의 소유자, 구성원 설정할 수 있다.

groupadd

새 그룹을 생성할 때 사용하는 명령어

g: 그룹 아이디 직접 지정

groupdel

기존의 그룹을 삭제할 때 사용하는 명령어

그룹안에 소속되어있는 계정명이 있을 경우에는 이 명령어를 통해서 그룹은 삭제되지 않는다.

그룹을 포함하고 있는 구성원 삭제 후에 delete가 가능하다.

groupmod

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

그룹id 변경, 그룹명 변경할 때 일반적으로 사용하는 명령어이다.

<사용자 조회 명령어>

users

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

who

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

b,q,r 등의 옵션을 이용하면 시스템 부팅 시간, 로그인한 사용자 수 등도 출력이 가능

w

명령어 who와 동일하기는 한데

옵션없이도 현재 접속중이 사용자 정보를 확인할 수 있다.

부팅후 시스템 작동 시간, 서버 접속자의 총수 등 다양한 정보들을 확인할 수 있다.

jcpu: 프로세스들의 cpu 사용시간, 입력 장치를 이용해서 접속시 사용된 CPU 사용시간

pcpu: 프로세스명에서 사용하는 cpu의 총 시간, 접속자가 접속한 후에 사용한 프로세스들의 cpu의 총시간

tty는 콘솔로 접속한 환경

pts는 원격 터미널로 접속한 형태

id

일반적으로 uid, gid, group을 확인하는 명령어

g: gid

G: 그룹 정보

U: 사용자 uid

groups

사용자 계정에 속한 그룹 목록 확인

현재 로그인한 계정자가 속한 그룹명 목록 확인

 

감사합니다.

728x90
반응형
LIST

+ Recent posts