ftp服務器三種模式


一、匿名開放模式(最不安全)

1、[root@localhost ~]# vim  /etc/vsftpd/vsftpd.conf  (主配置)

anonymous_enable=YES    //允許匿名訪問模式
anon_umask=022                //匿名用戶上傳文件的的umask值
anon_upload_enable=YES      //允許匿名用戶上傳文件
anon_mkdir_write_enable=YES   //允許匿名用戶創建目錄
anon_other_write_enable=YES     //允許匿名用戶修改目錄名稱或刪除目錄
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
2、[root@localhost ~]# systemctl restart vsftpd
3、[root@localhost ~]# systemctl enable vsftpd
4、[root@localhost ~]# yum install -y ftp  (命令行管理工具)
注:該模式默認用戶為anonymous,密碼為空,默認訪問目錄/var/ftp
5、[root@localhost ~]# ftp 192.168.40.132
Connected to 192.168.40.132 (192.168.40.132).
220 (vsFTPd 3.0.2)
Name (192.168.40.132:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir zjz1  (創建新文件夾)
257 "/pub/zjz1" created
ftp> rename zjz1  zjz2  (改名)
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir zjz2  (刪除)
250 Remove directory operation successful.
ftp> exit  (退出)
221 Goodbye.
注:第一次做時權限不夠。解決:1、[root@localhost ~]# chown -Rf ftp /var/ftp/pub 

2、[root@localhost ~]# getsebool -a | grep ftp ;[root@localhost ~]# setsebool -p  ftpd_full_access=on (或直接關閉selinux)
3、關閉防火牆

二、本地用戶模式

1、[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO  //禁止匿名訪問
local_enable=YES   //允許本地用戶模式
write_enable=YES   //設置可寫權限
local_umask=022   // //本地用戶創建文件的的umask值
userlist_enable=YES   //啟用“禁止用戶名單”,名單文件為ftpusers 和 user_list

userlist_deny=YES  //開啟用戶作用名單文件功能
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
2、[root@localhost ~]# systemctl restart vsftpd         

3、[root@localhost ~]# systemctl enable vsftpd

4、[root@localhost ~]# ftp 192.168.40.132
Connected to 192.168.40.132 (192.168.40.132).
220 (vsFTPd 3.0.2)
Name (192.168.40.132:root): root  (被拒絕)
530 Permission denied.
Login failed.
ftp>

5、[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh 
注:上面兩個文件夾就是禁止名單,root被禁止對系統更安全

6、[root@localhost ~]# ftp 192.168.40.132
Connected to 192.168.40.132 (192.168.40.132).
220 (vsFTPd 3.0.2)
Name (192.168.40.132:root): cui  (本地用戶)    
331 Please specify the password.
Password:  (要密碼)
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

其余同匿名模式

三、虛擬用戶模式(最安全)

1、[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh 
[root@localhost vsftpd]# vim vuser.list  (創建用戶數據庫文件)
zhagnsan
123456 (密碼)
lisi
123##  (密碼)
2、[root@localhost vsftpd]# db_load -T -t hash -f vuser.list vuser.db  (哈希加密)
3、[root@localhost vsftpd]# file vuser.db
vuser.db: Berkeley DB (Hash, version 9, native byte-order)
4、[root@localhost vsftpd]# chmod 600 vuser.db
5、[root@localhost vsftpd]# rm   -rf   vuser.list

6、[root@localhost ~]# useradd -d /var/ftproot -s /sbin/nologin  virtual  (創建本地用戶,指定家目錄,禁止本地用戶登錄,這個賬戶映射到虛擬用戶)

 7、[root@localhost ~]# ls -ld  /var/ftproot/
drwx------ 2 virtual virtual 62 Sep 15 08:17 /var/ftproot/
8、[root@localhost ~]# chmod -Rf 755  /var/ftproot/
9、[root@localhost ~]# vim /etc/pam.d/vsftpd.vu   (PAM一組安全機制模塊)
auth required pam_userdb.so  db=/etc/vsftpd/vuser
account required pam_userdb.so  db=/etc/vsftpd/vuser
10、[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
guest_enable=YES     //開啟虛擬用戶模式
guest_username=virtual   //指定虛擬用戶賬戶
allow_writeable_chroot=YES  //允許被禁錮的ftp根目錄執行寫入操作,而且不拒絕用戶的登錄請求
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd.vu  //指定pam文件
userlist_enable=YES
tcp_wrappers=YES
11、[root@localhost ~]# mkdir /etc/vsftpd/vusers_dir/
[root@localhost ~]# cd /etc/vsftpd/vusers_dir/
[root@localhost vusers_dir]# touch lisi
[root@localhost vusers_dir]# vim zhangsan
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

12、[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
.....同上
user_config_dir=/etc/vsftpd/vusers_dir
13、[root@localhost ~]# systemctl restart vsftpd
       [root@localhost ~]# systemctl enable vsftpd

注:粘貼復制時候會有空格,注意刪除空格





        



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM