FTP文件服務器搭建與應用

1.ftp服務端部署搭建應用

1.1vsftd部署

1)基礎環境

[root@ceshi1 ~]# uname -r

2.6.32-573.el6.x86_64

[root@ceshi1 ~]# cat /etc/centos-release

CentOS release 6.7 (Final)

2)關閉防火牆以及selinux

[root@ceshi1 ~]# /etc/init.d/iptables stop

[root@ceshi1 ~]# setenforce 0

setenforce: SELinux is disabled

3)yum安裝vsftpd以及相關依賴

[root@ceshi1 ~]# yum install -y vsftpd    #vsftpd安裝程序

[root@ceshi1 ~]# yum install -y pam* db4* #vsftpd虛擬登陸賬戶必要依賴包

 

1.2vsftpd配置文件詳解

   ftp的配置文件主要有三個在centos中位於/etc/vsftpd/目錄下分別是

[root@ceshi1 vsftpd]# tree

├── ftpusers 該文件用來指定哪些用戶不能訪問ftp服務器

├── user_list 該文件用來指示的默認賬戶在默認情況下也不能訪問ftp

├── vsftpd.conf 主配置文件

具體配置詳解:

1)用戶登錄控制

anonymous_enable=YES允許匿名用戶登錄

no_anon_password=YES匿名用戶登錄時不需要輸入密碼

local_enable=YES允許本地用戶登錄

eny_email_enable=YES可以創建一個文件保存某些匿名電子郵件的黑名單以防止這些人

 banned_email_file=/etc/vsftpd/banned_emails保存電子郵件黑名單的目錄(默認)

 2)用戶權限控制

write_enable=YES開啓全局上傳

local_umask=本地文件上傳的umask設置爲系統默認

anon_upload_enable=YES允許匿名用戶上傳當然要在write_enable=YES的情況下同時必須建立一個允許ftp用戶讀寫的目錄

anon_mkdir_write_enable=YES允許匿名用花創建目錄

anon_mkdir_other_write_enable=YES  是否允許匿名用戶刪除文件

chown_uploads=YES匿名用戶上傳的文件屬主轉換爲別的用戶一般建議爲root

chown_username=whoever改此處的whoever爲要轉換的屬主建議root

chroot_list_enable=YES用一個列表來限定哪些用戶只能在自己目錄下活動

 chroot_list_enable=/etc/vsftpd/chroot_list指定用戶列表文件

 nopriv_user=ftpsecure指定一個安全賬戶讓ftp完全隔離和沒有特權的賬戶

3)用戶連接和超時設置

idle_session_timeout=默認的超時時間

data_connection_timeout=設置默認數據連接的超時時間

服務器日誌和歡迎信息

dirmessage_enable=YES允許爲配置目錄顯示信息

ftpd_banner=WelcometoblahFTPserviceftp的歡迎信息

xferlog_enable=YES打開日誌記錄功能

xferlog_file=/var/log/xferlog日誌記錄文件的位置

4

chown_uploads=YES  定義用戶上傳文件之後是否更改屬主

chown_username=whoever # 定義用戶上傳文件之後屬主更改爲誰

連接

chroot_local_user=YES #是否禁錮系統用戶,一旦啓用,那麼chroot_list中的用戶不被禁錮

chroot_list_enable=YES   是否禁錮chroot_list中的用戶

chroot_list_file=/etc/vsftpd/chroot_list  # chroot_list文件保存位置

listen=YES  是否作爲一個獨立守護進程運行

pam_service_name=vsftpd  # vsftpd使用的pam服務名稱

user_list_enable=YES  是否啓用user_list文件配合userlist_deny=YES|NO控制用戶登錄

userlist_deny=YES  值爲YES時,user_list爲黑名單;值爲NO時,user_list爲白名單

max_clients=N  最多允許N個客戶端同時連接ftp

max_per_ip=N   最多允許N個來自同一ip的客戶端連接請求

 

1.3虛擬用戶登錄配置部署

1.3.1yum安裝vsftpd程序以及相關依賴,見1.13

[root@ceshi1 ~]# yum install -y vsftpd    #vsftpd安裝程序

[root@ceshi1 ~]# yum install -y pam* db4* #vsftpd虛擬登陸賬戶必要依賴包

 

1.3.2修改/etc/vsftpd/vsftpd.conf

1)修改配置文件前備份

[root@ceshi1 vsftpd]#cd /etc/vsftpd

[root@ceshi1 vsftpd]# cp  vsftpd.conf  vsftpd.conf.org

2)建立相關文件及文件夾

[root@ceshi1 vsftpd]# touch /etc/vsftpd/chroot_list

[root@ceshi1 vsftpd]# mkdir /etc/vsftpd/ftplogin

正式配置文件

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

listen=YES

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=www

user_config_dir=/etc/vsftpd/ftplogin

pam_service_name=vvsftpd

 

1.3.3創建FTP虛擬登錄賬號

1.創建密碼明文文件

[root@ceshi1 vsftpd]# touch /etc/vsftpd/vuser

[root@ceshi1 vsftpd]# vim /etc/vsftpd/vuser

boy

boy123

girl

girl123

test

test123

格式:

用戶名1

用戶名1密碼

用戶名2

用戶名2密碼

2.生成pam校驗數據庫文件

[root@ceshi1 vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/login.db

爲了安全期間,建議在生成校驗數據庫之後,刪除vuser文件

或者修改vuser權限,不讓別的用戶讀(root大神如果被攻陷,那就沒什麼好說的了)

chmod 600 /etc/vsftpd/vuser

3.添加新的pam service

[root@ceshi1 vsftpd]# touch /etc/pam.d/vvsftpd

[root@ceshi1 vsftpd]# vim /etc/pam.d/vvsftpd

內容如下(注意如果是32位系統,那就用32位的校驗,本例是64位的):

#%PAM-1.0

#auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login

#account required /lib/security/pam_userdb.so db=/etc/vsftpd/login

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login

 

4.FTP虛擬用戶賦予權限(增加權限配置文件)

配置文件存放路徑,就是conf中的user_config_dir,本文就是/etc/vsftpd/ftplogin,文件名必須和用戶名相同

文件配置詳解,默認路徑需要提前用mkdir建立好,目錄擁有者設置爲conf中的guest_username,本文爲www

#有上傳/下載/修改權限

anon_world_readable_only=NO

write_enable=YES

anon_mkdir_write_enable=YES

anon_upload_enable=YES

anon_other_write_enable=YES

local_root=/u01/ftpb/upload/

#只有上傳/修改權限

anon_world_readable_only=NO

write_enable=YES

anon_mkdir_write_enable=YES

anon_upload_enable=YES

local_root=/u01/ftpb/upload/

#只有下載權限

anon_world_readable_only=NO

local_root=/u01/ftpb/upload/

 

useradd –d /data/upload  www –s  /sbin/nologin -M

mkdir /data/upload  –p

chown –R www.www  /data/upload

cd  /etc/vsftpd/ftplogin

vim boy /girl/test

anon_world_readable_only=NO

write_enable=YES

anon_mkdir_write_enable=YES

anon_upload_enable=YES

anon_other_write_enable=YES

local_root=/data/upload

1.3.4啓動ftp服務

[root@ceshi1 vsftpd]# /etc/init.d/vsftpd start

Starting vsftpd for vsftpd:                                [  OK  ]

1.4客戶端利用虛擬用戶登錄

ftp//ip地址

說明: C:\Users\Thinkpad\AppData\Roaming\Tencent\Users\931840601\QQ\WinTemp\RichOle\GKNZ7T(KH(77]67[{WBS~Q8.png

 

參考文檔:http://www.cnblogs.com/kreo/p/4377376.html

 

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章