반응형

Linux CentOS 7 : sudo 권한 설정

알게된 배경

 Ubuntu의 경우 위험성이 높은 root 계정을 아예 못 쓰게 막아놓고 sudo 라는 권한 명령어를 통해서 root의 권한을 부여받아서 사용이 가능하다. 하지만, centOS의 경우 기본적으로 sudo의 권한은 root만이 갖고 있다.

 이 때문에 여러 개발자들이 접속해야 하는 서버의 경우 root 계정을 사용 못하게 하면서 사용하게 하기 위해서는 sudo 명령어를 사용할 수 있는 권한을 설정해 줘야 한다.


설정파일

기본적으로 설정파일의 권한 설정은 "- r-- r-- ---"(440)로 돠어 있다. 때문에 수정하기 위해서는 먼저는 쓰기 권한을 설정한 다음에 파일을 수정해야한다.

ls -al /etc/sudoers
# 퍼미션 상태확인하고나서..
chmod u+w /etc/sudoers
vi /etc/sudoers



가능하면 몰아서 수정하자.

# 생략
root    ALL=(ALL)    ALL
# 여기에 추가를 하면 된다.



 파일을 수정하나 다음에는 다시 위의 모드로 설정을 되돌려 놓아야 sudo 명령어를 사용할 수 있다. 즉, sudo 명령어를 사용할 때마다 위의 파일을 읽어 오는듯 하다.

chmod u-w /etc/sudoers


설정하는 방법

특정 사용자가 sudo 사용

예시)lemi 계정

lemi    ALL(-ALL)    ALL


특정 그룹 사용자가 sudo 사용

예시)devel 그룹

%devel    ALL=(ALL)    ALL


패스워드 생략하여 sudo 사용

예시)lemi 계정과 devel 그룹

lemi    ALL=(ALL)    NOPASSWD: ALL
%devel    ALL=(ALL)    NOPASSWD: ALL



참고자료

블로그


반응형
반응형

Linux CentOS 7 : 사용자 계정 추가

알게된 배경

 협업 환경에서 리눅스라는 운영체제는 다수의 사용자 환경을 제공하기 때문에 이를 이용해서 작업환경을 만들 수 있다.

 각 명령어의 기본적으로 자세한 사용법을 알고 싶다면, 그냥 명령어만 입력을 하면, 사용방법에 대해서 설명을 해준다.


그룹 추가하기

명령어는 "groupadd"이다. 만약 devel이라는 그룹을 추가한다면, 뒤에 적어주면 된다. 우분투의 경우 명령어가 다르니 주의 하도록 하자.

예시)

groupadd devel


계청 추가하기

 명령어는 "useradd"이다. 만약 앞에서 생성한 devel 그룹에 lemi라는 계정을 추가할 경우 -g 옵션을 사용해서 추가해줘야 한다. 옵션 식별자 바로 뒤의 키워드는 옵션 값이 되므로 이를 주의 해서 입력하자. 그룹명이 먼저이나 계정명이 먼저이나 상관은 없다.

예시)

useradd -g devel lemi


계정 비번생성

 root 계정에서 "passwd lemi"를 입력하면, lemi에 대한 패스워드를 새로 생성하는 것을 확인할 수 있다. 이 명령어의 경우 그냥 입력할 경우 현재 로그온 되어 있는 계정의 패스워드를 재설정하려 하기 때문에 주의가 필요하다.

예시)

passwd lemi

 계정 비번이 활성화 되면, 이제 외부에서도 로그인을 할 수 있게 된다.


참고자료

블로그: 리눅스 계정관련 명령 모음

제타위키: 리눅스 계정 생성

게시판: 사용자 계정 패스워드 변경


반응형
반응형

Linux CentOS 7 : Open JAVA 설치하기

알게된 배경

 일반적으로 Linux를 사용할 경우 서버 구축을 하게 되는 경우가 많은데, 특히 웹 서버의 경우 JAVA기반의 웹 앱을 사용하는 경우가 많다. 따라서 JAVA의 설치는 거의 필수라 볼 수 있다.

 JAVA는 ORACLE JAVA와 OPEN JAVA 2가지가 존재한다. 과거에는 안정적인 성능을 위해서는 ORACLE JAVA를 추천을 많이 했었으나 요즘에는 성능차이가 적다. 특히 CetnOS의 경우 open JAVA가 기본 설치 JAVA이다.

 또한 서버에서는 주로 실행을 하기 때문에 JRE만 설치되어 있는 경우도 있기 때문에 이러한 점을 확인해야 한다.


JDK 버전확인

rpm(패키지 관리자)로 jdk 항목을 먼저 확인한다. 또한 jre를 키워드로 입력하여 확인을 할 수 있다.

rpm -qa | grep jdk


저장소 패키지 목록 확인

 yum을 사용하여 설치가능한 항목을 살펴보자. 만약 이미 설치되어 있는 버전과 버전 차이가 없다면, JDK 삭제와 설치를 할 필요가 없다.

yum list java*jdk-devel


JDK 삭제

 앞에서 확인한 항목의 버전이 낮을 경우 삭제한다. 이글이 작성된 시기에는 jdk-1.8까지 나왔으며, 기본적으로는 jdk-1.7이 설치되어 있다. 최신버전을 설치하기 위해 yum remove 명령어를 사용하여 삭제하자.

yum remove java-1.7.0-openjdk-*


JDK 설치

저장소 패키지 목록이 확인한 패키지를 설치하면 된다. 패키지 이름이 길기 때문에 오타에 주의 하거나 "*"를 이용해서 작성하도록 하자. 기본적으로 JDK는 JRE에 의존하기 때문에 JDK를 설치하면, JRE도 설치가 된다.

yum install java-1.8.0-open*.x86_64


JDK 설치 확인

 버전확인 명령어를 실행해서 정상적으로 설치되었는지 확인하면 된다.

java -version
javac -version


참고자료

제타위키 : jdk 목록확인과 설치

블로그 : jdk 제거하기


반응형
반응형

Linux CentOS 7 : MariaDB 문자 설정

문자설정 배경

 MySQL 시절부터 기본설정이 Latin으로 되어 있어서 한글을 입력할 경우 깨지는 경우가 있었다. 때문에 이러한 문제점을 해결하기 위한 문자셋 설정이 필요하다. 현재 전세계 언어를 지원하는 가변 문자셋으로 utf8를 거의 표준처럼(그리고 잠정적인 표준) 사용하고 있기 때문에 이 설정으로 해야 한다.


문자셋 확인

 MariaDB로 로그인이 된상태에서 status를 입력하면 문자셋을 확인할 수 있다. 과거에는 기본적 설정으로 Latin으로 주로 되어 있었는데 요즘에는 server, client 일부만 Latin으로 설정되어 있다.


기본문자셋 설정

 대부분 인터넷에 있는 설정을 확인을 해보면 /etc/my.cnf 파일에서 [mysqld]항목을 수정하도록 되어 있다. 하지만, 해당 파일일을 내용을 보면 [mysqld]항목이 아예 없고 대신 /etc/my.cnf.d 폴더에서 설정파일들을 읽어도록 되어 있는 것을 확인 할 수 있다.

 따라서 이제는 /etc/my.cnf.d/ 항목중에서 적합한 파일을 수정해야 한다. 주로 server쪽 문자셋을 수정해야 하므로 /etc/my.cnf.d/server.cnf 항목을 수정하려고 열어보자. 이 파일안에 우리가 수정하고자 하는 [mysqld]를 찾을 수 있다.

vi /etc/my.cnf.d/server.cnf

파일에서 [mysqld]밑에 문자셋 설정을 추가한다.

# 생략
[mysqld]
init_connect="SET collation_connection=utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server=utf8
collation-server=utf8_general_ci
# 생략


 문자셋 설정을 하고 나서 MariaDB를 재시작하자.

systemctl restart mariadb


주의 : 종종 재시작이 안되는 경우가 있는데, 이럴경우 침착하게 방금수정한 설정을 삭제한뒤 다시 시도해 본다. 다시 시도했을 때 정상작동되는 경우 오타가 있을 가능성이 크다.

참고자료

 대부분 자료는 각 설정 항목마다 기본문자셋을 설정하지만, 현재는 그럴 필요가 없다.

블로그 : 우분투 환경에서 MariaDB 문자셋 설정

블로그 : CentOS 환경에서 MariaDB 문자셋 설정


반응형
반응형

Linux CentOS 7 : root 계정 직접 로그인 막기

알게된 배경

 ssh 원격을 사용하면서, root 계정으로 직접적으로 로그인이 가능하게 할 경우 비밀번호에 대해서 상당한 취약점이 발생한다는 것을 알게 되었기 때문에 이러한 취약점을 보강하기 위해서 root 계정의 직접 로그인을 막는다.


설정 변경 방법

 설정파일을 변경하고 리부트를 하면 된다.

vi /etc/ssh/sshd_config

이 파일에서 아래의 #PermitRootLogin yes 부분을 찾아서 주석(#)을 해제한 다음에 yes를 no로 바꾸면 된다.

#PermitRootLogin yes

 vi가 익숙하지 않다면, 익숙한 편집기를 사용해도 된다. 

 vi에서는 '/'키를 눌러서 'PermitRootLogin'으로 검색을 하면 쉽게 찾을 수 있다. 찾았으면, 'i'를 눌러서 편집모드로 바꾼뒤 주석해제와 yes를 no로 바꾼뒤 'esc'로 편집모드를 나온다음에 ':wq' 입력하여 저장하고 vi를 닫는다.

 이후 리부트 하면 root 계정으로 바로 로그인이 안되고 다른 계정을 통해서 로그인한뒤에 'su'명령어를 통해서 root 계정으로 전환할 수 있다.

반응형
반응형

Linux CentOS 7 : 고정IP 설정

알게된 배경

 서버를 구축하고 사용하려 하다 보면 IP관리를 위해서 고정 IP는 필수로 설정하게 된다. 가장 이상적인 방법은 CentOS7부터는 설치할때 GUI에서 설정할 수 있으니 가능하면 이때 설치를 해놓으면 좋다. 하지만, 관리하다 보면 변동 사항이 있을 수도 있으니 정리해 놓자


고정 IP 설정 파일 위치

cd /etc/sysconfig/network-scripts
vi ifcfg-eth0

vi 사용법을 모른다면, 다른 편집기를 사용해도 된다.

 여기서 파일은 과거에는 ifcfg-eth0이지만, 설치할때 디바이스를 뭘로 잡았느냐에 따라서 ifcfg-뒤의 이름이 다르다. 때문에 ls를 입력하여 어떤 파일이 있는지 확인해야 한다. wlan0 같은 이름을 가진 파일은 와이파이 디바이스니 설치할때 뭘로 했었는지 기억을 떠올리던가 기록을 해둔것을 찾아서 수정해야 한다.


 대략 많은 내용의 설정파일들이 다음의 내용을 수정하고 없으면, 추가를 해서 작성하면 된다.

BOOTPROTO=static
IPADDR=XXX.XXX.XXX.XXX
NETMASK=XXX.XXX.XXX.XXX
DNS2=XXX.XXX.XXX.XXX
GATEWAY=XXX.XXX.XXX.XXX
DNS1=XXX.XXX.XXX.XXX

 수정이 끝났으면, vi의 경우 저장하고 종료한다음에 리부트(reboot)하거나 디바이스를 재시작 해주면 된다.


각 필요한 항목에 대한 설명은 다음과 같다.


 BOOTPROTO

 static이면 고정, dhcp이면 유동(자동), none이면 사용안함

 IPADDR

 고정(사용)할 IP주소 

 NETMASK

 네트워크 제공쪽 넷마스크(공유기의 내부망 정보 참조)

 국민 공유기인 iptime 제품 경우 255.255.255.0 이 기본 설정이다.

 DNS2

 보조DNS 서버(공유기 혹은 모뎀에서 확인가능)

 GATEWAY

 네트워크 제공자(공유기 혹은 모뎀)

 DNS1

 DNS 서버(공유기 혹은 모뎀에서 확인가능)


나머지는 네트워크 디바이스에 관한내용이기 때문에 다음에 다루던가 네트워크 쟁이들에게 물어보자.


참조 자료

고정IP 설정 메모된 블로그


반응형

+ Recent posts