본문 바로가기
클라우드 아키텍처 설계 기초지식/04 리눅스서버 운영

리눅스 서버 운영 (3) - 사용자 생성 및 관리 & DNS 설정

by Jasie 2019. 3. 14.

1. 사용자 관리



1.2 사용자 관리 명령어


1) 사용자 생성

useradd [옵션] [사용자명]

-u : 사용자 UID 지정

-g : 사용자가 속한 주 그룹의 GID 지정

-G : 사용자가 속한 보조 그룹의 GID 지정

-d : 홈 디렉토리 지정

-m : 지정한 홈 디렉토리가 존재하지 않을 때 사용자를 생성하면서 홈 디렉토리도 같이 생성

-k : 홈 디렉토리를 생성하면서 사용자의 홈 디렉토리에 필요한 초기화 파일이 저장된 디렉토리를 지정

따로 지정하지 않으면 /etc/skel 디렉토리로 자동으로 설정

-s : 사용자 로그인 쉘을 지정

-c : /etc/passwd 파일에 주석 부분을 설정

-D : 사용자를 생성할 때 설정되어 있는 기본값을 조회

기본값을 변경할 때는 -D 옵션 뒤에 다른 옵션을 추가해서 변경

ex) useradd -u 1001 -g 0 -d /home/user01 -m -c "normal user" -s /bin/bash user01





2) 사용자 정보 수정

usermod [옵션] [사용자명]

옵션은 useradd 명령어와 같다

3) 사용자 삭제

userdel [옵션] [사용자명]

-r : 사용자의 홈 디렉토리를 사용자와 함께 삭제

1.3 그룹 관리 명령어

1) groupadd [옵션] [그룹명]

-g : 생성할 그룹의 GID 지정

2) groupmod [옵션] [그룹명]

groupadd 명령어와 똑같다.

3) groupdel [옵션] [그룹명]

1.4 패스워드 관리 명령어

1) 패스워드 설정 명령어

passwd [옵션] [사용자명]

-n : 최소 패스워드 사용일

-x : 최대 패스워드 사용일

-w : 만료일 전 패스워드 변경 경고 기간

-l : 해당 사용자 계정 잠금

-u : 해당 사용자 계정 잠금 해제

usermod -e : 만기일 지정

usermod -f : inactive일 지정

1.5 로그인 명령어

1) 사용자 전환 명령어

su - [사용자명] : 사용자로 로그인하면서 해당 사용자의 홈디렉토리에 있는 사용자 초기화 파일을 읽어서 적용

su [사용자명] : 사용자로 로그인하면서 해당 사용자의 홈디렉토리에 있는 사용자 초기화 파일을 읽지 않고 그냥 로그인

1.6 기타 사용자 관련 파일

1-1) /var/log/lastlog

사용자가 마지막으로 로그인한 시간을 기록

1-2) lastlog

마지막으로 로그인했던 기록 조회

2) /var/log/secure

로그인 실패 기록

cat /var/log/secure 명령어로 조회

실패한 경우에는 -로 표시, 성공한 경우 +를 표기한다.


2. 디스크 관리



2.1 디스크 확인

1) 파티션 확인

fdisk -l : 현재 추가된 디스크와 파티션 내용을 조회

2) 디스크 사용량 확인

df -h : 현재 디스크의 사용량을 조회

2.2 디스크 추가

1) 디스크 인식

echo "- - -" > /sys/class/scsi_host/host0/scan






2.2 디스크 파티션 설정

1) 파티션 설정

fdisk [디스크명]을 입력하면 아래와 같은 그림이 나온다





2.3 포맷(파일 시스템 생성)

1) ext 파일 시스템 생성

mkfs [파티션 이름]

2.4 마운트

1) 수동 마운트

mount [파티션명] [마운트포인트] 마운트 포인트는 특정 디렉토리

umount [파티션명] 해제

umount [마운트 포인트] 해제

umount [파티션명] [마운트포인트] 해제

디스크를 사용하기까지

1. 디스크 추가 VMware에서 추가

2. 디스크 인식 echo "- - -" > /sys/class/scsi_host/host0/scan

3. 파티션 생성 fdisk /dev/sd?

4. 포맷(파일시스템 생성) mkfs /dev/sd??

5. 마운트 mount /dev/sd?? [디렉토리명]

2) 자동 마운트

/etc/fstab

1 2 3 4 5 6

/dev/mapper/centos-swap swap swap defaults 0 0

파티션명 마운트포인트 파일시스템 파일시스템 옵션 dump 또는 fsck 설정




3. 작업 스케줄링



3.1 단일 작업 스케줄링

1) 작업 예약

at [시간]

[실행 할 명령어]

Ctrl + d

2) 작업 확인

atq 또는 at -l

3) 작업 삭제

at -r [작업번호]

3.2 반복 작업 스케줄링

1) 작업 예약

crontab -e

[분] [시] [일] [월] [요일] [명령어]

0~59 0~23 1~31 1~12 0~6

일~토

1,2

1-5

ex) 매주 금요일 새벽 3시 정각에 백업 명령어 수행

0 3 * * 6 백업

매 시간 45분마다 echo 명령어를 이용해서 "Break Time" 화면에 출력

45 * * * * echo "Break Time" > /dev/pts/0

짝수 월에 일요일마다 새벽 4시 반에 특정 명령어가 수행

30 4 * 2,4,6,8,10,12 0 명령어

매월 평일 오전 11시 45분이면 "Lunch Time"을 출력

45 11 * * 1-5 echo "Lunch Time" > /dev/pts/0

2) 작업 확인

crontab -l

3) 작업 삭제

crontab -r 에서 설정 내용 일괄 삭제

crontab -e 에서 설정 내용 삭제

3.3 접근 제어

1) 화이트 리스트 방식

/etc/at.allow 기본적으로 없으며 따로 생성해야 함

/etc/cron.allow 기본적으로 없으며 따로 생성해야 함

2) 블랙 리스트 방식

/etc/at.deny 기본적으로 생성돼 있음

/etc/cron.deny 기본적으로 생성돼 있음

*tip : allow 파일과 deny 파일이 둘 다 있을 경우 allow 파일이 우선, deny 파일은 무시






4. 네트워크 관리


4.1 네트워크 인터페이스

1) 인터페이스 확인

ifconfig 장치 이름, 현재 상태, IP, MAC 주소 등

UP이 있으면 사용

2) 인터페이스 상태 변경

ifconfig [장치명] up 또는 down

4.2 DHCP

1) 설정 파일 수정 ( vi /etc/sysconfig/network-scripts/ifcfg-ens33)

/etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO : IP 설정 타입, dhcp, static

ONBOOT=yes

4.3 수동

1) 설정 파일 수정

vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

ONBOOT=yes

IPADDR=

NETMASK=

GATEWAY=

DNS1=

2) 설정 적용

service network restart //네트워크 서비스 재시작




5. 패키지 관리



5.1 설치 파일 형식

1) 패키지 설치 *tip : 레드햇 계열(rpm 파일), 데비안(deb 파일)

rpm -ivh [패키지 파일명]

2) 패키지 확인

rpm -qa

3) 패키지 삭제

rpm -e [패키지 파일명]

4) 패키지 업데이트

rpm -Uvh [패키지 파일명]

*tip : 인터넷 상에서 파일을 받아올 때는 wget [주소] 명령어를 사용한다.

ex) wget http://dl.marmotte.net/rpms/redhat/el7/x86_64/nghttp2-1.21.1-1.el7/libnghttp2-1.21.1-1.el7.x86_64.rpm

5) 의존성 확인

rpm -qR [패키지명]

패키지 관련된 의존성을 확인 가능

5.2 소스 코드

1) 패키지 설치

일반적으로 소스코드 파일은 tar.gz 형식으로 배포

tar zxvf 명령어를 이용해서 압축부터 해제

1. ./configure : 소스코드로 패키지를 설치하기 위한 여러가지 도구 및 라이브러리들이 다 있는지 확인하고

make 명령어를 이용해서 컴파일 하기 위한 환경을 만들어주는 스크립트

2. make : ./configure 로 생성된 Makefile의 내용대로 컴파일을 수행->리눅스용 실행파일 생성

3. make install : 생성된 리눅스용 실행파일을 특정 디렉토리에 설치

2) 패키지 삭제

1. make 했던 디렉토리로 돌아와서 make uninstall

ex) wget https://ftp.gnu.org/gnu/bison/bison-3.1.tar.gz

5.3 인터넷 저장소(repository)

1) 패키지 설치 *tip : 레드햇 계열(yum 명령어), 데비안(apt-get)

yum (-y) install [패키지명]

-y 옵션 추가시 묻는 문항에 모두 y로 대답

2) 패키지 삭제

yum erase [패키지명]

3) 패키지 업데이트

yum update [패키지명]

5.4 서비스 패키지 관리

1) service

service [서비스명] [보조 명령어]

start : 서비스 시작

stop : 서비스 중지

restart : 서비스 재시작

refresh : 서비스 설정 파일 적용

2) service 명령어 구버젼, 아직까지는 사용 가능

service [서비스명] [보조 명령어]

start : 서비스 시작

stop : 서비스 중지

restart : 서비스 재시작

reload : 서비스 설정 파일 적용

3) systemctl 명령어

service [보조 명령어] [서비스명]

start : 서비스 시작

stop : 서비스 중지

restart : 서비스 재시작

reload : 서비스 설정 파일 적용

5.5 런 레벨

1) 런 레벨 종류

런레벨은 숫자 또는 문자로 표현된 시스템의 부팅 상태

런레벨은 서비스와 사용자가 사용할 수 있는 자원들에 대해서 정의하고 있다.

0 : halt, 시스템 종료, 즉 런 레벨을 0으로 변경시키면 시스템은 종료된다.

1 : Single User Mode, 루트 사용자만 접속이 가능하고 시스템 복원이나, 파일시스템 점검, 패스워드 복구 등의 작업을 할 때 사용

2 : Multi User Mode, but 일부 네트워크 기능을 사용할 수 없는 상태, NFS 기능(파일 공유)

3 : Full Multi User Mode, 거의 모든 기능을 사용할 수 있다. 텍스트 유저 모드

4 : 사용하지 않는 모드

5 : 기본적으로 사용하는 모드, x윈도우가 실행된 GUI모드

6 : reboot, 시스템 재부팅

2) 런 레벨 변경

init [런레벨]

3) 현재 런 레벨 확인

who -r

*시스템 종료 : init 0, halt, shutdown

*시스템 재부팅 : init 6, reboot, shutdown -r



6. DNS 서버



6.1 리눅스에서 DNS서버(bind)

1) 설치

yum install bind

2) 설정 파일

/etc/named.conf

6.2 named.conf 파일

1) 기본 설정

options {

directory "/var/named";

};

zone "sjb.com" in {

type master;

file "sjb.com.zone";

};

2) 설정 확인

named-checkconf 출력 결과가 없으면 정상

6.3 zone 영역 파일

cd /var/named/ 명령어를 이용해 디렉토리 이동후 시작

/var/named/sjb.com.zone안에서

(name) (ttl) CLASS TYPE Origin DNSMaster

;-------------------------------------------------------------------------------

@ IN SOA ns.bliss.com. root.bliss.com. (

2018100201 ;serial number

3600 ;Refresh

1800 ;Retry

36000 ;Expire

86400 );TTL

;(name) (ttl) CLASS TYPE Value

;-------------------------------------------------------------------------------

IN NS ns.bliss.com.

ns IN A 192.168.153.100

www IN A 192.168.153.100

server IN CNAME www

~

를 복사붙여넣기한다.

cat bliss.com.zone

/var/named]#named-checkzone bliss.com bliss.com.zone

으로 검사를 한다. [ok]가 뜨면된다.






공감() 과 댓글은 필자에게 큰 힘이 됩니다.

잠시 1초만 내주시면 안될까요? ~~


로그인 없이도 가능합니당 



댓글