Pure-Ftpd

์ˆ˜์ •ยท2024๋…„ 4์›” 13์ผ
0

๋ฆฌ๋ˆ…์Šค

๋ชฉ๋ก ๋ณด๊ธฐ
18/23

๐Ÿ“Œ Pure-Ftpd

  • ํŒŒ์ผ์งˆ๋ผ๋กœ ๋“ค์–ด๊ฐ€๋Š” ๋ฐฉ์‹์€ ssh ๋ฐฉ์‹์ด๊ณ , ์ง„์งœ FTP๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” pure-ftpd ์„ค์น˜ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

๐Ÿ“Œ Pure-Ftpd ์„ค์น˜ ๋ฐ ์„ธํŒ…

1. pure-ftpd ์‚ญ์ œ : sudo yum remove pure-ftpd -y, sudo rm -rf /etc/pure-ftpd

2. pure-ftpd ์„ค์น˜ : sudo yum install pure-ftpd -y

3. pure-ftpd ์„ค์ • ํŒŒ์ผ ์—ด๊ธฐ : sudo vim /etc/pure-ftpd/pure-ftpd.conf

4. esc > /my ๊ฒ€์ƒ‰ > MySQLConfigFile ๋ถ€๋ถ„ ์ฃผ์„ ์ œ๊ฑฐ

5. mysql ์†Œ์ผ“ ํŒŒ์ผ ์ฐพ๊ธฐ : sudo locate mysql | fgrep sock > ํŒŒ์ผ ์—ด๊ธฐ : sudo vim /etc/pure-ftpd/pureftpd-mysql.conf

  • mysql ํ†ต์‹  ์„ค์ •ํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์†Œ์ผ“ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด์ค€๋‹ค.

6. MYSQLSocket ๋ถ€๋ถ„ ๊ฒฝ๋กœ ์ˆ˜์ • : /var/lib/mysql/mysql.sock

7. ์•„๋ž˜ ๋‚ด์šฉ ๋ณ€๊ฒฝ > :wq!(์ €์žฅํ•˜๊ณ  ๋‚˜๊ฐ€๊ธฐ)

  • MYSQLUser: pure-ftpd ์—์„œ mysql ์— ์ ‘์†ํ•  ๋•Œ ์‚ฌ์šฉํ•  ID

  • MYSQLPassword: pure-ftpd ์—์„œ mysql ์— ์ ‘์†ํ•  ๋•Œ ์‚ฌ์šฉํ•  PW (์ž์œ ๋กœ ์„ค์ •)

  • MYSQLDatabase: ftp ์‚ฌ์šฉ์ž ์ •๋ณด DB

  • MYSQLCrypt: cleartext (๋น„๋ฒˆ์€ ํ‰๋ฌธ์œผ๋กœ ์ €์žฅ ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ)

๐Ÿ“ ๋งˆ๋ฆฌ์•„DB์™€ pure-ftpd ์—ฐ๋™

  • FTP ๊ถŒํ•œ์„ MySQL๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์ด์œ ๋Š” FTP๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์—ฌ๋Ÿฌ๋ช…์˜ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๊ฐ๊ฐ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.

1. mysql ์ ‘์† : mysql -u root -p

2. ๊ณ„์ • ์ƒ์„ฑ : GRANT ALL PRIVILEGES ON pureftpd.* TO pureftpd@`localhost` IDENTIFIED BY '๋น„๋ฐ€๋ฒˆํ˜ธ';

  • pureftpd ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋งŒ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ„์ •์„ ์ƒ์„ฑํ•œ๋‹ค.

3. SQLYog > ์ฟผ๋ฆฌ๋ฌธ ์‹คํ–‰

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
insert  into `users`(`uidx`,`user`,`password`,`gid`,`uid`,`occurDate`,`status`,`ipaccess`,`comment`,`ulBandWidth`,`dlBandWidth`,`quotaSize`,`quotaFiles`,`dir`) values 
(1,'site1','korea1231',1000,1000,NOW(),1,'*','',0,0,0,0,'/web/site1'),
(2,'site2','korea1231',1000,1000,NOW(),1,'*','',0,0,0,0,'/web/site2'),
(3,'site3','korea1231',1000,1000,NOW(),1,'*','',0,0,0,0,'/web/site3');
  • ๊ณ„์ •๋ฒˆํ˜ธ๋Š” PuTTY์—์„œ sudo vim /etc/passwd ๋ฅผ ํ†ตํ•ด ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

4. ๋ฐ์ดํ„ฐ ํ™•์ธ : SELECT * FROM users;

5. pure-ftpd ํ™œ์„ฑํ™” : sudo systemctl enable pure-ftpd > pure-ftpd ์žฌ์‹œ์ž‘ : sudo systemctl restart pure-ftpd

๐Ÿ“ FTP ์„ค์น˜ ๋ฐ ์ ์šฉ ํ™•์ธ

1. ftp ์„ค์น˜ : sudo yum install ftp

2. ftp ์ ‘์† : ftp 127.0.0.1 > ์•„์ด๋”” ๋ณ„ ํ™•์ธ

  • name : mysql์— ๋“ฑ๋ก๋œ ์•„์ด๋””

  • password : mysql์— ๋“ฑ๋กํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ

3. VirtualBox > ํฌํŠธํฌ์›Œ๋”ฉ

4. ํŒŒ์ผ์งˆ๋ผ > ์‚ฌ์ดํŠธ๊ด€๋ฆฌ์ž > ์ƒˆ์‚ฌ์ดํŠธ > ์ •๋ณด์ž…๋ ฅ > ์ „์†ก์„ค์ •: ๋Šฅ๋™ํ˜• > ์—ฐ๊ฒฐ

  • ํ˜ธ์ŠคํŠธ๋Š” 192.168.56.1 ์„ ์ž…๋ ฅํ•ด์ฃผ๊ณ  ํฌํŠธ๋Š” ๊ธฐ๋ณธ 21 ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ์ ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

5. ์ ‘์† ์„ฑ๊ณต


๐Ÿ“Œ pure-ftpd ์‚ฌ์šฉ ์˜ˆ

  • ๋ฆฌ๋ˆ…์Šค๋ฅผ ํ•˜๋‚˜๋„ ๋ชจ๋ฅด๊ณ  , ์›น๋งŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์นœ๊ตฌ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ ์นœ๊ตฌ์—๊ฒŒ FTP์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ํ˜ธ์ŠคํŠธ ID, ์‚ฌ์šฉ์ž ID, ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•Œ๋ ค์ค€๋‹ค๋ฉด ์นœ๊ตฌ๋Š” Filezila๋กœ ์ ‘์†ํ•œ ๊ฒฝ์šฐ ๋‚ด๊ฐ€ ๋ถ€์—ฌํ•ด ๋†“์€ ํด๋”๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋œ๋‹ค.

๐Ÿ“ ์ƒˆ๋กœ์šด ์นœ๊ตฌ๊ฐ€ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ

1. SQLYog ์‹คํ–‰ > users ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€

 insert  into `users`(`uidx`,`user`,`password`,`gid`,`uid`,`occurDate`,`status`,`ipaccess`,`comment`,`ulBandWidth`,`dlBandWidth`,`quotaSize`,`quotaFiles`,`dir`) 
 values 
 (4,'๊ณ„์ •_์ด๋ฆ„','๋น„๋ฐ€๋ฒˆํ˜ธ',1000,1000,NOW(),1,'*','',0,0,0,0,'/web/site4');

2. PuTTY ์ ‘์† > ํด๋” ์ƒ์„ฑ : mkdir -p /web/site4/public

3. ํ˜ธ์ŠคํŠธ ์„ค์ •ํŒŒ์ผ ์—ด๊ธฐ : sudo vim /etc/nginx/conf.d/vhost.conf > ๋‚ด์šฉ ์ถ”๊ฐ€

 server{
 listen 8014
 server_name _;
 root /web/site4/public;
 }

4. nginx ์žฌ์‹œ์ž‘ : sudo systemctl restart nginx

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด