一、下载vsftpd软件
sudo apt-get install vsftpd
我这里已经是安装过了
二、配置vsftpdconf文件,这里是不允许匿名登录的情况
1、进入etc目录
cd /etc/
2、进入编辑
sudo vi vsftpdconf
3、去掉Listen=YES anonymous_enable=NO local_enable=YES write_enable=YES前面的#号
要注意的是,如果你没有涉及到ipv6地址,listen_ipv6=YES记得要注释掉,不然的话会出现connection refused,至少我是这样了TAT
4、在文件末尾插入
pasv_min_port=10060
pasv_max_port=10090
此为vsftpd被动模式(pasv)的端口范围
5、保存退出
三、添加FTP用户
1、在一个合适的地方创建文件夹,这个文件夹作为用户的根目录,并设置好权限。例如:/home/ubuntu/ftp
2、执行如下语句添加用户(username为用户名)
sudo useradd -d /home/ubuntu/ftp -s /bin/bash username
3、执行如下语句设置密码(username为用户名)
sudo passwd username
四、启动ftp服务
sudo service vsftpd start
五、Enjoy!
1、环境:ftp为vsftp。被限制用户名为test。被限制路径为/home/ftp2、建用户:在root用户下:useradd-d/home/ftptest//增加用户test,并制定test用户的主目录为/home/ftppasswdtest//为test设置密码3、更改用户相应的权限设置:(对于一般情况,简单添加一个用户的话,这一步,可以不要!!一般情况下,配置ftp也不需要这一步)usermod-s/sbin/nologintest//限定用户test不能telnet,只能ftpusermod-s/bin/bashtest//用户test恢复正常usermod-d/testtest//更改用户test的主目录为/test4,修改/etc/vsftpd/vsftpdconf文件如下:anonymous_enable=NO##Uncommentthistoallowlocaluserstologinlocal_enable=YES##UncommentthistoenableanyformofFTPwritecommandwrite_enable=YES最后在该文件的最后面添加如下行:userlist_enable=YESuserlist_deny=NOuserlist_file=/etc/vsftpd/vsftpduser_list最后保存/etc/vsftpd/vsftpdconf文件。5、限制用户只能访问/home/test,不能访问其他路径修改/etc/vsftpd/vsftpdconf如下:chroot_list_enable=YES//限制访问自身目录#(defaultfollows)chroot_list_file=/etc/vsftpd/vsftpdchroot_list编辑/etc/vsftpd/vsftpdchroot_list文件,将受限制的用户添加进去,每个用户名一行添加后如下:test/home/ftp编辑/etc/vsftpd/vsftpduser_list文件,将受限制的用户添加进去,每个用户名一行添加后如下:test改完配置文件,不要忘记重启vsFTPd服务器[root@linuxsir001root]#/etc/initd/vsftpdrestart启动后,在进行测试,使用本地用户test及其密码登录,成功。如果此时还不能执行写 *** 作或登录时出现其它错误,则要查看test用户对应的文件夹/home/ftp,test用户是否有对此文件夹的写权限。6、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:(对于一般情况,简单添加一个用户的话,这一步,可以不要!!一般情况下,配置ftp也不需要这一步)usermod-s/usr/bin/passwdtest//用户telnet后将直接进入改密界面在LINXU平台上使用的FTP软件有Wu-ftpd、Proftpd和vsftpd等。Wu-ftpd的历史悠久,是最流行的FTP服务器程序,稳定、出色,但发布较早,安全不及Proftpd及vsftpd。Proftpd在Wu-ftpd之后开发,安全性及稳定性有所提高。而vsftpd则是在Proftpd之后开发的,意为Very Sucure,吸取了Wu-ftpd和Proftpd的优点,安全性、速度、稳定性都有很大提高。RHEL4(AS)中vsftpd的RPM软件包在第1张光盘中,名为vsftpd-201-5i386rpm。默认情况下没有安装。Vsftpd的主配置文件是/etc/vsftpdconf。未修改的主配置文件去掉注释后如下(“;”后为解释):
anonymous_enable=YES ;是否允许匿名访问
local_enable=YES ;是否允许本地用户登录
write_enable=YES ;是否允许本地用户写入
local_umask=022 ;生向掩码(文件生成掩码),跟权限有关,我记不住了,有兴趣的朋友可以去查查,知道的朋友也请告诉我一下
dirmessage_enable=YES ;切换到FTP中的某目录时,是否显示该目录下的隐含文件“message”
xferlog_enable=YES ;是否启用启用上传和下载日志
connect_from_port_20=YES ;是否启用FTP数据端口的连接请求
xferlog_std_format=YES ;是否让FTP使用ftpd xferlog日志格式
pam_service_name=vsftpd ;设置PAM认证服务的配置文件,位于/etc/pamd目录下
userlist_enable=YES ;需与userlist_file配合使用,稍后介绍
listen=YES ;是否处于独立启动模式
tcp_wrappers=YES ;为YES时,以tcp_wrappers作为主机访问控制方式
(去掉后,vsftpd的配置文件就这么一点^_^。)
/etc/vsftpdftpusers保存着不允许进行FTP登录的用户帐户,通常是权限很高的用户,以提高FTP的安全。
至于/etc/vsftpduser_list文件,里面有说明:
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and do not even prompt for a password
# Note that the default vsftpd pam config also checks /etc/vsftpdftpusers
…………(后略)
前面说的userlist_enalbe就跟这有关(重点是第二、三行)
另外,/vsr/ftp是匿名用户的宿主目录
配置vsftpd的虚拟用户:
1 建立虚拟用户口令库文件(奇数行为用户名,偶数行为密码):
[root@localhostlocaldomain]cat vsftpd
abc
abc12321cba
efg
vsftpdconf
2 生成认证文件(db_load生成认证文件,“-f”用于指明虚拟用户的口令库文件,即:vsftpd *** 作中,口令库文件名可随便取“-t hash”指加密方式)
db_load -T -t hash -f vsftpd /etc/vsftpd/vsftpd_logindb
3.设置权限,以提高安全:
chmod 600 /etc/vsftpd/vsftpd_logindb
4 建立虚拟用户的PAM文件:
cat /etc/pamd/vsftpdvu
auth required /lib/security/pam_userdbso db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdbso db=/etc/vsftpd/vsftpd_login
5建立虚拟用户的目录,并设置相应权限:
useradd -d /home/vsftpd virtual
chmod 700 /home/vsftpd/
6 编辑vsftpd的配置文件:
vi /etc/vsftpd/vsftpdconf
guest_enable=yes
guest_username=virtual
pam_service_name=vsftpdvu
7 对虚拟用户设置不同权限:
vi /etc/vsftpd/vsftpdconf
user_config_dir=/etc/vsftpd_user_conf ;设置主配置文件
(:wq #保存退出)
mkdri /etc/vsftpd_user_conf
vi /etc/vsftpd_user_conf/abc ;为虚拟用户配置权限
anon_world_readable_only=no ;用户可以浏览目录并下载文件
anon_upload_enable=yes ;用户可以上传文件
anon_mkdir_write_enable=yes ;用户可以添加和删除目录
anon_other_write_enable=yes ;用户可以进行其它 *** 作,如改名、删除文件等。
(:wq)
service vsftpd restart
如果只想让用户下载的话,则配置为:
anon_world_readable_only=no
好了,自个儿看效果吧!!!
常见问题:
1无法匿名访问?
可能是vsftpdconf中的anonyoums_enable出的错,或者是你根本就没连接到服务器,也有可能是服务器的iptables出的问题(过滤掉了),这种情况下一般与selinux无关。还有就是服务未运行。
2创建的虚拟用户无法访问vsftpd?
原因或许是在创建虚拟用户的时候出的错,如果无法使用虚拟用户访问vsftpd的时候,建议先检查在创建虚拟用户时,打错什么字没有,如果还是没有检查出什么问题来的话,建议你直接推倒重做。还是一点差点忘记说了,就是在创建虚拟用户的时候,尽量将虚拟用户的密码设长一点、复杂一点,我在测试的时候,就是因为密码太短而几次没有成功。
3在cmd下用虚拟用户登录vsftpd时,出现“200 PORT command successful Consider using PASV”的字样是怎么回事啊?
你所访问的电脑上的防火墙在做怪!!!我就上过这个当!!!
4其它问题?
一般情况下,vsftpd出现问题大多数都是因为配置文件出错的,如果想要测试的话,建议在命令行了进行测试,当vsftpd出现问题时,它会在访问端的界面上显示原因。另外不成功的原因是因为服务器上的防火墙没有配置好。1、检查安装vsftpd软件
使用如下命令#rpm -qa |grep vsftpd可以检测出是否安装了vsftpd软件,
如果没有安装,使用YUM命令进行安装。
2、启动服务
使用vsftpd软件,主要包括如下几个命令:
启动ftp命令#service vsftpd start
停止ftp命令#service vsftpd stop
重启ftp命令#service vsftpd restart
3、vsftpd的配置
ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:
ftpusers 该文件用来指定那些用户不能访问ftp服务器。
user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp
vsftpdconf vsftpd的主配置文件
4、以匿名用户为例,我们去掉配置文件vsftpdconf 里面以下
anon_upload_enable=YES
anon_mkdir_write_enable=YES
两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)