Linux学习笔记9-ftp服务器

FTP服务器(VSFTPD):

    FTP(文本传输协议)

FTP服务的两种工作模式:

       主动模式:客户端从任意的n+1端口(n>1024)发送链接请求到服务器得21端口,客户端开始监听N+1,并发送FTP命令到port n+1端口到服务器,FTP服务器以数据端口(20)连接到客服端指定的数据端口(N+1)。

       被动模式:客户端从一个任意端口N(N>1024)链接到FTP服务器的port 21命令端口,客户端开始监听端口N+1,客户端提交pasv命令,服务器会开启一个任意的短裤(p>1024),并发送port p命令给客户端。客户端发起从本地端口N+1到服务器的端口P的链接用来发送数据。

搭建FTP服务器:

          安装FTP服务器:

                 yum install vsftpd* -y

                 

                启动服务,尝试登陆,默认是本地用户和匿名用户都可以登陆。

                

                输入ftp://192.168.176.4(我的ftp服务器IP)

                

                  再尝试用户登录

                  

                新建一个文件夹并到wanghcao的目录下去看看

               

                      

                     

              vsftpd服务认识:

                       /etc/vsftpd/vsftpd.conf  配置文件

                      /etc/vsftpd/ftpuser       用户配置文件   

                     /etc/vsftpd/userlist       用户配置文件

           FTP的匿名用户访问

                      修改配置文件/etc/vsftpd/vsftpd.conf加入如下内容:

                      anonymous=YES 匿名用户访问开启

                      anon_upload_enable=YES   允许匿名用户上传和下载

                      anon_mkdir_write_enbale=YES  允许匿名用户创建文件夹

                      anon_other_write_enable=YES    允许匿名用户其他写入权限。

                     

                     更改/var/vfstpd/pub用户为ftp,并且加上o+w权限

                      

                      

                     重启服务service vsftpd restart

                     

                     匿名用户访问配置完成

                      

             本地用户访问,最简单将anonymous改成NO即可。同时使用linux的用户即可登录

             配置虚拟用户登录

                首先配置虚拟用户登录需要使用到pam模块,安装三个软件

                #yum install pam* libdb* libdb-utils --skip-broken -y

                创建一个用户文件(名称和路径都可以自定义)写入用户名,和密码,例如

               vim /etc/vsftpd/viruser.txt

                

             

                 创建虚拟用户数据库

                  #db_load -T -t hash -f /etc/vsftpd/viruser.txt /etc/vsftpd/vir_login.db

                  #chmod 600 /etc/vsftpd/vir_login.db

                 

                 修改pam模块配置

                 #vim /etc/pam.d/vsftpd

                 将原来的内容全部注释掉,并添加如下两行(行与行之间不要有空格)(如果是32位才操作系统将pam_userdb.so改成/usr/lib/security/pam_userdb.so)

                 auth     required   pam_userdb.so       db=/etc/vstftpd/vir_login

                 account    required pam_userdb.so    db=/etc/vsftpd/vir_login

                 

                 创建虚拟用户的映射用户,此用户不需要登录

                  #useradd -s /sbin/nologin  ftpuser

                  

                修改vsftp配置文件

                 加入如下行

                 allow_writeable_chroot=YES(放到文件第一行) 禁锢至主目录

                 guest_enable=YES  虚拟用户登录开启

                 guest_username=ftpuser  虚拟用户映射用户

                 user_config_dir=/etc/vsftpd/vir_conf(自定义路径,这里是目录)虚拟用户配置文件目录

                 virtual_use_local_privs=yes  虚拟用户使用本地用户权限

               

              重启服务,至此已经可以实现虚拟用户登录并共用/home/ftpuser目录

              

            

            

              当然我们也可以为每个虚拟用户配置自己主目录

               #cat>/etc/vsftpd/vir_conf/wangch1<<EOF

               >local_root=/home/ftpuser/wangch1  虚拟用户wangch1的主目录

               >write_enable=YES                          写入权限打开

              >anon_world_readable_only=YES    允许用户下载,并读取文件

             >anon_upload_enable=YES               允许用户上传下载文件权限,只有wrtie_enable=YES是生效

              >anon_mkdir_write_enable=YES       允许用户创建文件

              >anon_other_write_enable=YES        允许用户的其他写入

              >EOF                

               

             创建虚拟用户主目录

             #mkdir /home/ftpuser/wangch1

             #cd /home

             #chown -R ftpuser:ftpuser ftpuser/

             至此wangch1登录时就会登录到自己主目录内。

            

                               

                 

                       

猜你喜欢

转载自www.cnblogs.com/juanNote/p/9382691.html
今日推荐