安装Vsftpd服务端

安装Vsftpd服务端

[root@localhost ~]#systemctl stop firewalld  
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y  install vsftpd
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# mv vsftpd.conf vsftpd.conf.bak
[root@localhost vsftpd]# grep -v -E "^#|^$" vsftpd.conf.bak  > vsftpd.conf

[root@localhost vsftpd]# chown ftp /var/ftp/pub/
[root@localhost vsftpd]# ls -ld /var/ftp/pub/
drwxr-xr-x 2 ftp root 4096 Aug  4  2014 /var/ftp/pub/

[root@localhost vsftpd]# vim vsftpd.conf
anonymous_enable=YES                  设置是否允许匿名用户登录FTP服务器。默认为YES
anon_umask=022                          
anon_upload_enable=YES                是否允许匿名用户上传文件。只有在write_enable设置为YES时,该配置项才有效。而且匿名用户对相应的目录必须有写权限。默认为NO。
anon_mkdir_write_enable=YES           是否允许匿名用户创建目录。只有在write_enable设置为    YES时有效。且匿名用户对上层目录有写入的权限。默认为NO。
anon_other_write_enable=NO            若设置为YES,则匿名用户会被允许拥有多于
anon_world_readable_only=YES          匿名用户是否允许下载可阅读的文档,默认为YES。
no_anon_password=YES                  匿名用户登录时是否询问口令。设置为YES,则不询问。默 
local_enable=YES                      是否允许本地用户登录FTP服务器。默认为NO
write_enable=YES                      是否对登录用户开启写权限。属全局性设置。默认NO
local_umask=022                       设置本地用户新增文档的umask,默认为022,对应的权限为755。
dirmessage_enable=YES                 设置是否显示目录消息。若设置为YES,则当用户进入特定目录(比如/var/ftp/linux)时,将显示该目录中的由message_file配置项指定的文件(.message)中的内容
xferlog_enable=YES                    是否启用上传/下载日志记录。默认为NO
connect_from_port_20=YES              默认值为YES,指定FTP数据传输连接使用20端口。若设置为NO,则进行数据连接时,所使用的端口由ftp_data_port指定
xferlog_std_format=YES                日志文件是否使用标准的xferlog日志文件格式(与wu-ftpd使用的格式相同) 。默认为NO
listen=YES                            是否监听端口
pam_service_name=vsftpd               设置在PAM所使用的名称,默认值为vsftpd。
userlist_enable=YES                   决定/etc/vsftpd/user_list文件是否启用生效。YES则生效,NO不生效。
tcp_wrappers=YES                      

[root@localhost vsftpd]# systemctl restart  vsftpd
[root@localhost vsftpd]# lsof -i :21
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
vsftpd  1390 root    3u  IPv4  18333      0t0  TCP *:ftp (LISTEN)

安装完成后可以在windows上面访问 ftp://ip(如下图)

安装客户端ftp

[root@localhost ~]# yum -y install ftp
Connected to 192.168.200.101 (192.168.200.101).
220 (vsFTPd 2.2.2)
Name (192.168.200.101:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,200,101,162,145).
150 Here comes the directory listing.
drwxr-xr-x    3 14       0            4096 Mar 25 01:12 pub
226 Directory send OK.
ftp> cd pub
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (192,168,200,101,135,230).
150 Here comes the directory listing.
drwxr-xr-x    2 14       50           4096 Mar 25 01:11 123
226 Directory send OK.
ftp> quit
221 Goodbye.

get 下载
put 上传

[root@localhost ~]# useradd u1
[root@localhost ~]# useradd u2
[root@localhost ~]# useradd u3
[root@localhost ~]# echo "123" | passwd --stdin u1
Changing password for user u1.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo "123" | passwd --stdin u2
Changing password for user u2.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo "123" | passwd --stdin u3
Changing password for user u3.
passwd: all authentication tokens updated successfully.


[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
local_enable=YES
write_enable=YES
local_umask=077
chroot_local_user=YES

[root@localhost ~]# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]

客户端所有用户登录测试。 

[root@localhost ~]# vim /etc/vsftpd/ftpusers 
u3   
客户端u3用户登录测试。    


[root@localhost ~]# tail -2 /etc/vsftpd/user_list
u1
u2

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES
userlist_deny=NO
[root@localhost ~]# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]   

**************
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES
userlist_deny=YES
[root@localhost ~]# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]    

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf   
listen=YES
listen_address=192.168.200.101
listen_port=21

pasv_enable=YES
pasv_min_port=25000
pasv_max_port=26000
[root@localhost ~]# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]  






[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vusers.txt 
mike
123
john
456

[root@localhost vsftpd]# rpm -q db4-utils
db4-utils-4.7.25-18.el6_4.x86_64
[root@localhost vsftpd]# 
[root@localhost vsftpd]# db_load -T -t hash -f vusers.txt vu.db
[root@localhost vsftpd]# chmod 600 vusers.txt vu.db
[root@localhost vsftpd]# ls -l vusers.txt vu.db
-rw------- 1 root root 12288 Mar 25 11:26 vu.db
-rw------- 1 root root    18 Mar 25 11:25 vusers.txt

[root@localhost vsftpd]# useradd -d /var/ftproot -s /sbin/nologin virtual
[root@localhost vsftpd]# chmod 755 /var/ftproot

[root@localhost vsftpd]# vim /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth       required     pam_userdb.so db=/etc/vsftpd/vu
account    required     pam_userdb.so db=/etc/vsftpd/vu

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vusers_dir

anonymous_enable=NO

[root@localhost vsftpd]# mkdir /etc/vsftpd/vusers_dir
[root@localhost vsftpd]# touch /etc/vsftpd/vusers_dir/mike
[root@localhost vsftpd]# vim /etc/vsftpd/vusers_dir/john 
anon_upload_enable=YES
anon_mkdir_write_enable=YES

[root@localhost ~]# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]  

注意:在主配置文件中删除如下3行:
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES


[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
dirmessage_enable=YES

[root@localhost vsftpd]# echo "---------hello,user---------" > /var/ftproot/.message

C:\Users\Crushlinux>ftp 192.168.200.101
连接到 192.168.200.101220 (vsFTPd 2.2.2)
用户(192.168.200.101:(none)): mike
331 Please specify the password.
密码:
230----------hello,user---------
230 Login successful.

猜你喜欢

转载自blog.csdn.net/redoop123/article/details/80074235