1. 程式人生 > >使用vsftpd搭建ftp服務

使用vsftpd搭建ftp服務

ftp

FTP,即文件傳輸協議,它使得主機間可以共享文件。FTP使用TCP生成一個虛擬連接用於控制信息,然後再生成一個單獨的TCP連接用於數據傳輸。控制連接使用類似TELNET協議在主機間交換命令和消息。文件傳輸協議是TCP/IP網絡上兩臺計算機傳送文件的協議,FTP是在TCP/IP網絡和INTERNET上最早使用的協議之一,它屬於網絡協議組的應用層。FTP客戶機可以給服務器發出命令來下載文件,上傳文件,創建或改變服務器上的目錄。


服務端

1、安裝軟件

[[email protected] ~]# yum install -y vsftpd

2、創建用戶

[[email protected] ~]# useradd -s /sbin/nologin vsftpuser

3、調整vsftpd_login文件

[[email protected] ~]# vim /etc/vsftpd/vsftpd_login  ##奇數行是用戶名,偶數行是密碼
grodd
123456
juispan
123456
[[email protected] ~]# chmod 600 /etc/vsftpd/vsftpd_login
[[email protected] ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db  ##轉換成二進制文件

4、編輯虛擬用戶

[[email protected] ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[[email protected] ~]# cd /etc/vsftpd/vsftpd_user_conf/
[[email protected] vsftpd_user_conf]# vim grodd
local_root=/home/vsftpuser/grodd   ##虛擬用戶家目錄
anonymous_enable=NO                ##是否允許用戶匿名
write_enable=YES                   ##是否可寫
local_umask=022                    ##創建的新文件或目錄權限
anon_upload_enable=NO              ##是否允許匿名用戶可上傳
anon_mkdir_write_enable=NO         ##是否允許匿名用戶可以創建目錄並且寫
idle_session_timeout=600           ##FTP超出多少秒重新登錄
data_connection_timeout=120        ##數據傳輸的超出時間
max_clients=10                     ##最大客戶端數目
[[email protected] vsftpd_user_conf]# mkdir /home/vsftpuser
[[email protected] vsftpd_user_conf]# mkdir /home/vsftpuser/grodd/
[[email protected] vsftpd_user_conf]# echo "123456" > /home/vsftpuser/grodd/1.txt
[[email protected] vsftpd_user_conf]# chown -R vsftpuser:vsftpuser /home/vsftpuser

5、修改認證文件

[[email protected] vsftpd_user_conf]# vim /etc/pam.d/vsftpd 
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login    ##新增行1
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login ##新增行2
session    optional     pam_keyinit.so    force revoke
auth       required	pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required	pam_shells.so
auth       include	password-auth
account    include	password-auth
session    required     pam_loginuid.so
session    include	password-auth
[[email protected] vsftpd_user_conf]# ls /lib64/security/pam_userdb.so 
/lib64/security/pam_userdb.so

6、編輯vsftpd.conf文件

[[email protected] vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf 
##以下修改##
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
##以下新增##
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES

7、啟動服務

[[email protected] vsftpd_user_conf]# systemctl start vsftpd
[[email protected] vsftpd_user_conf]# ps aux|grep vsftp
root     123655  0.0  0.0  52708   564 ?        Ss   22:19   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root     123667  0.0  0.0 112648   968 pts/0    S+   22:20   0:00 grep --color=auto vsftp
[[email protected] vsftpd_user_conf]# netstat -lntp |grep vsftp
tcp6       0      0 :::21         :::*              LISTEN      123655/vsftpd


客戶端

1、安裝lftp

[[email protected] vsftpd_user_conf]# yum install -y lftp

2、測試效果

[[email protected] vsftpd_user_conf]# lftp [email protected]
Password: 
lftp [email protected]:~>


本文出自 “Gorilla City” 博客,請務必保留此出處http://juispan.blog.51cto.com/943137/1959173

使用vsftpd搭建ftp服務