LINUX網絡服務之FTP

1”FTP分類(主動模式,被動模式)
主動模式是從服務端向客戶端發起連接,而被動模式是客戶端向服務器端發起連接。兩者的共同點是都使用21端口進行用戶驗證及管理,

差別在於傳送數據的方式不同。
2”FTP安裝(vsftp)
1,使用RPM命令及選項查詢是否已安裝VSFTP軟件: rpm -qa | grep vsftp
2,使用YUM工具安裝VSFTP軟件:yum install -y vsftpd
3,解壓源碼包:tar xvf vsftpd-3.0.2/
4,進入目錄:cd vsftpd-3.0.2/
(在開始編譯之前需要添加相關用戶和目錄,這些用戶和目錄記錄在文件INSTALL中)
5,添加用戶nobody:useradd nobody
6,添加目錄和用戶:
mkdir /var/share/empty
mkdir /var/ftp

     useradd -d /var/ftp ftp

     chown root.root /var/ftp

     chmod og-w /var/ftp

7,安裝依賴的庫文件:yum install -y libcap libcap-devel
8,編譯:make
9,安裝:make install
"3"FTP設置(匿名)
(FTP配置文件路徑/etc/vsftpd.conf 或者 /etc/vsftpd/vsftpd.conf)
1,將默認目錄賦予用戶FTP權限以便可以上傳文件:chown -R ftp.users /var/ftp/pub
2,取消配置文件中的註釋並顯示有效行:grep -v ^# /etc/vsftpd/vsftpd.conf
3,允許匿名用戶登錄和上傳:
anonymous_enable=YES
anon_upload_enable=YES
local_enable=YES
4,允許寫:
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
5,允許監聽:
listen=YES
6,不允許IPV6上的監聽:
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
7,啓動FTP服務:systemctl start vsftpd
8,檢查是否啓動成功,默認配置文件位於/etc/vsftpd/vsftpd.conf:ps -ef | grep vsftp
9,登錄FTP測試: ftp 192.168.1.10 21
10,輸入匿名用戶名稱 NAME (192.168.1.10:root):anonymous
11,密碼爲空(PASSWORD處按回車跳過即可)
12,登陸成功(顯示LOGIN SUCCESSFUL表示登陸成功)
13,切換目錄: ftp> cd pub(顯示Directory successfully changed表示目錄切換成功)
14,上傳文件測試:ftp> put vsftpd-3.0.2.tar.gz (顯示OK to send data表示傳輸成功,顯示Transfer complete表示傳輸完成)
15,文件上傳成功後退出:ftp> quit (顯示Goodbye表示已退出)
16,查看上傳後的文件信息,文件屬於FTP用戶:ll /var/ftp/pub
4”FTP設置(實名)
(用戶認證信息位於/etc/vsftpd/目錄下)
1,編輯vsftpd.conf文件
允許監聽:listen=YES
綁定本機IP:listen_address=192.168.1.10
禁止匿名用戶登錄:
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
不允許FTP用戶離開自己的主目錄:chroot_list_enable=NO
虛擬用戶列表,每行一個用戶名:chroot_list_file=/etc/vsftpd.chroot_list
允許本地用戶訪問,默認爲YES
local_enable=YES
允許寫入:write_enable=YES
上傳後的文件默認的權限掩碼:local_umask=022
禁止本地用戶離開自己的FTP主目錄:chroot_local_user=YES
權限驗證需要的加密文件:pam_service_name=vsftpd.vu
開啓虛擬用戶功能:guest_enable=YES
虛擬用戶的宿主目錄:guest_username=ftp
用戶登陸後操作主目錄和本地用戶具有同樣的權限:virtual_use_local_privs=YES
虛擬用戶主目錄設置文件:user_config_dir=/etc/vsftpd/vconf
2,編輯/etc/vsftpd.chroot_list,每一行用戶名:cat /etc/vsftpd.chroot_list
3,增加用戶並指定主目錄:chmod -R 775 /data/user1 /data/user2
4,設置用戶名密碼數據庫:
echo -e "user1/npass1/nuser2/npass2" > /etc/vsftpd/vusers.list
cd /etc/vsftpd
db_load -T -t hash -f vusers.list vusers.db
chmod 600 vusers.*
指定認證方式:echo -e "#%PAM-1.0\n\nauth required pam_userdb.so db=/etc/vsftpd/naccount required pam_userdb.so

db=/etc/vsftpd/vusers" > /etc/pam.d/vsftpd.vu
mkdir -p /etc/vsftpd/vconf
cd /etc/vsftpd/vconf
ls
編輯用戶的用戶名文件,指定主目錄:cat user1和user2
創建標識文件:
touch /data/user1/user1
touch /data/user2/user2
ftp 192.168.1.10
輸入用戶名:user1
密碼爲之前設置的PASS1(在PASSWORD處輸入PASS1即可)
查看文件:ftp> ls
(其中-rw-r--r-- 1 0 0 0 Mar 31 08:44 user1表示此文件已存在)
(退出後用USER2用戶身份登錄FTP,用同樣的方法驗證密碼和文件)
5,上傳文件測試:ftp> put file(File receive OK表示接收成功)
至此FTP安裝,匿名,實名等設置基本完成

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