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.1(3)
[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地址
參考文檔:http://www.cnblogs.com/kreo/p/4377376.html