欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何把FTP用戶帳號存放進(jìn)MariaDB數(shù)據(jù)庫中

FTP服務(wù)歷史是比較悠久的,但由于其出現(xiàn)的比較早,所以設(shè)計之初也沒考慮到安全問題,發(fā)展至今,F(xiàn)TP服務(wù)仍然采用明文傳輸協(xié)議,但由于其搭建及使用比較便捷,使其保留至今。今天就給大家分享一下如何搭建服務(wù)器,并讓之滿足實(shí)際生產(chǎn)環(huán)境中的相應(yīng)需求。為了演示方便,我們這里把防火墻和SELinux提前關(guān)閉掉,如果忘記關(guān)閉后續(xù)過程會出現(xiàn)一些另人費(fèi)解的報錯信息。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),綠園企業(yè)網(wǎng)站建設(shè),綠園品牌網(wǎng)站建設(shè),網(wǎng)站定制,綠園網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,綠園網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

第一步:YUM安裝ftp服務(wù)器端vs-ftpd

yum install -y vsftpd

第二步:配置vs-ftpd

vim /etc/vsftpd/vsftpd.conf

xferlog_enable=YES

xferlog_file=/var/log/xferlog

pam_service_name=vsftpd.MySQL

guest_enable=YES

guest_username=vsftpd

第三步:編譯安裝pam-mysql(編譯環(huán)境肯定是要有的)

[root@centos730g ~]#yum install -y mariadb-devel pam-devel openssl-deve

[root@centos730g ~]# ls

anaconda-ks.cfg  pam_mysql-0.7RC1.tar.gz

[root@centos730g ~]# tar xf pam_mysql-0.7RC1.tar.gz 

[root@centos730g ~]# cd pam_mysql-0.7RC1/

[root@centos730g pam_mysql-0.7RC1]# ./configure --with-pam=/usr --with-mysql=/usr --with-pam-mods-dir=/usr/lib64/security

[root@centos730g pam_mysql-0.7RC1]# make

/bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include/security -I/usr/include  -g -O2  -g -O2 -I/usr/include/mysql    -c pam_mysql.c

mkdir .libs

gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include/security -I/usr/include -g -O2 -g -O2 -I/usr/include/mysql -c pam_mysql.c  -fPIC -DPIC -o .libs/pam_mysql.o

pam_mysql.c: In function 'pam_mysql_converse':

pam_mysql.c:3192:4: warning: passing argument 2 of 'conv->conv' from incompatible pointer type [enabled by default]

   conv->appdata_ptr))) {   //這里出現(xiàn)了一個報錯信息,不影響最終結(jié)果,無需理會

   ^

pam_mysql.c:3192:4: note: expected 'const struct pam_message **' but argument is of type 'struct pam_message **'

/bin/sh ./libtool --mode=link gcc  -g -O2 -I/usr/include/mysql     -o pam_mysql.la -rpath /usr/lib64/security -module -avoid-version pam_mysql.lo  -L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -lssl -lcrypto -ldl    -lcrypt

gcc -shared  .libs/pam_mysql.o  -L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -lssl -lcrypto -ldl -lcrypt  -Wl,-soname -Wl,pam_mysql.so -o .libs/pam_mysql.so

creating pam_mysql.la

(cd .libs && rm -f pam_mysql.la && ln -s ../pam_mysql.la pam_mysql.la)

[root@centos730g pam_mysql-0.7RC1]# 

[root@centos730g pam_mysql-0.7RC1]# make install

第四步:安裝、配置mariadb-server并啟動之

[root@centos730g ~]# yum install -y mariadb-server

[root@centos730g ~]# systemctl start mariadb

[root@centos730g ~]# mysql_secure_installation  //運(yùn)行安全配置腳本(設(shè)置管理員密碼、刪除匿名帳戶、開啟管理員遠(yuǎn)程登錄、刪除測試數(shù)據(jù)庫)

第五步:進(jìn)入數(shù)據(jù)庫創(chuàng)建FTP用戶帳戶數(shù)據(jù)庫

MariaDB [(none)]> create database vsftpd;

MariaDB [(none)]> create table vsftpd.users (id int not null auto_increment primary key,name char(30) not null unique key,password char(48));

MariaDB [(none)]> insert into vsftpd.users (name,password) values ('admin',password('adminpass')),('guest',password('guestpass'));

MariaDB [(none)]> grant all on vsftpd.* to 'vsftpd'@'127.0.0.1' identified by 'vsftpdpass;

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> exit

第六步:手動編寫ftp連接mysql的配置文件

[root@centos730g ~]# vim /etc/pam.d/vsftpd.mysql

auth required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpdpass host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 

account required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpdpass host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

第七步:創(chuàng)建FTP根目錄,創(chuàng)建數(shù)據(jù)庫中FTP帳戶映射到本地的帳戶,并指定其家目錄為FTP根目錄,設(shè)置FTP根目錄的相應(yīng)權(quán)限

mkdir -pv /ftproot/{pub,upload}  //為了方便后面驗證效果,創(chuàng)建兩個目錄(pub用于下載,upload用于用戶上傳)

chmod -w /ftproot  //ftp根目錄不能有寫入權(quán)限

useradd -r -d /ftproot vsftpd

第八步:啟動vsftpd服務(wù),安裝ftp客戶端工具lftp,并檢驗登錄效果

[root@centos730g ~]# yum install -y lftp

[root@centos730g ~]# lftp -u admin 192.168.1.71

Password: 

lftp admin@192.168.1.71:~> ls        

ls: Login failed: 530 Login incorrect.

lftp admin@192.168.1.71:~> 

確保密碼沒有輸入錯誤的情況下出現(xiàn)此報錯信息,原因就是SELinux沒有關(guān)閉。于此同時,安全模塊的日志文件里面也有相應(yīng)的錯誤記錄。

[root@centos730g ~]# cat /var/log/secure

Oct 18 20:00:50 centos730g vsftpd[13492]: pam_mysql - MySQL error (Can't connect to MySQL server on '127.0.0.1' (13))

Oct 18 20:02:30 centos730g vsftpd[13514]: pam_mysql - MySQL error (Can't connect to MySQL server on '127.0.0.1' (13))

關(guān)閉SELinux再嘗試登錄,一切正常

[root@centos730g ~]# getenforce

Enforcing

[root@centos730g ~]# setenforce 0

[root@centos730g ~]# getenforce

Permissive

[root@centos730g ~]# !lftp

lftp -u admin 192.168.1.71

Password: 

lftp admin@192.168.1.71:~> ls        

drwxr-xr-x    2 0        0            4096 Oct 18 12:05 pub

drwxr-xr-x    2 0        0            4096 Oct 18 12:05 upload

lftp admin@192.168.1.71:/> 

lftp admin@192.168.1.71:/> cd upload/

lftp admin@192.168.1.71:/upload> put /etc/fstab

put: Access failed: 550 Permission denied. (fstab)

lftp admin@192.168.1.71:/upload> 

lftp admin@192.168.1.71:/upload> exit

[root@centos730g ~]# lftp -u guest 192.168.1.71

Password: 

lftp guest@192.168.1.71:~> ls        

drwxr-xr-x    2 0        0            4096 Oct 18 12:05 pub

drwxr-xr-x    2 0        0            4096 Oct 18 12:05 upload

lftp guest@192.168.1.71:/> cd upload/

lftp guest@192.168.1.71:/upload> put /etc/issue

put: Access failed: 550 Permission denied. (issue)

lftp guest@192.168.1.71:/upload> 

至此為到,admin,guest兩個虛擬用戶都可以順利通過mysql的驗證后登錄到ftp服務(wù)器,并下載文件了,但如果要想擁有上傳權(quán)限,必需對單個虛擬帳戶單獨(dú)配置權(quán)限

第九步:為管理員帳戶admin配置上傳及修改權(quán)限

編輯vsftpd配置文件,添加一行

vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/users_conf

創(chuàng)建用于存放單個用戶權(quán)限配置文件的目錄

mkdir /etc/vsftpd/users_conf

手動編寫權(quán)限配置文件內(nèi)容

vim /etc/vsftpd/users_conf/admin

anon_upload_enable=YES    //允許上傳

anon_other_write_enable=YES   //允許刪除

anon_mkdir_write_enable=YES   //允許創(chuàng)建目錄

給本地映射帳戶vsftpd用戶授予/ftproot/upload目錄擁有寫入權(quán)限

[root@centos730g ~]# setfacl -m u:vsftpd:rwx /ftproot/upload/

[root@centos730g ~]# getfacl /ftproot/upload/

getfacl: Removing leading '/' from absolute path names

# file: ftproot/upload/

# owner: root

# group: root

user::rwx

user:vsftpd:rwx

group::r-x

mask::rwx

other::r-x

[root@centos730g ~]# 

注意,雖然此時vsftp擁有寫入權(quán)限,但只有在單獨(dú)授權(quán)文件里面開放相應(yīng)權(quán)限后,寫入權(quán)限才會對該用戶正式生效。

配置完成后,重啟vsftpd服務(wù),讓剛才所做的配置正式生效

[root@centos730g ~]# systemctl restart vsftpd

再次使用admin帳戶登錄,驗證上傳及修改權(quán)限

[root@centos730g ~]# lftp -u admin 192.168.1.71

Password: 

lftp admin@192.168.1.71:~> cd upload/

lftp admin@192.168.1.71:/upload> put /etc/fstab

574 bytes transferred                                          

lftp admin@192.168.1.71:/upload> ls

-rw-------    1 996      994           574 Oct 18 12:47 fstab

lftp admin@192.168.1.71:/upload> mkdir admin

mkdir ok, `admin' created                

lftp admin@192.168.1.71:/upload> ls

drwx------    2 996      994          4096 Oct 18 12:47 admin

-rw-------    1 996      994           574 Oct 18 12:47 fstab

lftp admin@192.168.1.71:/upload> rm fstab

rm ok, `fstab' removed

lftp admin@192.168.1.71:/upload> ls

drwx------    2 996      994          4096 Oct 18 12:47 admin

lftp admin@192.168.1.71:/upload> rm -rf admin

rm ok, `admin' removed                     

lftp admin@192.168.1.71:/upload> ls

lftp admin@192.168.1.71:/upload>  

lftp admin@192.168.1.71:/upload> exit

[root@centos730g ~]# lftp -u guest 192.168.1.71

Password: 

lftp guest@192.168.1.71:~> cd upload/

lftp guest@192.168.1.71:/upload> put /etc/issue

put: Access failed: 550 Permission denied. (issue)

lftp guest@192.168.1.71:/upload> 

admin是單獨(dú)做了上傳修改授權(quán)的配置的,所以upload的寫入權(quán)限對它是生效的,而guest沒有單獨(dú)授權(quán),寫入權(quán)限對其是無效的。

至此,對ftp服務(wù)的需求,在實(shí)際生產(chǎn)環(huán)境中基本滿足,當(dāng)然ftp服務(wù)的用戶帳戶一般不會多到使用數(shù)據(jù)庫來存儲,所以這就需要根據(jù)實(shí)際需求來決定采用何種方式來存儲ftp的用戶帳戶了。但這里一定要提醒大家的是,ftp服務(wù)對目錄的權(quán)限要求是非常嚴(yán)格的,稍有不慎,便會出各式各樣的報錯信息,所以大家在配置過程中,一定要細(xì)心對待。

當(dāng)前文章:如何把FTP用戶帳號存放進(jìn)MariaDB數(shù)據(jù)庫中
網(wǎng)站URL:http://aaarwkj.com/article34/pjdhpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)企業(yè)建站、網(wǎng)站制作、網(wǎng)站建設(shè)、商城網(wǎng)站、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
国产日韩精品一区二区三区在线| 日本韩国三级理伦久久久| 五月天丁香婷婷深爱| 亚洲视一区二区三区四区| 亚洲一区二区日韩在线| 亚洲精品成人久久网| 亚洲av第一区综合激情久久久| 人妻少妇一区二区三区四区| 国产女主播在线观看免费观看| 少妇又色又爽又高潮欧美| 精品少妇人妻av蜜桃| 传媒视频免费在线观看| 日本在线不卡一二三区| 国产成人av三级在线观看| 亚洲第一精品国产日韩| 午夜精品人妻一区二区| 国产第一页国产第一页| 91香蕉伊人综合久久麻豆| 天天操天天夜夜操夜夜| 久久久精品免费中文视频| 亚洲成人av日韩在线| 日韩在线不卡一二三| 中文字幕乱码亚洲影视| 十八禁在线观看国产一区| 97国产精品亚洲精品| 日韩欧美一级性生活片| 日本高清精品视频在线| 国产口爆一区二区三区| 香蕉网性欧美在线视频| 成人深夜免费观看视频| 真实国产熟女一区二区三区| 亚洲欧美日韩特级黄片| 亭亭丁香激情五月涩久久| 亚洲一本一道久久香蕉| 国产精品色呦呦一区二区| 国产精品久久久天美传媒| 一区二区精品人妻av| 97门久欧美日韩久久| 国产一级二级三级在线电影| 亚洲天堂中文字幕麻豆| 国产在线观看91精品一区|