리눅스 10일차, 11일차

2022. 5. 14. 15:38리눅스

  • 수행내용
    • 마리아DB 삭제(혹시 모르기 때문에)
      • sudo yum remove mariadb
      • sudo rm -rf /var/lib/mysql
      • sudo rm -rf /etc/my.cnf*
    • 마리아DB 설치
      • sudo vim /etc/yum.repos.d/MariaDB.repo
      • 내용
        [mariadb]
        name = MariaDB
        baseurl = http://yum.mariadb.org/10.6/centos7-amd64
        gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
        gpgcheck=1
  • 이어서
    • 이어서
      • sudo vim /etc/my.cnf
        • 내용 : !includedir /etc/my.cnf.d
      • sudo yum install MariaDB-server MariaDB-client -y
      • sudo vim /etc/my.cnf.d/server.cnf
      • 내용
        [mysqld]
        character-set-server=utf8mb4
        collation-server=utf8mb4_unicode_ci
        skip-character-set-client-handshake
  • 이어서
    • 이어서
      • sudo vim /etc/my.cnf.d/mysql-clients.cnf
      • 내용
        [mysql]
        default-character-set = utf8mb4
        

...

[mysqldump]
default-character-set = utf8mb4

- 이어서
  - 마리아DB 활성화(매 부팅마다 자동으로 켜짐)
    - sudo systemctl enable mariadb
  - 마리아DB 켜기
    - sudo systemctl start mariadb
  - 마리아DB 초기세팅(단 1회만 하면 됩니다.)
    - sudo /usr/bin/mariadb-secure-installation
      - 모든 것을 Y로 설정
        - switch unix_socket에서는 n
      - 새 root 계정의 비번 : it123414
  - 마리아DB 접속
    - mysql -h 127.0.0.1 -u root -p
      - 비번 : it123414

MariaDB 세팅, SQLYog로 MariaDB 서버에 접속
- 수행내용
  - mariadb root 계정으로 접속해서 itit 계정 생성
    - mysql -u root -p
    - GRANT ALL PRIVILEGES ON *.* TO itit@`%` IDENTIFIED BY 'it123414'
    - mysql에서 나가는 방법
      - exit
      - or
      - Ctrl + C
  - 포트포워딩(아래 처럼 다시 세팅)
    - HTTP 8040, TCP, 0.0.0.0, 8040, 10.0.2.15, 80
    - HTTP 8041, TCP, 0.0.0.0, 8041, 10.0.2.15, 8041
    - HTTP 8042, TCP, 0.0.0.0, 8042, 10.0.2.15, 8042
    - SSH 2222, TCP, 0.0.0.0, 8040, 10.0.2.15, 22
    - MariaDB 3307, TCP, 0.0.0.0, 3307, 10.0.2.15, 3306
  - [SQLYog Community Edition 설치, https://github.com/webyog/sqlyog-community/wiki/Downloads](https://github.com/webyog/sqlyog-community/wiki/Downloads)
    - SQLyog Community Edition - 13.1.7 (64-Bit)
  - SQLYog 세팅, 도구 => 환격설정 => 일반 => 메세지 탭에서 경고 보기 체크
  - SQLYog 세팅, 도구 => 환격설정 => 글골 & 편집기 설정
    - 탭 크기 : 4, 삽입공간
  - SQLYog 접속
    - 이름 : itit@127.0.0.1
    - MySQL Host Address : localhost
    - 사용자이름 : itit
    - 비밀번호 : it123414
    - 포트 : 3307
    - 연결
  - 좌측 입력란에
    - SHOW DATABASES; 입력 후 F9
    - 하단에 결과
      - Databases
        - information_schema
        - mysql
        - performance_schema

### pure-ftpd 설치 및 활성화

#### pure-ftpd 삭제
- sudo yum remove pure-ftpd -y
- sudo rm -rf /etc/pure-ftpd

#### pure-ftpd 설치 및 기본세팅
- sudo yum install pure-ftpd -y
- sudo vim /etc/pure-ftpd/pure-ftpd.conf
  - MySQLConfigFile               /etc/pure-ftpd/pureftpd-mysql.conf 에서 앞에 `#` 주석 풀기
- sudo vim /etc/pure-ftpd/pureftpd-mysql.conf
  - MYSQLSocket     /var/lib/mysql/mysql.sock
    - mysql 소켓 파일 확인은 mysql이 돌아가고 있는 상태에서 `sudo updatedb` 명령 후 `sudo locate mysql | fgrep sock` 로 경로를 찾을 수 있다.
  - MYSQLUser       pureftpd # pure-ftpd 에서 mysql 에 접속할 때 사용할 ID
  - MYSQLPassword   sbs123414 # pure-ftpd 에서 mysql 에 접속할 때 사용할 PW
  - MYSQLDatabase   pureftpd # ftp 사용자 정보 DB
  - MYSQLCrypt      cleartext # 비번은 평문으로 저장 하겠다.

#### MariaDB에 pureftpd 계정 생성
- 아래의 권한부여 SQL은 mysql root 계정으로 실행(mysql -u root -p)
  - 기존의 itit 계정과 다르게 이번에 추가되는 pureftpd 계정은 pureftpd DB에 대한 권한만 가진다.
  - 이렇게 pureftpd 계정을 꼭 추가해야하는 건 아니지만, 추가하면 보안이 강화된다.
- GRANT ALL PRIVILEGES ON pureftpd.* TO pureftpd@`localhost` IDENTIFIED BY 'it123414';

#### MariaDB에 pureftpd가 사용할 장부와 장부 데이터 생성
- SQLYog에서 아래 쿼리문 실행
- 전체선택(Ctrl + A) 후 F9
- 실행

DROP DATABASE IF EXISTS pureftpd;

CREATE DATABASE pureftpd;

USE pureftpd;

CREATE TABLE users (
uidx int(10) unsigned NOT NULL AUTO_INCREMENT,
user varchar(100) NOT NULL,
password varchar(100) NOT NULL,
gid int(10) unsigned NOT NULL,
uid int(10) unsigned NOT NULL,
occurDate timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
status tinyint(1) unsigned NOT NULL DEFAULT '1',
ipaccess varchar(15) NOT NULL,
comment varchar(100) NOT NULL,
ulBandWidth smallint(5) unsigned NOT NULL,
dlBandWidth smallint(5) unsigned NOT NULL,
quotaSize smallint(5) unsigned NOT NULL,
quotaFiles int(10) unsigned NOT NULL,
dir varchar(100) NOT NULL,
PRIMARY KEY (uidx)
);

insert into users(uidx,user,password,gid,uid,occurDate,status,ipaccess,comment,ulBandWidth,dlBandWidth,quotaSize,quotaFiles,dir) values
(1,'site1','it123414',1000,1000,NOW(),1,'','',0,0,0,0,'/web/site1'),
(2,'site2','it123414',1000,1000,NOW(),1,'
','',0,0,0,0,'/web/site2'),
(3,'site3','it123414',1000,1000,NOW(),1,'*','',0,0,0,0,'/web/site3');


#### pureftpd 활성화 및 실행
- sudo systemctl enable pure-ftpd
- sudo systemctl restart pure-ftpd

#### 로컬 ftp 설치 및 접속테스트
- sudo yum install ftp
- ftp 127.0.0.1
  - 계정1 : site1 / it123414
  - 계정2 : site2 / it123414
  - 계정3 : site3 / it123414
  - 접속이 안된다면 잘 못 한것
728x90

'리눅스' 카테고리의 다른 글

article_list.php  (0) 2022.05.25
리눅스 12일차  (0) 2022.05.20
리눅스 9일차  (0) 2022.05.09
리눅스 - sudo  (0) 2022.05.09
리눅스 8일차  (0) 2022.05.04