首页 > 电脑教程 > 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服务,修改用户权限是不需要重启的 。随时生效。

相关阅读
排行榜

易学车老版本

实用工具 下载

天行健安卓版 v2.35770

手游软件 下载

三星PC套件 samsung kies 官方正式版 3.2.15041.2

手机工具 下载