- 系統環境
[root@ceshiji ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [root@ceshiji ~]# iostat -c Linux 2.6.32-573.3.1.el6.x86_64 (ceshiji) 01/05/2018 _x86_64_ (8 CPU) [root@ceshiji ~ ]# getenforce Disabled
- vsftp,pam,db4安裝
[root@ceshiji ~]# yum install vsftpd pam* db4* -y #查看ftp版本 vsftpd -version vsftpd: version 2.2.2
- 開啓vsftp自啓服務
[root@ceshiji ~]]# chkconfig --level 35 vsftpd on [root@ceshiji ~]]# chkconfig --list
- 配置vsftpd服務的宿主
#useradd vsftpdadmin -s /sbin/nologin -d /data/vsftpdadmin -m`` 說明:這個vsftpdadmin只是用來替換root的,並不需要登錄
- 建立ftp虛擬宿主帳
#useradd -s /sbin/nologin -d /data/ftpuser -m ftpuser
- 配置vsftpd.conf
說明:更改配置前最好備份一下然後再改。#vim /etc/vsftpd/vsftpd.conf
- 下面是我的vsftpd.conf配置內容:
#cat /etc/vsftpd/vsftpd.conf |grep -v '^#'
##不允許匿名用戶登錄ftp anonymous_enable=NO ##允許本地用戶登錄 local_enable=YES ##啓用任何形式的FTP寫入命令 write_enable=YES ##上傳後文件的權限掩碼 local_umask=022 ##開啓目錄標語,默認是YES dirmessage_enable=YES ##開啓日誌,默認是YES xferlog_enable=YES ##設定數據連接端口20 ##這個端口我更改爲50100 connect_from_port_20=NO #設置是否允許被動模式 pasv_enable=YES pasv_min_port=50000 pasv_max_port=60000 listen_port=50100 ##設定vsftpd的服務日誌保存路徑 xferlog_std_format=YES xferlog_file=/var/log/xferlog # vsftpd_log_file所指定的文件,即/var/log/vsftpd.log也將用來 記錄服務器的傳輸情況 dual_log_enable=YES vsftpd_log_file=/var/log/vsftpd.log ##會話超時,客戶端連接到ftp但未操作,可根據個人情況修改 idle_session_timeout=600 #設定默認的數據連接超時時間 data_connection_timeout=120 ##支持異步傳輸功能,默認是註釋掉的 async_abor_enable=YES ##支持ASCII模式的上傳功能,默認是註釋掉的 ascii_upload_enable=YES ##支持ASCII模式的下載功能,默認是註釋掉的 ascii_download_enable=YES ##FTP的登錄歡迎語,本身是被註釋掉的 ftpd_banner=Welcome to datagrand FTP service. ##禁止本地用戶登出自己的FTP主目錄 chroot_local_user=YES ##鎖定登錄用戶只能在家目錄的位置的文件 chroot_list_file=/etc/vsftpd/chroot_list ##偵聽ipv4地址 listen=YES ##########啓用vsftpd虛擬用以及虛擬用戶賬號配置目錄############ ##設定啓用虛擬用戶功能 guest_enable=YES ##指定虛擬用戶的宿主用戶 guest_username=ftpuser ##設定pam服務下vsftpdd的驗證配置文件名 pam_service_name=vsftpd ##設定虛擬用戶的權限符合他們的宿主用戶 virtual_use_local_privs=YES ##設定虛擬用戶個人Vsftp的配置文件存放路徑 user_config_dir=/etc/vsftpd/vconf ##拒絕登錄用戶名單 userlist_enable=YES userlist_deny=NO ##限制主機對VSFTP服務器的訪問 tcp_wrappers=YES ############################虛擬用戶全局配置############### ##開放虛擬用戶創建目錄的權限 anon_mkdir_write_enable=YES ##開放虛擬用戶的下載權限 anon_world_readable_only=YES ##開放虛擬用戶的寫權限 write_enable=YES ##開放虛擬用戶的上傳權限 anon_upload_enable=YES ##開放虛擬用戶刪除、重命名目錄和文件 anon_other_write_enable=YES
- 建立日誌文件
#touch /var/log/vsftpd.log //日誌文件 #chown vsftpdadmin:vsftpdadmin /var/log/vsftpd.log //屬於vsftpdadmin這個宿主
- 建立虛擬用戶文件
#mkdir /etc/vsftpd/vconf/ #touch /etc/vsftpd/vconf/vir_user
- 建立虛擬用戶
#vim /etc/vsftpd/vconf/vir_user ##用戶名 xiaoming ##密碼 12345678
說明:
(1)第一行用戶名,第二行是上一行用戶名的密碼,其他人的以此類推;
(2)用戶名,密碼後面不要有空格!#vim /etc/vsftpd/chroot_list ##用戶名 xiaoming
說明:加入需要鎖定登錄用戶只能家目錄的位置然後將帳戶輸入一行一個,保存就可以了。
#vim /etc/vsftpd/user_list ##添加虛擬用戶 xiaoming
創建虛擬用戶具體文件和步驟:
#pwd /etc/vsftpd/vconf #touch xiaoming #vim xiaoming ##添加如下內容: ##虛擬用戶的根目錄,需要預先建立並賦予相應權限 local_root=/data3/xiaoming local_umask=022 :wq
在相應的目錄下(data3)創建文件xiaoming: #mkdir -p /data3/xiaoming 更改所屬主,組: #chown -R ftpuser:ftpuser /data3/xiaoming
- 生成數據庫
#db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db 設置數據庫文件的訪問權限: #chmod 600 /etc/vsftpd/vconf/vir_user.db #chmod 600 /etc/vsftpd/vconf/vir_user
- 修改/etc/pam.d/vsftpd內容
將/etc/pam.d/vsftpd文件裏的內容全部註釋掉(前面加#)或刪掉,在裏面添加如下內容: echo "auth required pam_userdb.so db=/etc/vsftpd/vconf/vir_user" >> /etc/pam.d/vsftpd echo "account required pam_userdb.so db=/etc/vsftpd/vconf/vir_user" >> /etc/pam.d/vsftpd
- 重啓ftp服務
#service vsftpd restart #netstat -lnp|grep vsftpd
- 關於vsftpd的端口號的更改
要求:vsftpd啓動後,默認的ftp端口是21,現在我想把ftp端口改成50100 ,修改後能保證用戶上傳下載不受影響。#vim /etc/vsftpd/vsftpd.conf ##在該配置文件中添加此行 listen_port=50100 :wq
#vim /etc/services #ftp 21/tcp ftp 50100/tcp #ftp 21/udp fsp fspd ftp 50100/udp fsp fspd :wq #service vsftpd restart #netstat -lnp|grep vsftpd
- 一鍵部署腳本
#!/bin/bash #輸入新建用戶名 read -p "please input a username:" m #輸入新建用戶名的密碼 read -p "please input a passwd:" n #建立虛擬用戶 echo $m >> /etc/vsftpd/vconf/vir_user echo $n >> /etc/vsftpd/vconf/vir_user #chroot_list添加新建用戶名 echo $m >> /etc/vsftpd/chroot_list #user_list添加新建用戶名 echo $m >> /etc/vsftpd/user_list #創建虛擬用戶 cd /etc/vsftpd/vconf touch $m cat >> /etc/vsftpd/vconf/$m << EOF local_root=/data3/$m local_umask=022 EOF #創建虛擬用戶對應的目錄 mkdir -p /data3/$m chown -R ftpuser:ftpuser /data3/$m #生成數據庫 db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db #設置數據庫文件的訪問權限 chmod 600 /etc/vsftpd/vconf/vir_user.db chmod 600 /etc/vsftpd/vconf/vir_user #修改/etc/pam.d/vsftpd內容 echo "auth required pam_userdb.so db=/etc/vsftpd/vconf/vir_user" > /etc/pam.d/vsftpd echo "account required pam_userdb.so db=/etc/vsftpd/vconf/vir_user" >> /etc/pam.d/vsftpd #創建成功 echo "Congratulations on creating a new user!"
linux6 ftp平臺部署及一鍵部署腳本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.