LInux之FTP服务搭建

  1. ftp工作模式:

1.1主动模式:

   FTP客户端连接到FTP服务端21端口,发送用户名和密码,客户端随机开放一个高位端口(1024以上),发送PORT命令到FTP服务端,告诉服务端客户端采用被动模式并开放端口,FTP服务端收到PORT主动模式命令和端口号后,通过20端口和客户端开放的端口连接,发送数据

2.2被动模式:

  FTP客户端连接到FTP服务端21端口,发送用户名和密码,发送PASV命令到FTP服务端,服务端再本地开启一个高位端口(1024以上),让后把开放的端口告诉客户端,客户端连接到服务端开放的端口进行数据传输。、

  1. Vsftp服务搭建:

yum install vsftpd -y # 安装vsftpd

    1. Vsftpd配置匿名用户上传下载(匿名用户默认访问/var/ftp/pub目录)

[root@Hadoop vsftpd]# sed -n '/^ano/p' vsftpd.conf

anonymous_enable=YES  # 允许你们用户登入

anon_upload_enable=YES # 允许匿名用户上传

anon_mkdir_write_enable=YES # 允许匿名用户读写和创建目录

       同时给/var/ftp/pub目录777权限

上传一个文件

    1. 配置用户名密码登入,修改配置文件vsftpd.conf

       [root@Hadoop vsftpd]# egrep -v "^$|^#" vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

local_root=/var/www/html

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

allow_writeable_chroot=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

2.2.1创建/etc/vsftpd/chroot_list文件(指定需要囚禁家目录的用户)

     User1

     User2

2.2.2给/var/www/html目录777权限,重启vsftpd并测试用户名登入

2.3 配置ftp不同用户囚禁于不同家目录

    anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

local_root=/var/www/html

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

allow_writeable_chroot=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

user_config_dir=/etc/vsftpd/userconfig

2.3.1 创建/etc/vsftpd/userconfig目录

     Echo “local_root=/var/www/html/user1” > /etc/vsftpd/userconfig/user1

     Echo “local_root=/var/www/html/user1” > /etc/vsftpd/userconfig/user2

2.3.2 注释/etc/pam.d/vsftpd中

     #auth       required      pam_shells.so

2.3.3 验证登入用户只能访问指定的目录

[root@Hadoop vsftpd]# useradd -s /sbin/nologin user1

[root@Hadoop vsftpd]# useradd -s /sbin/nologin user2

 

猜你喜欢

转载自blog.csdn.net/qq_40199698/article/details/88901828