CentOs6.5 서버 처음 설치시 설정
- IT 정보/Linux
- 2016. 12. 29.
서버를 처음 설치시에는 기본적으로 root 계정만 있기 때문에 root 계정을 제외한 새로운 관리자 계정을 생성해 주어야 한다.
이후 root를 통해서는 원격지에서 접속하지 못하도록 막아주어야 보안상 안전할 수 있다.
이렇게 만들어진 새로운 관리자는 sudo 권한을 주어 전체적인 시스템을 관리하게 된다.
### 새로운 사용자 계정 추가 ###
$>useradd 사용자ID // 사용자ID 추가 $>passwd 사용자ID // 사용자 비밀번호 설정 |
### 계정에 sudo권한 부여하기 ###
관리자(root)가 특정 사용자(특정 그룹)에게 특정 명령(명령그룹)을 root계정으로 실행할 수 있는 권한을 부여하는 것.
구성 파일 : /etc/sudoers
$>rpm -qa | grep sudo // sudo가 설치되어 있는지 확인 $>chmod +w /etc/sudoers // /etc/sudoers는 기본적으로 readonly 파일이므로 수정하기 위해 설정파일에 쓰기권한을 부여 |
$>vi /etc/sudoers // 설정파일 열어서 수정 root ALL=(ALL) ALL // root에게 sudo 권한이 부여되어 있는 상태 joonyon ALL =/usr/local/resin/bin/httpd.sh, /usr/local/apache/bin/apachectl // joonyon에 httpd.sh명령과 apachectl명령 권한을 허용한 예 |
$>chmod -w /etc/sudoers //쓰기권한 회수 |
일반계정 joonyon로 위의 명령을 실행하려면
$>su - joonyon $>sudo /usr/local/apache/bin/apachectl restart |
이때 password를 물어보면 joonyon의 password를 입력하면 root권한으로 실행이 된다.
### 원격지에서 root 접근 막기 ###
기본적인 설정에서는 원격지에서 root 로그인이 허용상태로 되어 있다.
로컬에서야 상관없지만, 원격 로그인을 할 때 root 계정으로의 로그인을 허용하다보면 보안상에 문제가 발생할 수 있다.
이유는 해커등이 악의적인 목적으로 해당 서버에 root 계정으로 원격지 접속을 시도할 수 있기 때문이다.
또한, 서버 보안 감사중에 가장 기본적으로 검사하는 항목이기도 함으로 필수로 다음 설정이 필요하다.
구성 파일: /etc/ssh/sshd_config
$>vi /etc/ssh/sshd_config ... #PermitRootLogin yes ... 다음과 같이 주석처리되어 있는 PermitRootLogin yes 부분의 주석을 해제하고 no로 변경한다. ... PermitRootLogin no ... |
그런 뒤에 저장을 하고 빠져나와 sshd를 재시작해 준다.
$>/etc/rc.d/init.d/sshd restart or $>service sshd restart |
출처 : http://webdir.tistory.com/130