linux ftp mysql_linux下ftp和ftps以及ftp基于mysql虛擬用戶認證服務器的搭建

命令連接,控制連接:21/tcp

數據連接: 主動模式,運行在20/tcp端口 和 被動模式,運行在隨機端口

數據傳輸模式(自動模式):有二進制(mp3,jpg等)和文本(html)兩種傳輸模式

ftp服務器端程序:wu-ftpd:vsftpd pureftpd Filezilla Serv-U

ftp客戶端程序:CLI文本模式命令:ftp lftp

GUI圖形界面軟件:gftpd FlashFXP Cuteftp Filezilla

vsftpd:命名為Very Secure ftp Daemon proftpd

/etc/vsftpd: 配置文件目錄

/etc/init.d/vsftpd: 服務腳本

/usr/sbin/vsftpd: 主程序

/var/ftp:ftp服務和用戶的根目錄或家目錄,也是匿名用戶訪問目錄

基于PAM實現用戶認證:

/etc/pam.d/* :認證程序位置

/lib/security/*:認證程序模塊位置

可支持虛擬用戶

ftp: 系統用戶,分有以下三種用戶

匿名用戶:anonymous

系統用戶: 本地系統用戶

虛擬用戶: 需要映射到系統用戶

ftp文件服務權限:包括系統文件目錄權限和配置文件授權,取交集權限

安全通信方式:分明文和密文兩種,如下:

ftp:明文

ftps: ftp+ssl/tls,密文

sftp: OpenSSH, SubSystem, sftp(SSH),密文

2.配置vsftpd.conf文件詳解

安裝vsftpd 服務器軟件

yum install vsftpd

編輯配置vsftpd.conf文件

vim /etc/vsftpd/vsftpd.conf

配置文件內容如下:

anonymous_enable=YES ?#開啟匿名用戶訪問

local_enable=YES ? ? #開啟本地用戶訪問

write_enable=YES ? ? #開啟本地用戶上傳權限

anon_upload_enable=YES #開啟匿名用戶上傳權限

#anon_mkdir_write_enable=YES #開啟匿名用戶創建目錄權限

#anon_other_write_enable=YES #開啟匿名用戶其他權限,如創建,刪除文件等權限

#dirmessage_enable=YES #如在共享目錄創建.messages隱藏文件并添加提示語,給登入用戶提示而已

#xferlog_enable=YES ? #開啟日志功能

connect_from_port_20=YES #命令連接20/tcp端口開啟

#chown_uploads=YES ? ? #開啟修改上傳用戶的屬主功能

#chown_username=whoever ?#改變上傳用戶屬主是誰

#xferlog_file=/var/log/xferlog #對應上面的日志開啟功能,日志文件路徑位置

xferlog_std_format=YES ? ? ?#日志文件格式

#idle_session_timeout=600 ? ?#ftp命令連接時最大空閑連接時間

#data_connection_timeout=120 ?#ftp數據連接最大傳輸時間

#ftpd_banner=Welcome to blah FTP service. ?#ftp用戶連接服務器提示語

#chroot_list_enable=YES ? ?#開啟鎖定用戶家目錄,以防用戶切入至系統其他目錄

#chroot_list_file=/etc/vsftpd/chroot_list #此文件下的ftp用戶才會被鎖定在家具錄

#chroot_local_user=YES ? ? #開啟本地系統用戶全部開啟chroot機制

listen=YES ?#獨立守護進程,根據其他設置可將vsftpd變成瞬時守護進程

#max_clients= #同一時間最大并發用戶連接數

#max_per_ip= ?#同一時刻每個IP地址最大連接數

pam_service_name=vsftpd ?#基于pam認證服務名字

userlist_enable=YES ? ? #user_list文件中的用戶禁止登入ftp服務器

注意:如果上面配置開啟上傳下載或刪除文件權限,但是所共享的目錄指定的ftp登入用戶沒有寫入

權限,這樣也不能上傳下載或刪除文件

3.ftp明文傳輸服務器搭建,

實驗目的:在/var/ftp/目錄下創建upload目錄

新增本地用戶willow

允許匿名用戶和本地系統用戶willow能在upload目錄上傳下載創建刪除文件

yum install vsftpd

mkdir /var/ftp/upload

useradd willow

echo "willow" | passwd --stdin willow

setfact -m u:willow:rwx /var/ftp/upload #這步驟很重要,授權willow對此目錄有寫入權限

vim /etc/vsftpd/vsftpd.conf

確保如下配置生效:

anonymous_enable=YES

local_enable=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

ftp localhost 利用willow用戶登入測試效果

4.ftps密文傳輸服務器搭建,即ftp + tls加密認證

創建自簽名證書

cd /etc/pki/CA

mkdir certs newcerts crl

touch index.txt

echo 01 > serial

vim /etc/pki/tls/openssl.cnf

dir ? ? ? ? ? ?= ../../CA

將上面一條語句修改成下面一條語句

dir ? ? ? ? ? ? = /etc/pki/CA

(umask 077,openssl genrsa -out private/cakey.pem 1024)

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365

mkdir /etc/vsftpd/ssl

cd /etc/vsftpd/ssl

(umask 077,openssl genrsa -out vsftpd.key 1024)

openssl req -new -key vsftpd.key -out vsftpd.csr

openssl ca -in vsftpd.key -out vsftpd.crt

注意到此為止,我僅給出創建證書并再申請證書步驟,并沒有給出詳細過程,依自己實驗環境而定

如需了解證書建立詳細步驟,請查看我前面的博客,在此我們得到如下信息:

私鑰文件位置:/etc/vsftpd/ssl/vsftpd.key

證書文件位置:/etc/vsftpd/ssl/vsftpd.crt

vim /etc/vsftpd/vsftpd.conf

增加如下容:

ssl_enable=YES

ssl_tlsv1=YES

ssl_sslv3=YES

allow_anon_ssl=NO

force_local_data_ssl=YES

force_local_logins_ssl=YES

rsa_cert_file=/etc/vsftpd/ssl/vsftpd.crt ? #證書位置

rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.key ?#私鑰位置

重啟vsftpd服務

service vsftpd restart

使用FlashFXP客戶端軟件測試即可,加密傳輸

5.基于mysql虛擬用戶認證的ftp服務器搭建

5.1.編譯安裝pam_mysql-0.7RC1

tar zxvf ?pam_mysql-0.7RC1.tar.gz

cd ?pam_mysql-0.7RC1

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

make

make install

cp /usr/lib/security/pam_mysql.* /lib/security/

5.2.安裝vsftpd

yum -y install vsftpd

5.3.安裝mysql-server和mysql-devel

yum install -y mysql-server mysql-devel

service mysqld start

5.4.創建虛擬用戶賬號

5.4.1準備數據庫及相關表

#mysql ?本地連接mysql數據庫

mysql> create database vsftpd;

mysql> grant select on vsftpd.* to vsftpd@localhost identified by ‘vsftpd‘;

mysql> grant select on vsftpd.* to vsftpd@127.0.0.1 identified by ‘vsftpd‘;

mysql> flush privileges;

mysql> use vsftpd;

mysql> create table users (

-> id int AUTO_INCREMENT NOT NULL,

-> name char(20) binary NOT NULL,

-> password char(48) binary NOT NULL,

-> primary key(id)

-> );

5.4.2.添加測試的虛擬用戶

mysql> insert into users(name,password) values(‘willow‘,‘willow‘);

mysql> insert into users(name,password) values(‘tom‘,‘tom‘);

注意;這里將其密碼采用明文格式存儲,原因是pam_mysql與MySQL的password()函數可能會有所不同。

可通過pam_mysql目錄下的REDME文件查看加密解釋,即less REDME

6.建立pam認證所需文件

#vim /etc/pam.d/vsftpd.mysql

添加如下兩行

auth required /lib/security/pam_mysql.so user=vsftpd passwd=vsftpd host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0

account required /lib/security/pam_mysql.so user=vsftpd passwd=vsftpd host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0

7.修改vsftpd的配置文件,使其適應mysql認證

建立虛擬用戶映射的系統用戶及對應的目錄

#useradd -s /sbin/nologin -d /var/ftpvuser vuser

#chmod go+rx /var/ftprootvuser

請確保/etc/vsftpd.conf中已經啟用了以下選項

anonymous_enable=YES

local_enable=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

chroot_local_user=YES

必須添加以下選項

guest_enable=YES

guest_username=vuser ?#虛擬用戶映射本地用戶vuser

pam_service_name=vsftpd.mysql #對照前面新增的/etc/pam.d/vsftpd.mysql名字

啟動vsftpd服務并測試效果

# service vsftpd start

# chkconfig vsftpd on

# ftp localhost

8.配置虛擬用戶具有不同的訪問權限

8.1.配置vsftpd為虛擬用戶使用配置文件目錄

# vim vsftpd.conf

關閉匿名用戶所有權限

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

必須添加如下選項

user_config_dir=/etc/vsftpd/vusers_dir

mkdir /etc/vsftpd/vusers_dir/

cd /etc/vsftpd/vusers_dir/

touch willow tom

8.2.配置虛擬用戶的訪問權限

8.2.1.讓虛擬用戶tom不能上傳,只有下載權限

vim /etc/vsftpd/vusers/tom

anon_upload_enable=NO

8.2.2.讓虛擬用戶willow具有上傳,下載,創建,刪除等權限

vim?/etc/vsftpd/vusers/willow

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

本文出自 “夏維柳” 博客,請務必保留此出處http://willow.blog.51cto.com/6574604/1786264

linux下ftp和ftps以及ftp基于mysql虛擬用戶認證服務器的搭建

標簽:linux下ftp和ftps以及ftp基于mysql虛擬用戶認證服務器的搭建

本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴

本文系統來源:http://willow.blog.51cto.com/6574604/1786264

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/533389.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533389.shtml
英文地址,請注明出處:http://en.pswp.cn/news/533389.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阿里云rds for mysql平臺介紹_阿里云RDS for MySQL 快速入門——筆記

1初始化配置1.1設置白名單創建RDS實例后,需要設置RDS實例的白名單,以允許外部設備訪問該RDS實例。默認的白名單只包含默認IP地址127.0.0.1,表示任何設備均無法訪問該RDS實例。設置白名單包括兩種操作:設置IP白名單:添加…

mysql數據庫下載壓縮包_mysql 8.0.22 zip壓縮包版(免安裝)下載、安裝配置步驟詳解...

大家好,今天我在學習 MySQL 8.0.22安裝及配置遇到了一些問題,特地將我整個安裝過程分享出來希望可以幫助不會安裝的小伙伴😜。參考鏈接第一步 MySQL的下載進入MySQL官網下載,按下圖所示步驟操作,耐心等待下載完成就可以…

mysql 5.5 主從同步問題_MySQL 5.5 主從復制異步、半同步以及注意事項詳解

大綱一、前言二、Mysql 基礎知識三、Mysql 復制(Replication)四、Mysql 復制(Replication)類型五、Mysql 主從復制基本步驟六、Mysql 主從復制(異步)七、Mysql 主從復制(半同步)八、Mysql 復制工具九、Mysql 復制注意事項十、Mysql 復制過濾一、前言從這一篇博客開始我們就來學…

開源內容管理系統 php mysql_十大免費PHP+MySql平臺內容管理系統推薦

最近,朋友要建站讓我幫著推薦個好的CMS(內容管理系統),個人認為其實選擇哪個CMS并不重要,除了對搜索引擎的親好外,個人的使用操作習慣和對所選CMS系統的熟悉程度有很大關系。這里為需要建站但又徘徊的朋友介紹10個免費PHPMySql平臺…

mysql導入xml 工具下載_XML導入Mysql工具下載|XmlToMysql 最新版v2.1 下載_當游網

XmlToMysql是一款十分不錯的XML導入Mysql工具,它可以幫助用戶們將XML中的數據快速的導入到MySQL數據庫中,可以直接跳過解析環節,因此可以有效的提升程序員傳輸數據的效率,讓程序員可以擁有更多的時間去處理其他環節的事宜。所以喜…

mysql忽略表名大小寫_Mysql 表名忽略大小寫-連接字符集隨筆記錄

1.參數說明:lower_case_table_names0表名存儲為給定的大小和比較是區分大小寫的lower_case_table_names 1表名存儲在磁盤是小寫的,但是比較的時候是不區分大小寫lower_case_table_names2表名存儲為給定的大小寫但是比較的時候是小寫的unix,linux下lower_…

mysql與orancl_清晰講解SQL語句中的外連接,通用于Mysql和Oracle,全是干貨哦

清晰講解SQL語句中的外連接,通用于Mysql和Oracle,全是干貨哦直入主題:我們做一個操作,將員工SCOTT的部門去掉,再次通過內連接查看數據,看看會產生什么現象?使用內連接,查詢數據問題&…

.net mysql查詢數據庫連接_asp.net連接查詢SQL數據庫并把結果顯示在網頁上(2種方法)...

在ASP.NET中,使用C#連接SQL數據庫,并使用SQL語句查詢,以前從來沒有接觸過C#,最近用到了,摸索了兩天終于運行起來了,Mark一下,不喜勿噴有兩種方法:(說的是第一種方法不安全&#xff0…

mysql異常恢復工具_[MySQL異常恢復]mysql ibd文件恢復

在mysql中由于某種原因保存有ibd文件,但是表已經被刪除或者frm文件損壞亦或者ibdata文件損壞/丟失等。本文模擬在這種情況下,通過mysql自身技術即可完成ibd文件恢復.測試環境mysql版本mysql> select version();-----------| version() |-----------| …

ddl是什么意思網絡語_DDL(數據定義語言)

DDL,是對數據庫內部的對象進行創建,刪除,修改等的操作語言。它和DML語言最大的區別是DML只是對表內部數據的操作,而不涉及到表的定義,結構的修改,更不會涉及到其它對象。1.連接數據庫:注:1.mysql代表客戶端…

jsp mysql優點_asp、php、asp.net、jsp的介紹和各自的優缺點

現在主流的網站開發語言無外乎asp、php、asp.net、jsp等。主流網站開發語言之ASP:ASP是微軟(Microsoft)所開發的一種后臺,它的語法和Visual BASIC類似,可以像SSI(Server Side Include)那樣把后臺腳本代碼內嵌到HTML頁面中。雖然ASP簡單易用,但…

測試網絡的帶寬指令_單機千萬級MQTT服務器測試報告

目標:測試創建1000萬客戶端連接到Coolpy7 MQTT服務器端,服務器操作系統 Linux(任意一款發行版服務器版本)。分別在兩臺硬件一樣的服務器,其中一臺用于服務器端運行,另一臺用于創建千萬客戶端連接客戶端機器。在硬件一致的情況下請…

python郵箱爆破_Python在線爆破郵箱賬號密碼測試代碼(親測可用)

dic 字典格式如下(mail.txt) :usernamegmail.com:passwordusernamegmail.com:passwordusernamegmail.com:password以此類推,切記保存成utf-8編碼格式。放置在當前腳本目錄,也可自己定義修改。支持ssl https /imap協議。# version 3.4.0# codingUTF-8# ti…

查看redis aof內存_Redis持久化問題定位與優化技巧

今天主要分享繼Redis持久化方式RDB、AOF之后的一些常用的Redis問題定位于優化方式。這里主要CPU、內存、磁盤在三個維度去分析問題!Fork操作當Redis做RDB或AOF重寫時,一個必不可少的操作就是執行fork操作創建子進程,對于大多數操作系統來說fo…

mysql新增陣列df_DF學Mysql(三)——索引操作

概要:數據庫對象索引其實與書的目錄非常相似,主要是為了提高從表中檢索數據的速度。由于數據存儲在數據庫表中,所以索引是創建在數據庫表對象上的,由表中的一個字段或多個字段生成的鍵組成,這些鍵存儲在數據結構(B-樹或…

python本地瀏覽器注入js_PyQt5內嵌瀏覽器注入JavaScript腳本實現自動化操作的代碼實例...

概要應同學邀請,演示如何使用 PyQt5 內嵌瀏覽器瀏覽網頁,并注入 Javascript 腳本實現自動化操作。下面測試的是一個廉價機票預訂網站(http://www.flyscoot.com/),關鍵點如下使用 QWebEngineView 加載網頁,并顯示進度。在默認配置(…

python裝好了怎么啟動車_【填空題】Python安裝好后,可以直接在CMD命令行下輸入( )命令, 可啟動交互式編程,提示窗口如下:...

傾斜巖層的產狀要素是用巖層層面的()。A.傾角B.走向C.范圍D.傾向E.表面積采用深層攪拌法進行地基加固處理,其適用條件為()。A.砂礫石松軟地基B.松散砂地基C.黏土軟弱地基根據《建筑工程建筑面積計算規則》,下列關于建筑物雨篷結構的建筑面積計算&#xf…

windows設置mysql使用率_Windows下配置Mysql

這里說的配置Mysql,是在安裝時進行的,請先查看:Windows平臺下安裝Mysql緊接上文,安裝完成后將配置選項打上對勾,按下“Finish”,出現下面的界面,這里有一個很好的功能,mysql配置向導…

mysql 云無憂ps教程_華為云數據庫MySQL一鍵開通讀寫分離,無憂應對企業業務高峰情景...

業務大促,訂單暴增,網站流量暴漲幾倍,數據庫服務器容量又要扛不住了,眼睜睜看著生意白白溜走,再苦逼也無法解決,“腫”么辦?別擔心,一鍵開通讀寫分離,而且只需一個連接地…

mysql實體監聽器_GitHub - langjiangit/spring-boot-starter-mysql-binlog: mysql的binlog監聽器

mysql binlog監聽器前置操作1.查看mysql是否開啟binlogshow variables like log_bin;2.查看是否使用row格式的binlogshow variables like binlog_format;3.如果以上都不是請修改mysql的配置文件添加或者修改如下內容#配置binlog存放路徑log-binE://mysql//binlog//mysql-bin#bi…