首页 windows软件 手机软件 驱动下载 电脑教程 专题合集
当前位置: 首页 > 电脑教程 > Linux教程 > linux配置vsftp教程精选集

linux配置vsftp教程精选集

时间:2013-12-17 14:51:47

小编:动力软件园

阅读:

 

对于linux的vsftp用户登录权限设置的问题简单提及一下,不做详细的描述。
使用vsftp可以分为三类登录方式
1、匿名用户登录
2、本地账户权限登录
3、虚拟用户登录

我们着重讲述一下第三种方式登录。www.pw88.com站长一直认为ftp是个不安全的工具,容易造成被黑客工具和利用。尽管也可以利用
本地账户权限设置的方式来进行用户分配,但是不太符合更为精细的应用。还是虚拟用户登录权限方面更加细致到位。


以下是具体的设置步骤:

安装VSFTP 我就不写了。网上教程很多,大家随便找一下看。

[root@CentOS5 /]# rpm -qa | grep vsftp

看一下是否安全。没有的话可以 在线 yum search vsftp   然后  yum install vsftp 安装

安装完成

1. 添加虚拟用户口令文件


[root@CentOS5 /]#vi /etc/vsftpd/vftpuser.txt

添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。

bobyuan #用户名

123456 #密码

www.pw88.com #用户名

123456 #密码

这里写了两个用户名,需要更多请在这里陆续向下添加

2. 生成虚拟用户口令认证文件

将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。

首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。


[root@CentOS5 /]#rpm –qa |grep db4-utils

[root@CentOS5 /]#rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm

下面使用db_load命令生成虚拟用户口令认证文件。


[root@CentOS5 /]#db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db

 

3. 编辑vsftpd的PAM认证文件

在/etc/pam.d目录下,


[root@CentOS5 /]#vi /etc/pam.d/vsftpd

将里面其他的都注释掉,添加下面这两行:



auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser

这里注意了,搭建完成后可能会出现 530 Login incorrect错误

很多“大神”都说是pam_service_name=vsftpd 缺少这句话,其实这句话默认就有,

所以问题定位为pam认证配置得不正确,将pam_userdb.so指定路径改为相对路径问题得以解决。

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/ftpusr
account required /lib/security/pam_userdb.so db=/etc/vsftpd/ftpusr

改为:


auth required pam_userdb.so db=/etc/vsftpd/ftpusr

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


4. 建立本地映射用户并设置宿主目录权限

所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。

[root@CentOS5 /]#useradd –d /home/vftpsite –s /sbin/nologin vftpuser

[root@CentOS5 /]#chmod 700 /home/vftpsite

vsftpd匿名用户新建目录提示:550 Create directory operation failed. 
chmod 700 /home/vftpsite这句话让我在后来的登陆后发现没有任何权限,只好改成777.www.pw88.com提醒大家留意问题。
解决办法:

1、如何禁止SELinux。

# vi /etc/selinux/config
修改为:SELINUX=disabled

如果不想重启系统的话,在终端中输入:setenforce 0。

重新启动vsftpd进程,问题解决。

不如直接删除这个恼人的SELinux

yum remove selinux* -y

这个世界终于清净了…

可能性二:

匿名用户的目录(/var/ftp/pub)没有写权限,需要将其设置为具有写权限。

首先转到/var/ftp

然后在终端中输入:chmod 777 pub。

也许就是这个问题绊倒了你,:-)




5. 配置vsftpd.conf(设置虚拟用户配置项)


[root@CentOS5 /]#vi /etc/vsftpd/vsftpd.conf

guest_enable=YES #开启虚拟用户

guest_username=vftpuser #FTP虚拟用户对应的系统用户

pam_service_name=vsftpd #PAM认证文件

 

6. 重启vsftpd服务


[root@CentOS5 /]#service vsftpd restart

 

7. 测试虚拟用户登录FTP



C:UserAdministrator>ftp 192.168.120.240

连接到192.168.120.240。

220 Welcome to BOB FTP server

用户(192.168.120.240(none)):markwang

331 Please specify the password.

密码:

230 Login successful.

8、对不同的虚拟用户设置不同的权限
在vsftpd.conf配置文件中添加user_config_dir配置项,并设置用户配置文件的保存目录
user_config_dir=/etc/vsftpd/vsftpd_user_conf (手工建立 虚拟用户配置文件)
这里这么配置的意思是可以把每个虚拟用户的配置文件单独存放,方便管理。
第一步是添加用户,这里是添加用户权限,每个用户一个文件方便管理。

local_root=www.pw88.com
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

ok了。修改服务conf文件需要restart vsftp服务,修改用户权限是不需要重启的 。随时生效。

相关阅读
  • web服务器下的ftp安装配置
    web服务器下的ftp安装配置
    在apahce服务器上集成vsftp,以及apache和vsftp虚拟账户的权限配置。
    时间:2019-01-25
  • vsftp安装配置笔记(二)--使用本地用户登录
    vsftp安装配置笔记(二)--使用本地用户登录
    打开vsftp.conf配置文件1、确保允许本地用户访问# Uncomment this to allow local users to log in.local_enable=YES 2、继续修改sftp.conf配置文件pam_service_name=vsft
    时间:2018-08-21
  • vsftp安装配置笔记(三)配置虚拟用户访问
    vsftp安装配置笔记(三)配置虚拟用户访问
    配置vsftpd服务器总体概要: 网上大把的vsftp服务配置教程,我看的晕乎乎的,需要用的时候很吃力的看一遍,配置完就忘记了。原因没有彻底理解vsftp服务的工作原理。
    时间:2018-08-21
  • VSFTP常见错误和解决办法
    VSFTP常见错误和解决办法
    错误:530 This FTP server is anonymous only vsftp服务器安装后默认不允许本地用户登录,出现该错误。需要修改vsftp配置文件。 解决: vi /etc/vsftpd.conf 将
    时间:2015-09-23
  • vsftp配置配置参数详解
    vsftp配置配置参数详解
    vsftp配置 参数配置 默认值 说明 anonymous_enable=YES YES 是
    时间:2015-09-22

火爆手游