日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

vsftp mysql_vsftp mysql安装配置

發布時間:2025/3/20 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vsftp mysql_vsftp mysql安装配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

二、安裝VSFTPD

useradd nobody

useradd vsftpdguest

useradd -d /var/ftp ftp

[root@localhost root]# chown root.root /var/ftp

[root@localhost root]# chmod og-w /var/ftp

make

make install

cp vsftpd /usr/local/sbin/vsftpd

cp vsftpd.conf.5 /usr/local/man/man5

cp vsftpd.8 /usr/local/man/man8

cp vsftpd.conf /etc

cp RedHat/vsftpd.pam /etc/pam.d/vsftpd

/usr/local/sbin/vsftpd &

三、安裝pam-mysql

下載地址 http://prdownloads.sourceforge.net/pam-mysql/

1)安裝

tar zxvf pam_mysql-0.7RC1.tar.gz

cd pam_mysql-0.7RC1

./configure --with-mysql=/usr/ --with-openssl --with-cyrus-sasl2

make && make install

2)配置vsftpd支持mysql虛擬用戶認證

[root@localhost vsftpd-2.2.2]#vi /etc/pam.d/vsftpd

auth required /usr/lib/security/pam_mysql.so config_file=/usr/lib/security/pam_mysql.conf

account required /usr/lib/security/pam_mysql.so config_file=/usr/lib/security/pam_mysql.conf

[root@localhost vsftpd-2.2.2]# mkdir -p /etc/vsftpd/vsftpd_user_conf/

[root@localhost ftp]# vi /usr/lib/security/pam_mysql.conf

users.host=localhost

users.database=vsftp

users.db_user=vsftpdguest

users.db_passwd=vsftp0123user

users.table=users

users.user_column=name

users.password_column=passwd

users.password_crypt=3此處為0時密碼為明文,2為password加密,3為md5加密

verbose=1

log.enabled=1

log.table=logs

log.pid_column=pid

log.message_column=msg

log.user_column=user

log.host_column=host

log.rhost_column=rhost

log.time_column=logtime

上面這里后面不能留有空格

3)設置虛擬用戶權限及其家目錄

[root@localhost vsftpd-2.2.2]# vi /etc/vsftpd/vsftpd_user_conf/4399

anon_world_readable_only=NO

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/DataCenter/4399/ #設定用戶目錄所在

4)下面是用戶的配置文件存放目錄

*******文件權限為root.root不然會出現用戶找不到入口錯誤

[root@localhost ~]# ll /etc/vsftpd/vsftpd_user_conf/

total 12

-rw-r--r--? 1 root root 153 Nov 19 14:52 4399

5)下面是FTP文件存放的目錄

*****文件權限為vsftpdguest.vsftpdguest否則出現用戶配置文件錯誤

[root@localhost ~]# ll /DataCenter/

total 12

drwxrw-r-x? 5 vsftpdguest vsftpdguest 4096 Nov 17 17:25 4399

drwxrw-r-x? 4 vsftpdguest vsftpdguest 4096 Nov 17 17:38 5i

drwxrw-r-x? 4 vsftpdguest vsftpdguest 4096 Nov 17 17:39 hw

6)用戶列表文件

[root@localhost ~]# vi /etc/vsftpd/vsftpd.chroot_list 此文件好像沒有用,因為后來我建立了一個帳戶沒有在這里添加也行

4399

hw

5i

四、vsftpd.conf配置文件設置

[root@localhost ~]# vi /etc/vsftpd.conf

anonymous_enable=YES

local_enable=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

dual_log_enable=YES

vsftpd_log_file=/var/log/vsftpd.log

use_localtime=YES

listen=YES

pam_service_name=/etc/pam.d/vsftpd

user_config_dir=/etc/vsftpd/vsftpd_user_conf

guest_enable=YES

guest_username=vsftpdguest

anon_umask=077

anon_world_readable_only=NO

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

五、FTP的防火墻設置

ftp連接時需要兩個端口:默認情況下是20和21,21端口為命令傳輸通道,20為數據傳輸通道.

如果是以主動模式的話,那么情況就是上述那樣.

而如果是被動模式的話,那么命令通道還是默認21,而數據通道此時就是由客戶端發出請求,即客戶端向服務器端申請一個大于1023的端口進行傳輸數據,而不再是20了.

如上所述為了打開防火墻,本來是想使用主動模式但看起來比較復雜,所以就使用了被動模式給了一個端口范圍給FTP

iptables -I RH-Firewall-1-INPUT -p tcp -m multiport --dport 21,9981,9982,9983,9984,9985,9986,9987,9988,9989,9990? -j ACCEPT

service iptables save

同時在vsftpd.conf里加入

listen_port=21

pasv_min_port=9981

pasv_max_port=9986

六、數據庫配置

create database vsftp;

use vsftp;

create table users(

id int AUTO_INCREMENT NOT NULL primary key,

name char(16) binary NOT NULL,

passwd char(40) binary NOT NULL);

***md5加密后有32位

create table logs(

pid int,

msg varchar(255),

user char(16),

host char(32),

rhost char(32),

logtime timestamp);

grant all on vsftp.* to vsftpdguest@localhost identified by 'vsftp0123user';

insert into vsftp.users values ('1','4399',md5('xxx'));

問題:

500 OOPS: config file not owned by correct user, or not a file

配置文件權限問題

/etc/vsftpd/vsftpd_user_conf/4399權限要為 root root

用戶找不到入口的問題虛擬用戶沒有配置文件存在,即下面文件不存在

/etc/vsftpd/vsftpd_user_conf/4399

出錯觀察最初診斷是在/var/log/vsftpd.log 這個最好是看看傳文件記錄不利于排錯

/var/log/messages 會出現配置虛擬用戶時的一些問題

/var/log/secure? pam認證這里會記錄,虛擬用戶訪問數據庫的一些問題諸如授權如果沒有授權方面的問題了只能在客戶端里看那個登錄提示出錯的一些信息了,vsftp的日志提示并不友好感覺

附:配置文件的說明

anonymous_enable=NO??????????? #禁止匿名

local_enable=YES?????????????????????? #允許本地登錄

write_enable=YES?????????????????????? #允許寫,如需上傳,則必須

local_umask=027??????????????????????? #將上傳文件的權限設置為:777-local_umask

anon_upload_enable=YES????????? #允許虛擬用戶和匿名用戶上傳

anon_other_write_enable=YES? #允許虛擬用戶和匿名用戶修改文件名和刪除文件

dirmessage_enable=YES

xferlog_enable=YES????????????????????? #打開日志記錄

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log???? #日志存放位置

xferlog_std_format=YES????????????? #標準日志格式

idle_session_timeout=600??????? #空閑連接超時

data_connection_timeout=120

ftpd_banner=Welcome to ChinaRise FTP service?????? #歡迎信息

guest_enable=yes?????????????????????? #允許虛擬用戶

guest_username=vsftpdguest? #虛擬用戶使用的系統賬號

virtual_use_local_privs=YES???? #虛擬用戶擁有本地系統權限

chroot_local_user=NO

chroot_list_enable=YES

#以下兩行將虛擬用戶限制在其目錄下,不能訪問其他目錄,或者直接用

chroot_local_user=YES

listen=yes??????????????? #監聽/被動模式

listen_port=21??????? #監聽端口

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list?????? #虛擬用戶名單保存在文件/etc/vsftpd/vsftpd.chroot_list 中

user_config_dir=/etc/vsftpd/vsftpd_user_conf?? #每個虛擬用戶名的更加詳細的培植保存在/etc/vsftpd/vsftpd_user_conf 中

FTP上傳腳本

#!/bin/bash

str=`date +%Y-%m-%d`

mysqldump -u root -pxx g log_everyday -t >/q/setup/date/log_everyday.csv

cd /q/setup/date

ftp -n < /q/setup/ftpsh/ftp.cmd

ftp.cmd

open IP

user username password

binary

prompt off

cd dir

mput *

bye

scp腳本

scp.sh

#!/bin/bash

str=`date +%Y-%m-%d`

mysqldump -u root -pxx g log_everyday -t >/q/setup/date/log_everyday.csv

for i in `find /q/setup/date/ -name '*.csv' -ctime -1`

do

/q/setup/date/scp.expect $i

done

scp.expect

#!/usr/bin/expect

set timeout 6000 #(秒)

set csv [lindex $argv 0]

spawn? scp $csv user@ip:/DataCenter/h/xx

expect {

"(yes/no)?" {

send "yes\n"

expect "password:"

send "password\r"

}

"password:" {

send "password\r"

}

}

expect "]*"

exit

interact

最近改進的用FTP作為數據中心備份數據的腳本貼下來,下面是把上面的那兩個腳本合為一個對于管理跟處理來說方便多了

#!/bin/bash

str=`date +%Y-%m-%d`

user=xxx

dir=xxx

pwd=xxx

path="/db/setup/data"

mysql -ppasswd -e 'select * from Log.log_everyday;' > $path/log_everyday.txt

cd $path

mv log_everyday.txt log_everyday.csv

ftp -n <

open?fpip 21

user $user $pwd

binary

prompt off

cd $dir

mput *

bye

EOF

下面是在執行備份時再執行FTP到備份后刪除一星期之前的數據

cd /db/db

str=xxx_`date +%y%m%d%H%M`.gz

echo "開始備份..."`date`

mysqldump -uroot -pxxx --quick --add-drop-table --extended-insert mysql|| gzip > $str

echo "備份完畢..."`date`

sleep 2

ftp -n <

open ftpip

user user pwd

binary

prompt off

cd dir

mput $str

bye

EOF

find /db/db -ctime +7 -exec rm -rf {} \;

腳本中有不足之處是對于數據中心的文件夾創建問題需要手動創建,當時是想弄個跑上去連接先創建個目錄先還存在不少問題,繼續改進,呵呵

總結

以上是生活随笔為你收集整理的vsftp mysql_vsftp mysql安装配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。