앞에서 CentOS 7을 최소 설치 했을 때, root 계정만 만들었습니다. 이제 일반 사용자를 추가 합니다. 보통 원격에서 작업할 때 보안상 root 로 바로 로그인 해서 작업을 하지는 않습니다. 일반 계정으로 로그인 해서 필요한 경우 su 명령으로 root 로 계정을 변경해서 작업을 하게 됩니다.
1. 사용자 추가 하기 위해서 먼저 그룹을 추가하고, 사용자를 추가 합니다.
- 그룹을 추가합니다.
# groupadd devteam
- /etc/group 파일에 정보가 추가됩니다. 파일 포맷은 다음과 같습니다.
devteam:x:1000: 그룹명:그룹비밀번호:그룹UID:콤마(,)로 분리된 그룹에 속한 사용자들의 아이디 |
위에서 그룹비밀번호가 x 인 이유는 보안을 위해 비밀번호파일을 따로 관리하기 때문입니다.
- 그룹 비밀번호 파일명은 /etc/gshadow 입니다. 파일 포맷은 다음과 같습니다.
devteam:!:: 그룹명:암호화된 비밀번호:그룹관리자 아이디:콤마(,)로 분리된 그룹에 속한 사용자들의 아이디 |
암호 필드에 느낌표(!) 가 있으면 다른 그룹의 사용자가 newgrp 명령으로 이 그룹의 권한을 갖지 못하게 합니다.
- 그룹 비밀번호를 지정하는 명령입니다.
# gpasswd
- 다른 그룹의 권한으로 변경하는 명령입니다.
# newgrp 그룹명
- 사용자를 추가합니다. 사용자 기본 설정 정보는 /etc/default/useradd 파일에 있습니다.
# useradd -g devteam devuser
devteam 그룹을 가지는 devuser 를 생성합니다. 많이 사용되는 추가 옵션은 다음과 같은것이 있습니다.
* d : 홈 디렉토리 지정 (기본값은 /home)
* s : 기본 shell 지정 (기본값은 /bin/bash)
/etc/default/useradd 파일의 내용입니다.
GROUP=100
HOME=/home
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
사용자가 생성된 후 사용자에게 주어지는 기본 환경설정파일이 /etc/skel 폴더에 존재합니다.
- /etc/passwd 파일에 정보가 추가 됩니다. 파일 포맷은 다음과 같습니다.
devuser:x:1000:1000::/home/devuser:/bin/bash 사용자아이디:비밀번호:UID:GID:GECOS:홈디렉토리:Shell |
비밀번호에 x 가 있으면 암호화된 비밀번호 파일은 /etc/shadow 파일에 저장됩니다. GECOS 정보는 예전에는 사용자의 이름과 전화번호들이 저장되었었는데, 보안목적으로 요즘에는 비워둡니다.
- 추가 한 사용자의 비밀번호를 설정 합니다.
# passwd devuser
/etc/shadow 파일에 정보가 추가 됩니다. 파일 포맷은 다음과 같습니다.
devuser:암호화된 비밀번호:17172:0:99999:7::: |
* 아이디
* 암호화된 비밀번호 - 암호화된 비밀번호 부분에 * 가 있으면 로그인 할 수 없습니다.
* 비밀번호를 마지막으로 바꾼 날이 (1970년 1월 1일로부터) 며칠째의 날인지 나타내는 항목.
* 최소 며칠이 지난 뒤에 패스워드를 바꿀 수 있는지를 나타내는 항목 (0이면 언제든지 바꿀 수 있다는 의미)
* 비밀번호를 반드시 바꿔야 하는 날로 부터 며칠이나 지났는지를 나타내는 항목 (99999 는 무지무지 오랫동안 비밀번호를 바꾸지 않았다는 것을 나타낸다)
* 비밀번호가 만기가 되었음을 며칠 동안 사용자에게 계속 주의를 줄 것인지 나타내는 항목 (1주일 동안 알려주려면 7)
* 비밀번호가 만기가 되어서 계정이 사용불가가 된지 며칠이나 되었는지 나타내는 항목
* 계정이 사용불가가 된 것이 1970년 1월 1일부터 계산하여 며칠째였는지 나타내는 항목
* 미래의 사용을 위해서 잡아둔 항목
2. SSH 설정을 확인합니다.
netstat 명령으로 현재 SSH 22 포트 확인합니다. 최소 설치만 한 상황에서 22번 포트와 25번 포트가 열려 있는것이 보입니다. 22번 포트가 SSH(Secure Shell) 포트이고, 25 포트는 SMTP(Simple Mail Transfer Portocol) 포트 입니다. 메일 프로그램을 postfix 가 설치되어 있습니다.
# netstat -nalt
또는
# ss -nalt
3. SSH 클라이언트인 PUTTY 를 설치합니다. http://kldp.net/iputty/release/ 에서 설치 파일을 다운로드 받습니다. (2873-HangulPuTTY-0.60h.setup.exe)
4. 서버에 연결합니다.
- 서버의 IP를 확인합니다.
# ifconfig
- PUTTY 를 실행하고 연결 정보를 입력합니다.
- 로그인 정보를 입력해서 로그인 합니다.
5. 보안 목적으로 SSH 포트를 변경하는 방법 입니다.
- SSH 설정 파일 에서 포트를 변경합니다.
# vi /etc/ssh/sshd_config
#Port 22 로 되어 있는 부분을
Port 3001 # 원하는 포트로 변경합니다.
- SELinux 명령을 설치합니다.(semanage 명령을 설치합니다.)
# yum install policycoreutils-python
- SSH 포트로 3001을 추가합니다.
# semanage port -a -t ssh_port_t -p tcp 3001
- SSH 서비스를 재시작 합니다.
# service sshd restart
- 파이어월에서 포트를 열어 줍니다.
# firewall-cmd --permanent --zone=public --add-port=3001/tcp
# firewall-cmd --reload
- PUTTY 를 사용하서 3001 포트를 접속해 봅니다.
- 앞에서 추가했던 포트를 삭제하는 방법 입다.
# firewall-cmd --permanent --zone=public --remove-port=3001/tcp
# firewall-cmd --reload
# semanage port -d -t ssh_port_t -p tcp 3001
사용자를 추가하고 원격에서 SSH 클라이언트로 접속하는 방법을 알아 봤습니다. 또 필요시 SSH 포트를 변경하는 방법도 알아 봤습니다.
'프로그래밍 > 운영체제, 서버' 카테고리의 다른 글
Windows 10 크리에이터 업데이트 (0) | 2018.04.08 |
---|---|
CentOS 7 KDE에 한글입력 및 세벌식 자판 설정 (3) | 2018.04.03 |
VirtualBox로 Linux 서버 만들기 3 - network 설정, 게스트 확장, X11 (2) | 2018.04.02 |
VirtualBox로 Linux 서버 만들기 2 - CentOS7 설치하기 (8) | 2018.04.02 |
Windows.old 폴더 삭제하기 (2) | 2018.04.02 |