10月12日 網(wǎng)絡(luò)文件共享1 FTP服務(wù)

1肄梨、DAS、NAS、SAN

DAS(Direct-Attached Storage):直接連接存儲枫弟,共享資源存儲在本地磁盤上。
NAS(Network Attached Storage):網(wǎng)絡(luò)連接存儲鹏往,F(xiàn)TP就是這種存儲方式淡诗,資源存儲在遠(yuǎn)程主機(jī)的文件系統(tǒng)上,客戶端通過網(wǎng)絡(luò)連接只能訪問這個存儲資源伊履,但不可以用文件系統(tǒng)管理這個資源韩容,管理由別人來管理。
SAN(Storage Area Network):存儲區(qū)域網(wǎng)絡(luò)唐瀑,遠(yuǎn)程的磁盤映射成為本機(jī)的一個塊設(shè)備群凶,相當(dāng)于在本機(jī)又多了塊磁盤,中間走的是以太網(wǎng)或者是光線哄辣,你可以在這塊磁盤上進(jìn)行分區(qū)请梢、創(chuàng)建文件系統(tǒng),存儲數(shù)據(jù)等力穗,管理由自己管理毅弧,但NAS不能自己通過文件系統(tǒng)來管理。

2当窗、文件傳輸協(xié)議(FTP)

File Transfer Protocol够坐,簡稱FTP
基于C/S結(jié)構(gòu)
雙通道協(xié)議:數(shù)據(jù)和命令連接
兩種模式:服務(wù)器角度
主動(PORT style):服務(wù)器主動連接
命令(控制):客戶端:隨機(jī)port ---服務(wù)器:tcp21
數(shù)據(jù):客戶端:隨機(jī)port---服務(wù)器:tcp20
被動(PASV style):客戶端主動連接
命令(控制):客戶端:隨機(jī)port ---服務(wù)器:tcp21
數(shù)據(jù):客戶端:隨機(jī)port---服務(wù)器:隨機(jī)port
服務(wù)器被動模式數(shù)據(jù)端口示例:
227 Entering Passive Mode (192,168,175,138,224,59)
服務(wù)器數(shù)據(jù)端口為:224*256+59
工作模型見下圖

無標(biāo)題.png

在FTP服務(wù)開啟之后,命令通道端口就會打開崖面,命令通道負(fù)責(zé)傳輸命令以及協(xié)商在主動和被動模式下數(shù)據(jù)通道服務(wù)器端的端口號元咙,也就是客戶端知道服務(wù)器端數(shù)據(jù)通道的端口號是通過命令通道得來的,數(shù)據(jù)通道服務(wù)器端口只有在傳輸數(shù)據(jù)的時候才會打開巫员《昱鳎客戶端訪問FTP服務(wù)器時(FTP 172.18.21.107),登錄成功后疏遏,可以通過passive命令來開啟和關(guān)閉被動模式脉课,linux中默認(rèn)是被動模式救军,windows中默認(rèn)是主動模式。
數(shù)據(jù)傳輸格式:二進(jìn)制(默認(rèn))和文本倘零,一般情況下用二進(jìn)制傳輸唱遭,因?yàn)橐晕谋痉绞絺鬏斂赡軙G失數(shù)據(jù),比如windows中的文本文件上傳到linux的ftp服務(wù)器時呈驶,因?yàn)槲谋疚募袷讲煌皆螅瑆indows中的文本文件比linux中多了一個回車,這樣就會造成上傳后文件大小不同袖瞻,如果是圖片或者是二進(jìn)制文件以文本方式傳輸?shù)脑捑蜁G失數(shù)據(jù)司致,所以不建議用文本方式傳輸。

3聋迎、FTP軟件介紹

vsftpd:Very Secure FTP Daemon脂矫,CentOS默認(rèn)FTP服務(wù)器
客戶端軟件:
ftp:支持匿名、系統(tǒng)用戶霉晕、虛擬用戶登錄庭再,當(dāng)用匿名賬號登錄時,用戶名要輸入ftp或者anonymous牺堰,密碼可以不用輸入或者隨便輸入一個就可以
lftp:支持匿名登錄拄轻,可以不用輸入用戶名和密碼直接登錄,并且登錄后輸入命令支持補(bǔ)全伟葫,十分方便
lftpget:lftpget ftp://172.18.0.1/pub/ks/CentOS-6.9-x86_64.cfg
可以直接下載
wget:wget ftp://172.18.0.1/pub/ks/CentOS-6.9-x86_64.cfg恨搓,也可以直接下載文件,并且顯示下載的傳輸速率
curl:可以訪問ftp服務(wù)器
ftp -A ftpserver port -A主動模式–p 被動模式
lftp –u username ftpserver
lftp username@ftpserver
lftpget ftp://ftpserver/pub/file
gftp: GUI centos5 最新版2.0.19 (11/30/2008)
filezilla,CuteFtp筏养,F(xiàn)lashFXP奶卓,LeapFtp
IE ftp://username:password@ftpserver

4、FTP服務(wù)的狀態(tài)碼和用戶認(rèn)證

狀態(tài)碼:
1XX:信息撼玄,125:數(shù)據(jù)連接打開
2XX:成功類狀態(tài)夺姑,200:命令OK ,230:登錄成功
3XX:補(bǔ)充類掌猛,331:用戶名OK
4XX:客戶端錯誤盏浙,425:不能打開數(shù)據(jù)連接
5XX:服務(wù)器錯誤,530:不能登錄
用戶認(rèn)證:
匿名用戶:ftp,anonymous,對應(yīng)Linux用戶ftp荔茬,也就是雖然你是以匿名賬號登錄的废膘,但實(shí)際上是ftp這個系統(tǒng)用戶在訪問磁盤上的數(shù)據(jù)。
系統(tǒng)用戶:Linux用戶,用戶/etc/passwd,密碼/etc/shadow
虛擬用戶:特定服務(wù)的專用用戶慕蔚,獨(dú)立的用戶/密碼文件丐黄,就像mysql數(shù)據(jù)庫一樣也有自己獨(dú)立服務(wù)的用戶名和密碼,跟系統(tǒng)用戶無關(guān)孔飒。

5灌闺、vsftpd服務(wù)

由vsftpd包提供
不再由xinetd管理
用戶認(rèn)證配置文件:/etc/pam.d/vsftpd
服務(wù)腳本:/usr/lib/systemd/system/vsftpd.service
/etc/rc.d/init.d/vsftpd
配置文件:/etc/vsftpd/vsftpd.conf
man 5 vsftpd.conf
格式:option=value
注意:=前后不要有空格
匿名用戶(映射為系統(tǒng)用戶ftp )共享文件位置:/var/ftp
系統(tǒng)用戶共享文件位置:用戶家目錄
虛擬用戶共享文件位置:為其映射的系統(tǒng)用戶的家目錄

6艰争、vsftpd服務(wù)配置

1、命令端口
listen_port=21
2桂对、主動模式端口
connect_from_port_20=YES 主動模式端口為20
ftp_data_port=20 指定主動模式的端口
如果要改主動模式的端口號甩卓,改此行的端口為別的,但上面的yes不要改成no,否則實(shí)現(xiàn)不了蕉斜,這個設(shè)置很奇怪逾柿,按照常理應(yīng)該改成no,但改成no就是不成功宅此,保留yes才會成功
3机错、被動模式端口范圍
linux客戶端默認(rèn)使用被動模式
windows 客戶端默認(rèn)使用主動模式
pasv_min_port=6000     0為隨機(jī)分配
pasv_max_port=6010
注意:如果設(shè)置的端口范圍較少,用戶訪問的時候就會受到限制父腕,因?yàn)橐粋€用戶訪問就要占用一個端口號弱匪,所以端口范圍要根據(jù)訪問量調(diào)整
4、使用當(dāng)?shù)貢r間
use_localtime=YES 使用當(dāng)?shù)貢r間(默認(rèn)為NO侣诵,使用GMT即格林尼治時間)
注意:和操作系統(tǒng)的時間要配合使用痢法,如果操作系統(tǒng)時間為格林尼治時間狱窘,加上yes這一條杜顺,就會往后推八小時,跟北京時間相同蘸炸,但如果系統(tǒng)時間為北京時間躬络,則會往后推八小時,所以這一項(xiàng)不要改搭儒,改了反而不對了
5穷当、匿名用戶
anonymous_enable=YES 支持匿名用戶
no_anon_password=YES(默認(rèn)NO) 匿名用戶略過口令檢查
anon_world_readable_only(默認(rèn)YES)只能下載全部讀的文件,也就是所有者淹禾、所屬組和其他人都有讀權(quán)限的文件才能下載
anon_upload_enable=YES 匿名上傳馁菜,注意:文件系統(tǒng)權(quán)限,也就是匿名上傳文件的時候除了要開啟這個配置外铃岔,還要保證上傳的目錄對于ftp用戶具有寫權(quán)限才可以
注意:匿名賬號登錄后默認(rèn)是在ftp這個系統(tǒng)賬號的家目錄里汪疮,也就是/var/ftp目錄下,但這個目錄不能對ftp這個用戶具有寫權(quán)限毁习,否則匿名賬號會登錄不了智嚷,可以在這個目錄下創(chuàng)建一個子目錄,使ftp用戶對這個子目錄具有寫權(quán)限纺且,這樣就可以上傳文件了盏道,也就是說匿名賬號登錄時根目錄不能有寫權(quán)限
anon_mkdir_write_enable=YES 可以創(chuàng)建文件
anon_other_write_enable=YES 可刪除和修改上傳的文件
anon_umask=077 指定匿名上傳umask
指定上傳文件的默認(rèn)的所有者和權(quán)限
chown_uploads=YES(默認(rèn)NO)
chown_username=wang
chown_upload_mode=0644
6、Linux系統(tǒng)用戶
guest_enable=YES 所有系統(tǒng)和虛擬用戶都映射成一個指定的系統(tǒng)用戶
guest_username=ftp 配合上面選項(xiàng)才生效载碌,指定為ftp用戶猜嘱,并且禁錮在自己的家目錄里衅枫,不能切換到其他的目錄,這樣比較安全泉坐,不設(shè)置這一項(xiàng)時为鳄,普通用戶登錄后可以切換到其他目錄
local_enable=YES 是否允許linux用戶登錄
write_enable=YES 允許linux用戶上傳文件,注釋掉相當(dāng)于默認(rèn)腕让,默認(rèn)為no
local_umask=022 指定系統(tǒng)用戶上傳文件的默認(rèn)權(quán)限
local_root=/ftproot非匿名用戶登錄后所在目錄孤钦,但可以切換目錄,只是映射成一個目錄
注意:把系統(tǒng)賬號的shell類型設(shè)置為/sbin/nologin后仍然可以登錄ftp服務(wù)器纯丸,但不可以登錄ssh服務(wù)器
7偏形、禁錮所有系統(tǒng)用戶在家目錄中
chroot_local_user=YES(默認(rèn)NO,不禁錮)禁錮系統(tǒng)用戶
8觉鼻、禁錮或不禁錮特定的系統(tǒng)用戶在家目錄中
chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd/chroot_list
當(dāng)chroot_local_user=YES時俊扭,則/etc/vsftpd/chroot_list中用戶不禁錮,和上面的正好相反
當(dāng)chroot_local_user=NO時坠陈,則chroot_list中用戶禁錮
9萨惑、wu-ftp日志:默認(rèn)啟用
xferlog_enable=YES (默認(rèn))啟用記錄上傳下載日志
xferlog_std_format=YES (默認(rèn))使用wu-ftp日志格式
xferlog_file=/var/log/xferlog(默認(rèn))/var/log/xferlog這個文件不用創(chuàng)建,可自動生成
10仇矾、vsftpd日志:默認(rèn)不啟用
dual_log_enable=YES 使用vsftpd日志格式庸蔼,默認(rèn)不啟用
vsftpd_log_file=/var/log/vsftpd.log(默認(rèn))可自動生成
11、登錄提示信息
ftpd_banner="welcometo mage ftp server"
banner_file=/etc/vsftpd/ftpbanner.txt 一旦/etc/vsftpd/ftpbanner.txt文件里規(guī)定了登錄提示信息贮匕,比如提示信息比較多時可以放到這個文件里姐仅,優(yōu)先上面項(xiàng)生效
12、目錄訪問提示信息
dirmessage_enable=YES (默認(rèn))
message_file=.message(默認(rèn)) 在要設(shè)置的目錄下創(chuàng)建一個.message文件刻盐,文件里面寫明提示信息就可以了
13掏膏、使用pam(Pluggable Authentication Modules)完成用戶認(rèn)證
pam_service_name=vsftpd ---在vsftpd的配置文件中規(guī)定了pam的配置文件的名字是vsftpd,pam配置文件為/etc/pam.d/vsftpd敦锌,vsftpd服務(wù)就會根據(jù)配置文件中的設(shè)置找到pam的配置文件馒疹,pam配置文件中規(guī)定了認(rèn)證調(diào)用的模塊,模塊在/lib64/security目錄下乙墙。
/etc/vsftpd/ftpusers ----默認(rèn)在這個文件中的用戶拒絕登錄颖变,默認(rèn)root用戶拒絕登錄的
14悼做、是否啟用控制用戶登錄的列表文件
userlist_enable=YES 默認(rèn)有此設(shè)置
userlist_deny=YES(默認(rèn)值)如果是yes哗魂,相當(dāng)于黑名單录别,都不給輸入口令的機(jī)會邻吞,NO為白名單
userlist_file=/etc/vsftpd/users_list此為默認(rèn)值
備注:根據(jù)13和14中的設(shè)置抱冷,發(fā)現(xiàn)使用/etc/vsftpd/ftpusers和/etc/vsftpd/users_list兩個文件都可以定義黑名單和白名單旺遮,并且默認(rèn)root是無法登陸的。
15盈咳、連接限制
max_clients=0 最大并發(fā)連接數(shù)耿眉,0表示不限制
max_per_ip=0 相同的ip地址同時發(fā)起的最大連接數(shù)
16、vsftpd服務(wù)指定用戶身份運(yùn)行
nopriv_user=nobody 指定以誰的身份運(yùn)行vsftpd服務(wù)
17鱼响、傳輸速率:字節(jié)/秒
anon_max_rate=0 匿名用戶的最大傳輸速率
local_max_rate=0 本地用戶的最大傳輸速率
1024字節(jié)為1KB鸣剪,1024位為1kb
18、連接時間:秒為單位
connect_timeout=60 主動模式數(shù)據(jù)連接超時時長
accept_timeout=60 被動模式數(shù)據(jù)連接超時時長
data_connection_timeout=300 數(shù)據(jù)連接無數(shù)據(jù)輸超時時長
idle_session_timeout=60 無命令操作超時時長
優(yōu)先以文本方式傳輸
ascii_upload_enable=YES
ascii_download_enable=YES
最好不要用這種方式丈积,會丟數(shù)據(jù)筐骇,最好是以二進(jìn)制方式傳輸數(shù)據(jù),比如windos上的文本文件如果以文件方式上傳給ftp服務(wù)器江滨,則會自動將windows格式轉(zhuǎn)換為linux格式铛纬,也可以用這個特性實(shí)現(xiàn)linux和windows格式互轉(zhuǎn)

總結(jié):一個服務(wù)要想使用一個pam模塊,首先要在它的配置文件中規(guī)定pam配置文件的名字牙寞,也就是在/etc/pam.d目錄下有一個文件饺鹃,這個文件的名字要和服務(wù)的配置文件中的名字對上莫秆,這樣服務(wù)才能找到pam的配置文件间雀,根據(jù)pam配置文件中的設(shè)置調(diào)用相應(yīng)的pam模塊,pam模塊在/lib64/security目錄下
注意:匿名賬號登錄時镊屎,根目錄不允許對ftp用戶具有寫權(quán)限惹挟,如果想上傳,可以在根目錄下創(chuàng)建一個子目錄,對這個子目錄授權(quán)對ftp用戶具有寫權(quán)限摇展。

7盯孙、在centos6.9上配置FTP服務(wù)以非獨(dú)立服務(wù)方運(yùn)行

1、安裝xinetd服務(wù)
yum install telnet-server  ---安裝telnet服務(wù)的時會依賴于xinetd服務(wù),所以會把xinetd服務(wù)一起安裝了
2透罢、修改vsftpd的配置文件
vim /etc/vsftpd/vsftpd.conf 
listen=NO    --關(guān)閉監(jiān)聽
3、創(chuàng)建xinetd的配置文件來管理vsftpd服務(wù)
cd /etc/xinetd.d/
cp telnet vsftpd
vim vsftpd
# default: on
# description: The telnet server serves telnet sessions; it uses \
#       unencrypted username/password pairs for authentication.
service ftp     ---注意這里是個坑朽寞,不能寫成vsftpd,否則實(shí)現(xiàn)不了
{
        flags           = REUSE
        socket_type     = stream    
        wait            = no
        user            = root
        server          = /usr/sbin/vsftpd   ---主程序文件
        log_on_failure  += USERID
        disable         = no    ---將yes改為no肘迎,表示啟用
}
4、啟動xinetd服務(wù)
service xinetd restart 
ss -ntlp

8匣沼、實(shí)現(xiàn)基于SSL的FTPS

查看vsftpd服務(wù)是否支持SSL
ldd `which vsftpd` 查看到libssl.so
1倦沧、創(chuàng)建自簽名證書
cd /etc/pki/tls/certs/
make vsftpd.pem
openssl x509 -in vsftpd.pem -noout -text   ---可以查看一下這個證書
mv vsftpd.pem /etc/vsftpd/   ---最好把這個證書放到vsftpd的配置文件中窖认,但不移動也可以轮傍,只要在配置文件中規(guī)定好就可以
2、修改vsftpd的配置文件
vim /etc/vsftpd/vsftpd.conf 
ssl_enable=YES
allow_anon_ssl=NO
force_local_logins_ssl=YES
force_local_data_ssl=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem
這里一定要注意,配置文件中每一行的開頭和結(jié)尾處都不能有任何空格檬贰,否則服務(wù)會啟動不了,做實(shí)驗(yàn)的時候因?yàn)檫@個耽誤了好長時間
systemctl restart vsftpd
3葵礼、用filezilla等工具測試如下圖
QQ截圖20171012230651.png
QQ截圖20171012230715.png

9届谈、vsftpd虛擬用戶

虛擬用戶:所有虛擬用戶會統(tǒng)一映射為一個指定的系統(tǒng)帳號:訪問共享位置,即為此系統(tǒng)帳號的家目錄程剥,也就是說所有的虛擬用戶最后都會被映射成為一個系統(tǒng)賬號舔腾,通過這個系統(tǒng)賬號來訪問磁盤文件哗脖,虛擬用戶訪問的共享位置為系統(tǒng)賬號的家目錄橱夭。
各虛擬用戶可被賦予不同的訪問權(quán)限,通過匿名用戶的權(quán)限控制參數(shù)進(jìn)行指定
虛擬用戶帳號的存儲方式:
①Berkeley DB格式的數(shù)據(jù)庫中

文件:編輯文本文件vusers.txt茬暇,此文件需要被編碼為hash格式
奇數(shù)行為用戶名,偶數(shù)行為密碼
通過下面命令將這個文本文件轉(zhuǎn)化為Berkeley DB格式,注意轉(zhuǎn)化后的文件后綴必須為.db
db_load -T -t hash -f vusers.txt vusers.db

②關(guān)系型數(shù)據(jù)庫的表中
實(shí)時查詢數(shù)據(jù)庫完成用戶認(rèn)證
mysql庫:pam要依賴于pam-mysql
/lib64/security/pam_mysql.so
/usr/share/doc/pam_mysql-0.7/README

10、實(shí)現(xiàn)基于DB的FTP虛擬用戶

此方式是將虛擬用戶的賬號和密碼存放在Berkeley DB格式的數(shù)據(jù)庫文件中粉臊。
實(shí)現(xiàn)步驟如下:

1、創(chuàng)建Berkeley DB格式的數(shù)據(jù)庫文件
vim /etc/vsftpd/vusers.txt   ---奇數(shù)行為用戶名,偶數(shù)行為密碼
ftp1
centos
ftp2
centos
cd /etc/vsftpd/
db_load -T -t hash -f vusers.txt vusers.db   ---生成db格式的數(shù)據(jù)庫文件
chmod 600 vusers.db    ---為了安全修改一下權(quán)限
2矗愧、創(chuàng)建一個系統(tǒng)賬號犯犁,用于代替虛擬賬號去訪問磁盤的資源
useradd -d /var/ftpvuser -s /sbin/nologin ftpvuser
getent passwd ftpvuser
chmod 555 /var/ftpvuser/   ---匿名登錄和虛擬用戶登錄的根目錄不能具有寫權(quán)限
mkdir /var/ftpvuser/upload
setfacl -m u:ftpvuser:rwx /var/ftpvuser/upload/
3驾胆、修改vsftpd的配置文件
vim /etc/vsftpd/vsftpd.conf 
pam_service_name=vsftpd.vusers   ---指明pam配置文件,不用寫/etc/pam.d锅必,會自動找到這個目錄,pam配置文件都是在這個目錄下
guest_enable=YES
guest_username=ftpvuser  ---設(shè)置將所有虛擬用戶映射成一個系統(tǒng)賬號
user_config_dir=/etc/vsftpd/vusers.d/   ---指明虛擬用戶的配置文件的目錄
4劣纲、創(chuàng)建pam配置文件
vim /etc/pam.d/vsftpd.vusers
auth required pam_userdb.so db=/etc/vsftpd/vusers   ---調(diào)用pam_userdb.so這個模塊倘潜,并指明db數(shù)據(jù)庫文件的路徑,注意這里不寫vusers.db嗜湃,直接簡寫成 vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
5、SELinux設(shè)置
禁用SELinux或者setsebool-P ftpd_full_access1
6肩榕、 建立虛擬用戶各自的配置文件
cd /etc/vsftpd/vusers.d/
vim ftp1  ---注意配置文件的名字要和虛擬用戶的名字對應(yīng)
anon_upload_enable=YES    ---設(shè)置具有上傳權(quán)限
anon_mkdir_write_enable=YES  ---設(shè)置具有創(chuàng)建文件的權(quán)限
vim ftp2
local_root=/app/ftp2   ---更改根目錄
anon_upload_enable=YES  
anon_mkdir_write_enable=YES
7刚陡、準(zhǔn)備ftp2的目錄
mkdir -p /app/ftp2/upload
chown ftpvuser /app/ftp2/upload  ---使虛擬用戶映射后的系統(tǒng)用戶對這個目錄具有寫權(quán)限,因?yàn)槭沁@個系統(tǒng)用戶代替虛擬用戶去訪問磁盤上資源株汉,可以設(shè)置acl權(quán)限
8筐乳、測試
在另外一臺主機(jī)上做為客戶端訪問 ftp 172.18.21.106
通過登錄虛擬賬號的用戶名和密碼來登錄到服務(wù)器上訪問響應(yīng)的資源

總結(jié):vsftpd服務(wù)和httpd服務(wù)相似,匿名賬號訪問的時候都會映射為服務(wù)器的一個系統(tǒng)賬號郎逃,vsftpd映射為ftp用戶朵你,httpd映射為apache用戶水孩,通過系統(tǒng)賬號才能訪問自己磁盤上的資源悬包,如果無法訪問可能是文件系統(tǒng)的權(quán)限限制ftp或者apache用戶去訪問季蚂,或者配置文件中的限制葵腹。

11烤惊、實(shí)現(xiàn)基于MYSQL驗(yàn)證的vsftpd虛擬用戶

環(huán)境:兩臺centos7主機(jī)府怯,一臺ftp服務(wù)器峦剔,一臺mysql服務(wù)器
1 、在ftp服務(wù)器
yum groupinstall "development tools"
yum install vsftpd mariadb-devel pam-devel openssl-devel mariadb
2 涛贯、在ftp服務(wù)器編譯pam_mysql
tar xvf pam_mysql-0.7RC1.tar.gz 
cd pam_mysql-0.7RC1/
./configure --with-mysql=/usr --with-pam=/usr  --with-pam-mods-dir=/lib64/security
/lib64/security/pam_mysql.so
3盒蟆、 在ftp服務(wù)器寡夹,準(zhǔn)備虛擬用戶映射的系統(tǒng)用戶
useradd -s /sbin/nologin -d /app/ftpsite ftpvuser 
chmod 555 /app/ftpsite/
cd /app/ftpsite/
mkdir upload
chown ftpvuser upload
4通熄、 在mysql 服務(wù)器,準(zhǔn)備用戶和數(shù)據(jù)表
yum install mariadb-server
systemctl start mariadb
mysql 
>create database ftpdb; --創(chuàng)建數(shù)據(jù)庫
>create table ftpvusers (id int unsigned  auto_increment primary key,username char(30),password char(48));   ---創(chuàng)建表
>insert ftpvusers (username,password) values ('ftpuser1',password('centos')),('ftpuser2',password('centos'));    ---在表中插入用戶名和密碼洪燥,將來為ftp服務(wù)用的虛擬用戶的賬號和密碼
>grant all on ftpdb.* to ftpuser@'192.168.25.107' identified by 'centos';   ---授權(quán)一個遠(yuǎn)程的用戶去管理這個數(shù)據(jù)庫
5 、在ftp服務(wù)器上創(chuàng)建PAM配置文件
vim /etc/pam.d/ftp.mysql
auth required pam_mysql.so user=ftpuser passwd=centos host=192.168.25.108 db=ftpdb table=ftpvusers usercolumn=username passwdcolumn=password crypt=2
account required pam_mysql.so user=ftpuser passwd=centos host=192.168.25.108 db=ftpdb table=ftpvusers usercolumn=username passwdcolumn=password crypt=2
注:crypt是加密方式拌滋,0表示不加密鸿竖,1表示crypt(3)加密沧竟,2表示使用mysql password()函數(shù)加密,3表示md5加密千贯,4表示sha1加密
?auth 表示認(rèn)證
?account 驗(yàn)證賬號密碼正常使用
?required 表示認(rèn)證要通過
?pam_mysql.so模塊是默認(rèn)的相對路徑屯仗,是相對/lib64/security/路徑而言搞坝,也可以寫絕對路徑搔谴;后面為給此模塊傳遞的參數(shù)
?user=vsftpd為登錄mysql的用戶
?passwd=magedu 登錄mysql的的密碼
?host=mysqlserver mysql服務(wù)器的主機(jī)名或ip地址
?db=vsftpd 指定連接msyql的數(shù)據(jù)庫名稱
?table=users 指定連接數(shù)據(jù)庫中的表名
?usercolumn=name 當(dāng)做用戶名的字段
?passwdcolumn=password 當(dāng)做用戶名字段的密碼
?crypt=2 密碼的加密方式為mysql password()函數(shù)加密
6、 vim /etc/vsftpd/vsftpd.conf
pam_service_name=ftp.mysql  ---指明pam的配置文件
guest_enable=YES
guest_username=ftpvuser   ---將虛擬用戶映射為一個系統(tǒng)賬號
user_config_dir=/etc/vsftpd/vusers.conf.d/  ---指明每個虛擬用戶的配置的目錄
7桩撮、 mkdir /etc/vsftpd/vusers.conf.d/
vim /etc/vsftpd/vusers.conf.d/ftpuser1   ---創(chuàng)建每個虛擬用戶的配置文件
anon_upload_enable=YES
vim /etc/vsftpd/vusers.conf.d/ftpuser2
local_root=/app/ftpsite2/   ---改變虛擬用戶的根目錄
anon_upload_enable=YES
mkdir -pv /app/ftpsite2/upload   ---創(chuàng)建這個根目錄
chown ftpvuser /app/ftpsite2/upload   ---使系統(tǒng)賬號對這個目錄有控制權(quán)限
備注:如果Selinux是開啟的敦第,相關(guān)設(shè)置在FTP服務(wù)器上執(zhí)行
restorecon -R /lib64/security   ---從seliux數(shù)據(jù)庫中恢復(fù)這個目錄的安全上下文
setsebool -P ftpd_connect_db 1  
setsebool -P ftp_home_dir 1   ---設(shè)置bool值,此項(xiàng)在centos7中沒有店量,centos7中只有上面那一項(xiàng)
chcon -R -t public_content_rw_t /app/ftpsite  ---改變根目錄的安全標(biāo)簽

12、Axel:網(wǎng)絡(luò)客戶端工具

下載安裝axel,在centos6中yum源里面是沒有的跨算,可以在ftp共享里面下載轻要,因?yàn)槭莚pm包,所以直接用yum安裝即可
ftp://172.16.0.1/pub/Sources/6.x86_64/axel/axel-2.4-1.el6.rf.x86_64.rpm
centos7中直接yum安裝即可

axel -n 3 -o /root ftp://172.18.0.1/pub/ISOs/CentOS-7-x86_64-Everything-1511.iso  -n 3表示并行三個連接同時下載旱爆,-o指定下載到哪個目錄下
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末舀射,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子怀伦,更是在濱河造成了極大的恐慌脆烟,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件房待,死亡現(xiàn)場離奇詭異邢羔,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)桑孩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進(jìn)店門拜鹤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人流椒,你說我怎么就攤上這事敏簿。” “怎么了镣隶?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵极谊,是天一觀的道長诡右。 經(jīng)常有香客問我,道長轻猖,這世上最難降的妖魔是什么帆吻? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮咙边,結(jié)果婚禮上猜煮,老公的妹妹穿的比我還像新娘。我一直安慰自己败许,他們只是感情好王带,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著市殷,像睡著了一般愕撰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上醋寝,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天搞挣,我揣著相機(jī)與錄音,去河邊找鬼音羞。 笑死囱桨,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的嗅绰。 我是一名探鬼主播舍肠,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼窘面!你這毒婦竟也來了翠语?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤民镜,失蹤者是張志新(化名)和其女友劉穎啡专,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體制圈,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡们童,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鲸鹦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慧库。...
    茶點(diǎn)故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖馋嗜,靈堂內(nèi)的尸體忽然破棺而出齐板,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布甘磨,位于F島的核電站橡羞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏济舆。R本人自食惡果不足惜卿泽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望滋觉。 院中可真熱鬧签夭,春花似錦、人聲如沸椎侠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽我纪。三九已至慎宾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宣羊,已是汗流浹背璧诵。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仇冯,地道東北人。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓族操,卻偏偏與公主長得像苛坚,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子色难,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容