[리눅스 서버 구축 - 실습]

2025. 11. 29. 23:22자격증/리눅스마스터 1급

0. 시스템 최신버전 업데이트

- sudo apt update && sudo apt upgrade -y

1. root 게정 비활성화

 

2. 다른 계정 생성

sudo adduser chlee

sudo usermod -aG sudo chlee

 

설명 : sudo라는 단어는 관리자 권한으로 실행

 

enable = 부팅 시 자동 시작 설정

 

 

  • sudo = 관리자 권한으로 실행
  • usermod = 사용자 수정하기
  • -aG = 그룹에 추가하기 (a=append, G=group)
  • sudo = sudo 그룹 (관리자 그룹)
  • chlee = 대상 사용자

 

 

 

3. FTP 프로토콜 설정

 

- ssh 설정

sudo apt install openssh-server -y

sudo systemctl start ssh

sudo systemctl enable ssh

 

- ftp 설치

sudo apt update

sudo apt install vsftpd -y

 

vsftpd 설정:

sudo nano /etc/vsftpd.conf
```

다음 설정을 변경/추가:
```
write_enable=YES
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

ftp 재시작
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

방화벽 열기 21포트
sudo ufw allow 21/tcp

ifconfig 설치 및 다른 컴퓨터에서 서버 접근
sudo apt install net-tools

 

접속 화면

 

DB 외부 접속하도록 설정

 

# MariaDB 설치
sudo apt install mariadb-server -y

# 보안 설정 스크립트 실행
sudo mysql_secure_installation

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

bind-address            = 0.0.0.0
하면, 모든 접속 허용


--- 데이터베이스 생성
create database ubuntusub;

-- 특정 IP에서만 접속 허용
CREATE USER 'username'@'클라이언트IP주소' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'클라이언트IP주소';

-- 또는 모든 IP에서 접속 허용 (보안 주의!)
CREATE USER 'username'@'%' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%';

-- 특정 권한만 부여 (권장)
GRANT SELECT, INSERT, UPDATE, DELETE ON database_name.* TO 'username'@'클라이언트IP주소';

-- 변경사항 적용
FLUSH PRIVILEGES;

-- 사용자 확인
SELECT User, Host FROM mysql.user;

-- 나가기
EXIT;

 

 

 

 

 

DB 접속도 해보고