서버 운영

    리눅스 NFS 서버, 클라이언트 설치 및 확인

    NFS (Network File System) NFS는 네트워크로 연결된 다른 컴퓨터의 파일 시스템을 내 컴퓨터로 마운트하고 공유하여 상대방의 파일 시스템 일부를 마치 자기 자신의 디렉터리처럼 사용하는 프로토콜이다. 즉, 저장 공간을 공유할 수 있도록 해주는 서비스를 말한다. 아무래도 다른 컴퓨터의 저장 공간을 공유하다보니 보안성에 취약하기 때문에 보안 이슈가 크다면 권장하진 않는다. NFS 서버 설정하기(export) 1. NFS 패키지 설치 # yum install nfs-utils 2. NFS 서버 서비스 기동 및 재부팅 시 자동 활성화 # systemctl start nfs-server # systemctl enable nfs-server 3. exports 할 파일 설정 # mkdir [공유할_..

    [리눅스] 인증 NIS 서버, 클라이언트 구성 및 NIS 관련 명령어

    NIS (Network Information Service) 다수의 서버를 운영할 경우 시스템에서 모든 서버에 사용자의 계정 정보가 개별로 저장되어 있기 때문에 인증 시 불편함이 존재했다. 이러한 경우를 보안하기 위해 만들어진 네트워크 기반의 인증 서비스이다. NIS는 여러 대의 서버를 운영하고 있고 각 각의 로그인이 필요한 경우, 사용자는 각 서버에 대해 모두 사용자계정과 패스워드를 가지고 있다. 즉, 하나의 서버에만 사용자의 계정이나 암호, 그룹 정보 등을 저장해두면 서버가 다른 시스템과 계정 정보를 공유한다. NIS에서는 RPC를 사용하기 때문에 RPC관련 데몬을 반드시 사용해야 한다. NIS 서버 구성하기 1. RPC 데몬 구동 # service rpcbind start rpcbind 는 RPC ..

    리눅스 apache(아파치) httpd.conf 설정 파일

    리눅스에서 아파치 httpd 설치를 설치하고, 아파치의 메인 설정 파일인 httpd.conf 파일에 대해 알아보도록 한다. /etc/httpd/conf/httpd.conf 아파치(Apache)의 메인 설정 파일이다. apache 설치시 자동적으로 /etc/httpd 경로에 설치가 되어지며 /etc/httpd/conf/경로에 httpd.conf 설정 파일이 존재한다. 기본 구성 요소로는 다음과 같다. ServerRoot 아파치 Root 홈 디렉터리 경로이다. 절대경로로 설정해줘야 한다. 설치시 기본적으로 /etc/httpd 경로로 지정되어 진다. Listen Apache 웹 서버 포트를 지정한다. 다른 Ip 주소와 포트에 대해서 연결 할 수 있도록 해준다. 미 지정시 아파치가 실행되지 않는다. 여러 포트 ..

    리눅스 lsattr, chattr 파일 속성 관리 명령어

    리눅스 파일 시스템의 모든 파일과 디렉터리에서는 chmod 명령어를 통해 관리하고 있는 파일 권한 이외에 여러가지 속성을 부여할 수 있다. lsattr과 chattr 은 리눅스 파일 시스템인 ext2부터 사용되는 명령어들로 기본적인 파일 권한 이외에 13가지 속성(attribute)을 부여하여 사용한다. 13가지 속성 중 일부 속성은 현재 커널에 적용되지 않고, 일부 속성은 특정 파일 시스템 또는 특정 커널 버전에만 사용된다. lsattr lsattr [option] [파일명] -R : 하위 디렉터리까지 한 번에 속성을 확인할 때 사용 -a : 숨김 파일과 디렉터리까지 확인 파일에 설정된 속성을 확인할 때 사용하는 명령이다. [사용 예시] # lsattr /var/log/messages -> /var/l..

    리눅스 su, sudo 명령어 및 visudo로 root 권한 설정하기

    sudo (Superuser do) 리눅스에서는 Superuser인 root계정과 일반 계정으로 나뉘어져 운영되고 있다. 일반 계정 사용시, root권한이 필요한 경우가 있는데 , 이 경우 sudo 명령어를 통해 root권한을 빌려 쓸 수 있다. 즉, sudo는 특정 사용자 또는 특정 그룹에 root 사용자 권한을 가질 수 있도록 일부 명령 또는 모든 명령을 실행 할 수 있도록 해주는 도구이다. su 와 sudo 명령어 차이 일반 사용자가 루트(root) 권한을 접근을 위해 su, sudo 명령어를 사용하는데, 실무에서도 계정 접근시 잘 사용하는 명령어로 su와 sudo 명령어 차이점을 정리해보록 한다. su (switch user) su : root 사용자로 변경, root암호 입력해야함 su [사용자..

    리눅스 커널 설정 sysctl 명령어

    리눅스 시스템은 핵심적인 역할을 수행하는 커널(Kernel)과 관련된 다양한 매개변수를 제공 하고 있다. 리눅스 관리자는 sysctl 명령어를 사용하여 커널의 매개변수 값을 변경함으로써 시스템의 성능을 향상시키고, 보안을 강화할 수 있다. 또한 /proc/sys 디렉터리에서 커널 제어를 위한 매개변수들을 보관하고, 하위 디렉터리에 있는 항목들을 echo 명령과 > 기호를 이용해 변경할 수 있다. 시스템의 성능과 보안 관련된 디렉터리는 kernel, fs, net, vm이다. kernel은 IPC와 관련된 Internal Message Queue, Semaphore 등 설정하는 매개변수 fs는 파일 시스템 관련 매개변수 net은 TCP, ICMP 등 네트워크 관련 매개변수 vm은 메모리 관련 변수가 들어있..

    Linux 시스템 보안 ssh 관리 및 명령어 (원격 접속)

    리눅스의 모든 프로그램들의 소스가 공개되어 있기 때문에 악의적인 목적을 가진 해커들의 공격 대상이 될 수 있다. 그에 따라 관리자가 지속적인 관심을 가지고 업데이트 및 보안에 대한 설정을 하여 보안을 강화해야 할 필요성이 있다. 시스템 보안 관련 명령어(SSH) 1. ssh (Secure Shell) 원격 시스템에 로그인하여 명령을 실행하는 프로그램으로 telnet과 사용법이 유사하다. telnet은 패킷의 내용을 유출당할 수 있지만, ssh2는 ssh1을 개선한 것으로 이중-암호화 RSA 키 교환을 비롯하여 다양한 키- 교환 방법을 지원한다. 2. ssh의 특징 패킷을 암호화 하여 telnet이나 rlogin에 비해 안전 패스워드 입력 없이 로그인 가능 rsh처럼 원격 쉘 지원 원격 복사(scp) 지원..

    Linux 시스템 로그(Log) 관련 파일 및 명령어(rsyslog, logrotate)

    시스템 로그 (System Log) 리눅스 시스템에서 모든 사건이나 이벤트 등은 각 서비스 별로 기록되는데, 이러한 기록들을 로그(log)라고 부른다. 로그 분석은 시스템 관리 및 보안에 상당히 중요한 역할을 담당하기 때문에 꼭 숙지해야 한다. 리눅스 초기에는 로그 기록과 관련된 패키지로 syslog를 사용했지만, 최근 리눅스 배포판에서는 syslog의 성능을 대폭 강화한 패키지인 rsyslog 를 사용한다. rsyslog는 멀티스레드, TCP, SSL 및 TLS, RELP, MySQL과 같은 데이터 베이스, 보내는 목록 제한, 메시지 일부 필터링, 출력 포맷 제어 등과 같은 다양한 기능을 지원하고 있다. 로그(Log) 관련 파일 1. /var/log/messages 시스템에서 발생하는 표준 메시지가 기..