如果没有安装 yum install vsftpd
2.先关闭防火墙进行调试.
service iptables stop
或者一步到位 添加规则允许21端口通行
vi /etc/sysconfig/iptables
添加一条
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
为了让FLASHFXP之类的软件更好的连接服务器,得让VSFTPD支持被动模式才行:
b.防火墙配置开放:
-A INPUT -p tcp --dport 30000:30100 -j ACCEPT
重启防火墙即可
service iptables restart
这时应该可以用 winscp进行 SFTP连接了 ROOT帐户
现在开始设置FTP 默认的已经可以用匿名登录了
二。备份 etc/vsftpd/vsftpd.conf
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
编辑vsftpd.config文件 vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
设定不允许匿名用户访问。
为了让FLASHFXP之类的软件更好的连接服务器,得让VSFTPD支持被动模式才行,上面已经开通相应端口防火墙,在最后加入
pasv_enable=YES
pasv_max_port=30100
pasv_min_port=30000
(上面的30000--30100端口号可以是其它的,在此举例)
/usr/sbin/setenforce 0 立刻关闭 SELINUX
#mkdir /tmp/test //首先创建好目录
#adduser -d /tmp/test -g ftp -s /sbin/nologin test
//-s /sbin/nologin是让其不能登陆系统,-d 是指定用户目录为/tmp/test ,即该账户只能登陆ftp,却不能用做登陆系统用。-g 是指定为FTP用户组
#passwd test
Changing password for user beinan.//接下来会出现让你设置新的密码
**************************************************
【如果要删除用户,用下面代码:
userdel test //userdel + 用户 即可删除ftp用户】
***********************************************************
有必要的话 设置TEST目录权限
修改/var/www目录属性:
$ chmod -R 777 /var/www 递归地给此目录下所有文件和子目录的读、写、执行权限
$ chgrp -R ftp /var/www 递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组
三。接着 限制用户目录,不得改变目录到上级
修改/etc/vsftpd/vsftpd.conf
将这两行
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
注释去掉
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
新增一个文件: /etc/vsftpd/chroot_list
内容写需要限制的用户名:
test
重新启动vsftpd
# service vsftpd restart
四。最后为了防止服务器由于断电、重启等现象发生,导致ftp进程在开机后未启动,将其添加到开机启动文件中:
(1)找到/etc/rc.local文件
(2)打开该文件,在最后一行添加:service vsftpd start
(3)保存,退出
配置好yum源,后如下安装[root@localhost mnt]# yum list vsftpd
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Available Packages
vsftpd.x86_64 2.2.2-11.el6_4.1
[root@localhost mnt]# yum install vsftpd.x86_64
……
编辑配置文件vsftpd.conf
[root@localhost mnt]# cd /etc/vsftpd/
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak
[root@localhost vsftpd]# vim vsftpd.conf
做如下配置:
“#anonymous_enable=YES” 改成 “anonymous_enable=NO”
文件末尾新增:userlist_deny=NO
说明:仅允许userlist的用户访问ftp服务器
创建ftp用户
[root@localhost vsftpd]# useradd testacc
[root@localhost vsftpd]# passwd testacc
Changing password for user testacc.
New password:
BAD PASSWORD: it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost vsftpd]# echo testacc >>/etc/vsftpd/user_list
说明:也可以通过编辑配置文件user_list,在文件末尾新增添加的用户
重启ftp服务器
[root@localhost vsftpd]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: userlist_deny [FAILED]
出错了,原因:vim /etc/vsftpd.conf 时:每行的值都不要有空格,否则启动时会出现错误,可能是添加userlist_deny=NO时,NO后面多了空格,重新编辑,再试,OK。...
FlashFXP工具连接FTP服务器:
结果报错:500 OOPS:cannot change directory:/home/testacc
解决方法:
1、编辑/etc/vsftpd.conf,找到如下内容,做如下修改:
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
修改为如下:
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
新建/etc/vsftpd/chroot_list文件
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# touch chroot_list
[root@localhost vsftpd]# echo testacc >>chroot_list #写入添加的用户
2.
查看SELinux 的状态
[root@localhost vsftpd]# getsebool ftpd_disable_trans
Error getting active value for ftpd_disable_trans
[root@localhost vsftpd]# sestatus -b | grep ftp
allow_ftpd_anon_write off
allow_ftpd_full_access off
allow_ftpd_use_cifs off
allow_ftpd_use_nfs off
ftp_home_diroff
ftpd_connect_db off
ftpd_use_fusefs off
ftpd_use_passive_mode off
httpd_enable_ftp_server off
tftp_anon_write off
tftp_use_cifs off
tftp_use_nfsoff
结果如上, ftp_home_dir off,即SE关闭了ftp主目录,如下,将其设置为on
[root@localhost vsftpd]# setsebool -P ftp_home_dir on
说明:-P表示永久设置,不用每次开机后都重新设置。
3.重启ftp服务器
[root@localhost vsftpd]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd:[ OK ]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)