概念
FTP 服務(wù)主要用于文件傳輸
工作方式 :主動模式、被動模式。默認(rèn)啟用被動模式。
服務(wù)器端安裝 : yum -y install? vsftpd? ?、? 客戶端安裝? yum? -y? install? ?ftp?
主配置文件 :?/etc/vsftpd/vsftpd.conf
登錄用戶類型: 匿名用戶、本地用戶、和虛擬用戶
匿名用戶:用戶名 ftp? 密碼 可忽略? 。 文件分享位置:/var/ftp/pub
本地用戶:用戶名 :本地賬號? ?密碼:登錄密碼。? 創(chuàng)建本地用戶時切記指定 -s /sbin/nologin? 和禁錮在宿主目錄
虛擬用戶: 主要為了滿足不同權(quán)限需求的用戶,比如zhangs 可上傳文件,lis可上傳文件;還可上傳目錄,laow可上傳文件,可修改目錄名。
—————————————————————————————————————————————————
以下主要介紹:
被動模式端口范圍限定;
虛擬用戶創(chuàng)建;
加密傳輸。
被動模式——》? ? /etc/vsftpd/vsftpd.conf
$ pasv_enable=YES
$ pasv_min_port=10221
$ pasv_max_port=10231
虛擬用戶——》
# 創(chuàng)建賬號信息文件
$ vi /etc/vsftpd/user.list? #第一行寫用戶名,第二行密碼? 以此類推
# 將創(chuàng)建的賬戶信息文件修改為系統(tǒng)識別的數(shù)據(jù)庫類型文件
$ cd? /etc/vsftpd
$ db_load -T -t hash -f /etc/vsftpd/user.list user.db? #改為系統(tǒng)識別的數(shù)據(jù)庫類型文件
$ chmod 600 user.*? ? #把user相關(guān)的文件權(quán)限改為600更安全
# 添加虛擬映射用戶
$ useradd -d /var/ftproot -s /sbin/nologin virtual? #添加一個虛擬用戶,禁止登錄 且指定家目錄
$ chmod 755 /var/ftproot/? #修改指定的家目錄(公共目錄)權(quán)限,讓其他用戶都能進(jìn)入
# 設(shè)置認(rèn)證
$ cd /etc/pam.d
$ cp vsftpd vsftpd.a #拷貝一份認(rèn)證配置文件,防止改錯 便于找回
$ vi vsftpd.a? ? ? #固定格式? 認(rèn)證、訪問? (修改把現(xiàn)有的都刪除,因為默認(rèn)包含匿名、本地的,我們現(xiàn)在要設(shè)置的虛擬用戶的 )
? ? #%PAM-1.0? ? ? ? ? ? ? ? ?
auth? ? required? ? pam_userdb.so? db=/etc/vsftpd/user (對應(yīng)生成的庫文件.db可以省略)
account? required? ? pam_userdb.so? db=/etc/vsftpd/user
# 在主配置文件中聲明
$ vi /etc/vsftpd/vsftpd.conf? ? ? ? ?
pam_service_name=vsftpd.a? #認(rèn)證文件(若修改,要在這里寫修改了的)? ? ? ?
userlist_enable=YES? ? ? ? ? ? ? ? ? ? ? ? ?
tcp_wrappers=YES
guest_enable=YES? ? #允許虛擬用戶登錄
guest_username=virtual? #指定虛擬用戶映射的是virtual用戶
user_config_dir=/etc/vsftpd/conf? #指定虛擬用戶的配置權(quán)限放在這里 (這個目錄不存在,需創(chuàng)建)
# 創(chuàng)建用戶控制權(quán)限
$ cd /etc/vsftpd/?
$ mkdir? conf
$ cd? conf
$ touch? user1? user2? user3
# 常見權(quán)限:
anon_upload_enable=YES? 允許上傳
anon_mkdir_write_enable=YES? ? 允許用戶創(chuàng)建目錄
anon_other_write_enable=YES? ? 允許其它寫入權(quán)限
加密傳輸——》
# 安裝機(jī)密算法程序 openssl
$ yum? -y? install? openssl
$ yum? -y? install? openssl-devel
# 創(chuàng)建證書
$ openssl? req? -new? -x509? -nodes? -out? vsftpd.pem? -keyout? vsftpd.pem
# 拷貝到 /etc/ssl/certs? ? 這個目錄存放的是操作系統(tǒng)當(dāng)前所有的證書,及密鑰信息。
# 為了保密性,不能讓別人隨意查看,修改權(quán)限
$ chmod? 400? vsftpd.pem
# vi? /etc/vsftpd/vsftpd.conf
ssl_enable=YES? ? ? ? ? ? 開啟加密驗證? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
allow_anon_ssl=YES? ? ? ? ? ? ? ? ? 允許匿名用戶認(rèn)證? ? ? ? ? ? ? ? ?
force_local_data_ssl=YES? ? 強(qiáng)制本地數(shù)據(jù)傳輸加密? ? ? ? ? ? ? ? ? ? ? ?
force_local_logins_ssl=YES? ? ? 登錄強(qiáng)制加密? ? ? ? ? ? ? ? ? ?
force_anon_data_ssl=YES? ? ? 匿名用戶的傳輸強(qiáng)制加密? ? ? ? ? ? ? ? ? ? ? ?
force_anon_logins_ssl=YES? ? 匿名用戶的登錄強(qiáng)制加密? ?
ssl_tlsv1=YES? ? 開啟ssl v1版認(rèn)證? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
ssl_sslv2=NO? 關(guān)閉v2 v3版 ,他們需要更高級的證書,openssl無法提供
ssl_sslv3=NO? ?
rsa_cert_file=/etc/ssl/certs/vsftpd.pem 指定證書存放的目錄? ? ? ? ? ? ? ? ? ? ? dw快捷鍵刪除連續(xù)的單詞
注意配置文件的修改 行尾不要有空格 否則容易報錯?
ftp客戶端簡單不支持加密
要用別的驗證