redhat server配置FTP服务

                        配置FTP服务器(文件传输协议)

一:FTP介绍

Linux系统下常用的FTP是vsftp,即very security file transfer protocol.还有一个是proftp(profession ftp)。ftp是用于进行文件传输的网络协议,ftp服务中分为服务器和客户机两个角色;它的传输模式模式分为主动模式和被动模式;21端口用于与客户机建立命令链接,在主动模式下服务器用20端口向客户机建立数据链路。

 

Vsftp提供3种远程登录方式:

匿名登录方式:不需要用户名,密码。就能登录到服务器电脑里面。默认的匿名账户有两个:

anonymous,ftp。

本地用户方式:需要账户名和密码才能登录。而且这个账户和密码,都是在Linux系统里面已经有的用户。

虚拟用户方式:同样需要用户名和密码才能登录。但是和上面的区别就是,这个用户名和密码,是linux系统中没有的。

 

在Linux和window系统中都默认提供ftp服务;常用的windows客户端ftp软件:Leapftp,FlashFXP,CuteFTP;

 

二:Vsftp安装

1.我的Linux系统的默认没有安装,挂载光盘安装;查看安装rpm -qa vsftpd;

2.安装:rpm -ivh vsftpd-2.2.2-6.el6_0.1.x86_64.rpm(我的linux系统自带的安装包);

3.查看vsftpd是否开机自启动,两种方式:一个是利用setup命令,另一个是利用chkconfig命令chkconfig --list vsftpd;

4.修改配置文件/etc/vsftpd/vsftpd:

在文件末尾加上:

chroot_local_user=YES;  #将所有用户限定在它登录的目录内;

service vsftpd restart;

5.修改vsftpd的启动项:chkconfig --level 35 vsftpd on;然后service vsftpd start;

 最后关闭防火墙:service iptables stop ;setenforce 0;

6.测试匿名账户:在window下命令行中键入:ftp或anonymous即可登录ftp服务器,不用输入密码。默认登录的目录为/var/ftp目录;在这个目录我创建了一个文件1.txt,然后在window命令行中输入get 1.txt提示下载成功

7.测试本地账户:在window下键入:ftp 192.168.204.128,然后输入账户:zkpingguo,输入密码即可登录。我在zkpingguo目录下建了一个文件good.txt然后在window命令行中输入get good.txt,提示下载成功

8.ftpusers用于保存不允许登录到ftp服务器的账户。在目录/etc/vsftpd/下。

9.userlist用于保存某些账号允许登录或不允许登录。在目录/etc/vsftpd下。

 

 

 

 

10.vsftpd虚拟账号的设置步骤:(重要)

(1)建立虚拟用户口令库文件,口令库文件中奇数行设置用户名,偶数行设置口令。

(2)生成vsftpd的认证文件

(3)建立虚拟用户所需的PAM配置文件

(4)建立虚拟用户所要访问的目录并设置相应的权限

(5)设置vsftpd.conf配置文件

具体操作:

10.1:建立口令库文件,gedit logins.txt(在etc/vsftpd/目录下)

然后输入用户名和口令

10.2:生成vsftpd认证文件:利用db_load命令生成认证文件(如果没有安装,可以挂载光盘安装)

db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db;

chmod 600 vsftpd_login.db;(认证文件只对用户可读可写)

10.3:建立虚拟用户所需的PAM配置文件,进入/etc/pam.d目录下,建立PAM配置文件:

gedit vsftpd.vu;在该文件中键入:

auth required /lib64/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login

account required /lib64/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login

这里需要十分注意是lib64目录而不是lib目录。

10.4:建立虚拟用户所要访问的目录并设置相应的权限:

      useradd -d /home/ftpsite virtual(virual账号对应/home/ftpsite目录)

      chmod 700 /home/ftpsite/

10.5:设置vsftpd.conf配置文件,添加如下内容:

      guest_enable=YES

      guest_username=virtual 

      pam_service_name=vsftpd.vu

10.6:vsftpd服务重启:service vsftpd restart

10.7:在window中键入:ftp 192.168.204.128,然后键入logins.txt中用户名密码即可。

测试可以正常登陆,说明虚拟账号配置成功;但是有些操作受限。

10.8:为了系统的安全,缺省配置的虚拟用户只有较低的用户权限,这是可以对虚拟用户设置不同的权限。

建立vsftpd_user_conf目录:mkdir /etc/vsftpd_user_conf

修改vsftpd.conf,加入:user_config_dir=/etc/vsftpd_user_conf;

10.9:在window中键入:ftp 192.168.204.128,然后键入logins.txt中用户名密码即可。

测试可以正常登陆,然后键入:mkdir myvirtualdir;提示创建成功,然后在ftpsite目录下可以看到创建的myvirtualdir目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值